changeset 69:8febbfb1148c

KDiff3 0.9.89
author joachim99
date Mon, 10 Apr 2006 08:40:51 +0000
parents d7cafcda8c99
children 5bbfe4784324
files kdiff3/COPYING kdiff3/ChangeLog kdiff3/INSTALL kdiff3/README kdiff3/TODO kdiff3/admin/Doxyfile.am kdiff3/admin/Doxyfile.global kdiff3/admin/Makefile.common kdiff3/admin/acinclude.m4.in kdiff3/admin/am_edit kdiff3/admin/bcheck.pl kdiff3/admin/compile kdiff3/admin/conf.change.pl kdiff3/admin/config.guess kdiff3/admin/config.pl kdiff3/admin/config.sub kdiff3/admin/configure.in.bot.end kdiff3/admin/configure.in.min kdiff3/admin/cvs.sh kdiff3/admin/debianrules kdiff3/admin/depcomp kdiff3/admin/deps.am kdiff3/admin/detect-autoconf.pl kdiff3/admin/do_make kdiff3/admin/doxygen.sh kdiff3/admin/install-sh kdiff3/admin/libtool.m4.in kdiff3/admin/ltmain.sh kdiff3/admin/missing kdiff3/admin/mkinstalldirs kdiff3/admin/oldinclude.m4.in kdiff3/admin/pkg.m4.in kdiff3/admin/ylwrap kdiff3/configure.in.in kdiff3/doc/Makefile.am kdiff3/doc/README kdiff3/doc/createpdfdoc kdiff3/doc/da/index.docbook kdiff3/doc/de/Makefile.am kdiff3/doc/de/index.docbook kdiff3/doc/en/common/artistic-license.html kdiff3/doc/en/common/bottom-left.png kdiff3/doc/en/common/bottom-middle.png kdiff3/doc/en/common/bottom-right.png kdiff3/doc/en/common/bsd-license.html kdiff3/doc/en/common/fdl-license.html kdiff3/doc/en/common/footer.html kdiff3/doc/en/common/gpl-license.html kdiff3/doc/en/common/header.html kdiff3/doc/en/common/headerbg.png kdiff3/doc/en/common/kde-default.css kdiff3/doc/en/common/kde-localised.css.template kdiff3/doc/en/common/kde_gear_64.png kdiff3/doc/en/common/kde_logo_bg.png kdiff3/doc/en/common/lgpl-license.html kdiff3/doc/en/common/mainfooter.html kdiff3/doc/en/common/mainheader.html kdiff3/doc/en/common/qpl-license.html kdiff3/doc/en/common/top-left.png kdiff3/doc/en/common/top-middle.png kdiff3/doc/en/common/top-right-konqueror.png kdiff3/doc/en/common/x11-license.html kdiff3/doc/en/dirbrowser.png kdiff3/doc/en/dirmergebig.png kdiff3/doc/en/index.docbook kdiff3/doc/en/iteminfo.png kdiff3/doc/en/letter_by_letter.png kdiff3/doc/en/merge_current.png kdiff3/doc/en/open_dialog.png kdiff3/doc/en/screenshot_diff.png kdiff3/doc/en/screenshot_merge.png kdiff3/doc/en/triple_diff.png kdiff3/doc/en/white_space.png kdiff3/doc/es/Makefile.am kdiff3/doc/es/index.docbook kdiff3/doc/et/index.docbook kdiff3/doc/fr/Makefile.am kdiff3/doc/fr/index.docbook kdiff3/doc/it/index.docbook kdiff3/doc/nl/Makefile.am kdiff3/doc/nl/index.docbook kdiff3/doc/pt/Makefile.am kdiff3/doc/pt/index.docbook kdiff3/doc/sv/index.docbook kdiff3/kdiff3.kdevelop kdiff3/po/README kdiff3/po/az.po kdiff3/po/bg.po kdiff3/po/br.po kdiff3/po/ca.po kdiff3/po/createqm kdiff3/po/cs.po kdiff3/po/cvsgetpo kdiff3/po/cy.po kdiff3/po/da.po kdiff3/po/de.po kdiff3/po/el.po kdiff3/po/en_GB.po kdiff3/po/es.po kdiff3/po/et.po kdiff3/po/fr.po kdiff3/po/ga.po kdiff3/po/hi.po kdiff3/po/hu.po kdiff3/po/is.po kdiff3/po/it.po kdiff3/po/ja.po kdiff3/po/ka.po kdiff3/po/lt.po kdiff3/po/nb.po kdiff3/po/nl.po kdiff3/po/pl.po kdiff3/po/pt.po kdiff3/po/pt_BR.po kdiff3/po/ro.po kdiff3/po/ru.po kdiff3/po/rw.po kdiff3/po/sr.po kdiff3/po/sr@Latn.po kdiff3/po/sv.po kdiff3/po/ta.po kdiff3/po/tg.po kdiff3/po/tr.po kdiff3/po/zh_CN.po kdiff3/src/Makefile.am kdiff3/src/Makefile.qt kdiff3/src/common.cpp kdiff3/src/common.h kdiff3/src/diff.cpp kdiff3/src/diff.h kdiff3/src/difftextwindow.cpp kdiff3/src/difftextwindow.h kdiff3/src/directorymergewindow.cpp kdiff3/src/directorymergewindow.h kdiff3/src/fileaccess.cpp kdiff3/src/fileaccess.h kdiff3/src/gnudiff_analyze.cpp kdiff3/src/gnudiff_diff.h kdiff3/src/gnudiff_io.cpp kdiff3/src/gnudiff_system.h kdiff3/src/gnudiff_xmalloc.cpp kdiff3/src/kdiff3.cpp kdiff3/src/kdiff3.desktop kdiff3/src/kdiff3.h kdiff3/src/kdiff3.lsm kdiff3/src/kdiff3.pro kdiff3/src/kdiff3_meta_unload.cpp kdiff3/src/kdiff3_part.cpp kdiff3/src/kdiff3_part.h kdiff3/src/kdiff3_shell.cpp kdiff3/src/kdiff3_shell.h kdiff3/src/kdiff3_shell.rc kdiff3/src/kdiff3part.desktop kdiff3/src/kreplacements/ShellContextMenu.cpp kdiff3/src/kreplacements/ShellContextMenu.h kdiff3/src/kreplacements/difftextwindow.moc kdiff3/src/kreplacements/konq_popupmenu.h kdiff3/src/kreplacements/kprinter.h kdiff3/src/kreplacements/kreplacements.cpp kdiff3/src/kreplacements/kreplacements.h kdiff3/src/kreplacements/kstandarddirs.h kdiff3/src/kreplacements/mergeresultwindow.moc kdiff3/src/kreplacements/smalldialogs.moc kdiff3/src/main.cpp kdiff3/src/merger.cpp kdiff3/src/merger.h kdiff3/src/mergeresultwindow.cpp kdiff3/src/mergeresultwindow.h kdiff3/src/optiondialog.cpp kdiff3/src/optiondialog.h kdiff3/src/pdiff.cpp kdiff3/src/smalldialogs.cpp kdiff3/src/smalldialogs.h kdiff3/src/version.h kdiff3/src/xpm/autoadvance.xpm kdiff3/src/xpm/currentpos.xpm kdiff3/src/xpm/down1arrow.xpm kdiff3/src/xpm/down2arrow.xpm kdiff3/src/xpm/downend.xpm kdiff3/src/xpm/fileprint.xpm kdiff3/src/xpm/iconA.xpm kdiff3/src/xpm/iconB.xpm kdiff3/src/xpm/iconC.xpm kdiff3/src/xpm/nextunsolved.xpm kdiff3/src/xpm/prevunsolved.xpm kdiff3/src/xpm/showequalfiles.xpm kdiff3/src/xpm/showfilesonlyina.xpm kdiff3/src/xpm/showfilesonlyinb.xpm kdiff3/src/xpm/showfilesonlyinc.xpm kdiff3/src/xpm/up1arrow.xpm kdiff3/src/xpm/up2arrow.xpm kdiff3/src/xpm/upend.xpm kdiff3/windows_installer/README_WIN.txt kdiff3/windows_installer/VERSION.NSI kdiff3/windows_installer/kdiff3.nsi
diffstat 192 files changed, 97922 insertions(+), 23790 deletions(-) [+]
line wrap: on
line diff
--- a/kdiff3/COPYING	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/COPYING	Mon Apr 10 08:40:51 2006 +0000
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+               51 Franklin Steet, Fifth Floor, Boston, MA  02111-1307  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
--- a/kdiff3/ChangeLog	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/ChangeLog	Mon Apr 10 08:40:51 2006 +0000
@@ -1,3 +1,49 @@
+Version 0.9.89 - 2006/04/09
+===========================
+New features:
+- Version control history auto merge plus sorting
+- Auto merge regular expression
+- Splitting and joining differences for merging
+- Manual Diff Alignment tool
+- Printing of differences
+- Colorsettings for Dir-Colors
+- Dir-show identical/different/A-only/B-only/C-only files with immediate effect (instead of option "List only deltas")
+- Filename-edit above DiffInputWindows
+- Windows-Context Menu in A/B/C-columns for dir-comparison (Windows only)
+- Edit Menu: Select All (Ctrl-A)
+- New commandline options: 
+  --config filename: Select an individual config file. (Now also available for Windows and Qt-only version.)
+  --cs config: Change one specific setting via the command line. (For settings that were previously adjustable via GUI only.)
+  --confighelp: Show available config items and their current values.
+- Dircomp: "Compare/Merge explicitly selected files" (Select files/dirs by clicking icons in columns A/B/C)
+- User definable ignored command line options.
+- Ability to swap pathnames in open dialog
+- "Ignore"-button in error dialog when option not understood (Windows only)
+- Quadratical scroll speedup during selection when mouse moves out of the diff input window.
+Bugfixes, redesign:
+- Preparations for Qt4-Port + some redesign
+- GNU-Diff algorithm improved to be independent of line endings (needed for manual diff alignment)
+- Avoid restoring a window where it is almost invisible (if moved almost out of the screen area)
+- Go to next delta honors special "A vs. B", "A vs. C" or "B vs. C" overview when active. (Patch by Vladan Bato)
+- DirectoryMergeWindow: File/Antifile and DirPattern changes will update immediately without rescan.
+- Blue toolbar icons (for better visibility of disabled state)
+- Bugfix: Crash when merging and selecting "Choose A/B/C for all unsolved conflicts"
+  and one of the solved conflicts contained no lines in chosen input.
+- Fix: With --auto option, GUI stays invisible if not necessary
+- Fixed odd ProgressDialog-behaviour when continuing after an error or abort.
+- Directory merge: Fixed FollowFileLinks. (Didn't work when copying a file.)
+- Initial position now (x=0,y=22). This solves a problem on some Macs.
+- Better alignment of B and C in 3-file comparison
+- Correctly updating the selection when scrolling via keys and mouse is pressed
+- Horizontal scrolling in right-to-left language caused vertical lines - fixed.
+
+
+Version 0.9.88 - 2005/25/02
+===========================
+- Fixed crash that occurred in Directory Comparison mode "Full-Analysis".
+- Fix for Windows: Didn't save encoding correctly.
+- Many translations updated.
+
 Version 0.9.87 - 2005/30/01
 ===========================
 - Unicode16 and UTF8 support (Internal data format is now QString (Unicode16). Conversion during save and load.)
--- a/kdiff3/INSTALL	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/INSTALL	Mon Apr 10 08:40:51 2006 +0000
@@ -2,6 +2,7 @@
 ==================
 
    These are generic installation instructions.
+   Please read the README-file for most needed steps first.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
--- a/kdiff3/README	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/README	Mon Apr 10 08:40:51 2006 +0000
@@ -1,9 +1,9 @@
 KDiff3-Readme
 =============
 
-Author: Joachim Eibl  (joachim.eibl@gmx.de)
-Copyright: (C) 2002-2005 by Joachim Eibl
-KDiff3-Version: 0.9.87
+Author: Joachim Eibl  (joachim.eibl at gmx.de)
+Copyright: (C) 2002-2006 by Joachim Eibl
+KDiff3-Version: 0.9.89
 
 
 KDiff3 is a program that
@@ -32,7 +32,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA  02111-1307  USA
 
     For details see file "COPYING".
 
@@ -45,12 +45,12 @@
 
 
 Requirements & Installation:
-   Version 0.9.87 provides special support for KDE3, but it can also be
+   Version 0.9.89 provides special support for KDE3, but it can also be
    built without KDE3 if the Qt-libraries are available.
    (I also test and use the program under Windows.)
 
    You always need
-      - kdiff3-0.9.87.tar.gz
+      - kdiff3-0.9.89.tar.gz
 
    For building the KDE3-version
       - KDE>=3.1 and QT>=3.1-libraries. (QT>=3.2 is recommended)
@@ -62,12 +62,17 @@
       - for Un*x:    gcc, g++ with version >=3.2
       - for Windows: VC6 / VC7.1
 
+   On some distributions it will be necessary to install developer
+   packages (RPMs) that contain include files for compilation:
+      - xorg-x11-devel (or x11-devel)
+      - qt-devel
+      - kdelibs-devel
 
 Installation for KDE3:
    - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
      If it doesn't contain the correct path, type
         export QTDIR=your_path_to_qt  (e.g. /usr/lib/qt3)
-   - cd into the directory kdiff3-0.9.87 and type
+   - cd into the directory kdiff3-0.9.89 and type
    - ./configure --prefix=/opt/kde3           (your KDE3 directory here)
    - (make clean)                    (Required if you already compiled once.)
    - make                            (Run compilation)
@@ -93,6 +98,25 @@
             executable. To avoid confusion, better remove the local version then.
             (rm -R `find $KDEHOME -name "*kdiff3*" -not -name "kdiff3*rc"`)
 
+   On Fedora-64-bit systems the following configure-line was reported to work:
+   ./configure --prefix=`kde-config --prefix` --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib/
+   Both --enable-libsuffix=64 and -with-qt-libraries=/usr/lib64/qt-3.3/lib/ are needed;
+   without the first one it fails to find the KDE libraries,
+   and without the second one it fails to find libqt-mt
+   (strangely enough: libqt-mt is in /usr/lib64/qt-3.3/lib, 
+   and "configure" tries /usr/lib64/qt-3.3/lib64)
+   If your qt-libraries are elsewhere please adapt the path accordingly.
+
+   Some secondary dependencies aren't correctly discovered by configure.
+   If e.g the a linker error appears telling you something like
+   "Can't find -lacl" this probably means that you have to install 
+   libacl-devel-*.rpm etc.
+
+   If you run an older version of KDE and the make-process fails in the
+   doc- or po-directory, cd to the src-directory and run "make" there. Also run 
+   "make install" there. This hopefully will create a working kdiff3-binary,
+   although without doc and language support.
+
 Upgrading KDiff3 for KDE:
    If you already installed an older version or KDiff3 and you have the 
    impression, that the new version doesn't work as described, you should try to 
@@ -108,7 +132,7 @@
    - Make sure your shell-variable QTDIR is correct. (echo $QTDIR).
      If it doesn't contain the correct path, type
         export QTDIR=your_path_to_qt  (e.g. /usr/lib/qt)
-   - cd into the directory kdiff3-0.9.87/src and type
+   - cd into the directory kdiff3-0.9.89/src and type
    - make -f Makefile.qt
    - make -f Makefile.qt install     (You must have root-rights for this step.)
      (copies the files into /usr/local/bin and /usr/local/share/doc/kdiff3)
@@ -123,13 +147,38 @@
      qmake kdiff3.pro -o Makefile
 
 
-Build for Mac:
-   - I couldn't test this, so you might have to experiment a bit.
-   - Start by generating a Makefile with
-   - qmake kdiff3.pro -o Makefile
-   - If you succeed, I'd like to know how, so I can document it here.
+Building Kdiff3 for Mac OSX 10.3.8 (by Mark Teel)
+--------------------------------------------------------
+   1) Install Qt/Mac with thread support and static libraries.
+   2) cd .../kdiff3-0.9.89
+   3) Create a makefile for kdiff3 by executing:
+      qmake src/kdiff3.pro -o Makefile.qt
+   4) Edit Makefile.qt and add the definition "KDIFF3" to the following two lines:
+      CFLAGS   = -pipe -Wall -W -Os  -DKDIFF3 -DQT_NO_DEBUG ...
+      CXXFLAGS = -pipe -Wall -W -Os  -DKDIFF3 -DQT_NO_DEBUG ...
+   5) Edit Makefile.qt and change the include path like so:
+      (old) INCPATH  = -I/Library/qt3/mkspecs/default -Isrc ...
+      (new) INCPATH  = -I/Library/qt3/mkspecs/macx-g++ -Isrc ...
+   6) KDiff3-0.9.88-specific: Edit src/kdiff3.cpp line 290 like this:
+         statusBar()->setSizeGripEnabled(true);
+   7) KDiff3-0.9.88-specific: (not necessary for 0.9.89 or later)
+      Edit /usr/include/mach/ppc/processor_info.h and replace all instances of
+      "unsigned int word" found in the four register unions (on lines 44, 65, 
+      74, 82) as follows:
+      (old)
+         unsigned int word;
+      (new)
+      #if defined(KDIFF3)
+         unsigned word;
+      #else
+         unsigned int word;
+      #endif
+   8) Execute:
+      make -f Makefile.qt
+   9) After the build completes copy kdiff3 from the kdiff3-0.9.89 directory to
+      /Applications
 
-   
+
 Start from commandline:
 - Comparing 2 files:     kdiff3 file1 file2
 - Merging 2 files:       kdiff3 file1 file2 -o outputfile
--- a/kdiff3/TODO	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/TODO	Mon Apr 10 08:40:51 2006 +0000
@@ -28,13 +28,10 @@
 - kdiff3 does not preserve the permissions of files it overwrites during a 'save' operation.
 
 - Insbesondere Ausführbarkeit "x" und Schreibschutz "w" sollten erhalten bleiben. 
-- Edit Select All, Ctrl-A
 
 - Under Windows: Shortcut Ctrl-Shift-2 (for select B everywhere doesn't work.)
 -                Paste from Clipboard doesn't work.
 
-- Improve message about WinCVS in the Installer.
-
 - Bug: Comment section isn't recognized as nonwhite difference if several lines are between /* and */ on one side.
 
 
@@ -43,15 +40,9 @@
 - ??? The gutters (kdiff3 have 2 "gutters") fonts and background-foreground colors sholud be configured other
   than the "general" foreground-background colors. Otherwise they are confused with the main dialog.
 
-- Unicode and UTF8 support
 - Try to autodetect the line-end-style
 - Ignore cvs-keywords like $Revision$
-- Correct Christof crash with the Find-function.
 
-- Windows: Check if folders can match case-insensitive.
-- Close diff/merge window-menu-action.
-
-- Printing of the diff-windows (requires automatic line wrap)
 - Undo function in the merge-editor.
 - More viewing options for directory widget.
 
@@ -93,3 +84,4 @@
 
 - Allow analysis of unified directory-diff/patch-file.
 
+- LineEdit for Save-Filename
--- a/kdiff3/admin/Doxyfile.am	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/Doxyfile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -1,70 +1,40 @@
 ## generate API documentation with doxygen
 apidox-am-yes:
+	@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$DOXDATA" ; then \
+		export DOXDATA=$(kde_libs_htmldir)/en/common ; \
+	fi ; \
+	abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
+	test -d $(top_builddir)/apidocs || \
+		( cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
+		--no-modulename --installdir=$(kde_libs_htmldir)/en \
+		--no-recurse $(abs_top_srcdir) . ) ; \
+	cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
+		--recurse --no-modulename --installdir=$(kde_libs_htmldir)/en \
+		$$abs_top_srcdir $(subdir)
+
+apidox-am-toplevel-yes:
+	@if test \! -d "$(top_srcdir)/doc/common/" && test -z "$$ADMIN" ; then \
+		export DOXDATA=$(kde_libs_htmldir)/en/common ; \
+	fi ; \
+	abs_top_srcdir=`cd $(top_srcdir) && pwd` ;\
+	cd $(top_builddir) && sh $$abs_top_srcdir/admin/doxygen.sh \
+		--no-modulename --installdir=$(kde_libs_htmldir)/en \
+		$$abs_top_srcdir
+
+## Don't generate API documentation without doxygen
+apidox-am-no:
+
+apidox-am-toplevel-no:
+
+
+apidox:
 	@if test "$(subdir)" != "."; then \
-		$(mkinstalldirs) $(top_builddir)/apidocs/$(subdir) ;\
-		if test ! -x $(top_builddir)/apidocs/common; then \
-			if test -d $(top_srcdir)/doc/common; then \
-			   common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\
-			else \
-	   		   common_dir=$(kde_libs_htmldir)/en/common ;\
-			fi ;\
-			$(LN_S) $$common_dir $(top_builddir)/apidocs/common; \
-		fi ;\
-		cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \
-		echo "PROJECT_NAME           = \"$(subdir) Library\"" >> Doxyfile; \
-		echo "PROJECT_NUMBER         = \"Version $(VERSION)\"" >> Doxyfile; \
-		echo "INPUT                  = $(srcdir)" >> Doxyfile; \
-		echo "IMAGE_PATH             = $(top_srcdir)/doc/api" >> Doxyfile ;\
-		echo "OUTPUT_DIRECTORY       = $(top_builddir)/apidocs" >> Doxyfile; \
-		echo "HTML_OUTPUT            = $(subdir)/html" >> Doxyfile; \
-		echo "HTML_HEADER            = $(top_builddir)/apidocs/common/header.html" >> Doxyfile;\
-		echo "HTML_FOOTER            = $(top_builddir)/apidocs/common/footer.html" >> Doxyfile;\
-		echo "HTML_STYLESHEET        = $(top_builddir)/apidocs/common/doxygen.css" >> Doxyfile;\
-		echo "LATEX_OUTPUT           = $(subdir)/latex" >> Doxyfile; \
-		echo "RTF_OUTPUT             = $(subdir)/rtf" >> Doxyfile; \
-		echo "MAN_OUTPUT             = $(subdir)/man" >> Doxyfile; \
-		echo "GENERATE_HTML          = $(GENERATE_FLAG)" >> Doxyfile ;\
-		echo "GENERATE_MAN          = $(GENERATE_FLAG)" >> Doxyfile ;\
-		echo "GENERATE_LATEX          = $(GENERATE_FLAG)" >> Doxyfile ;\
-		if test -n "$(DOXYGEN_EXCLUDE)"; then \
-			patterns= ;\
-			dirs= ;\
-			for item in `echo "$(DOXYGEN_EXCLUDE)"`; do \
-				if test -d "$(srcdir)/$$item"; then \
-					dirs="$$dirs $(srcdir)/$$item/" ;\
-			    	else \
-			        	patterns="$$patterns $$item" ;\
-				fi ;\
-			done ;\
-			echo "EXCLUDE_PATTERNS      += $$patterns" >> Doxyfile; \
-		    	echo "EXCLUDE               += $$dirs" >> Doxyfile ;\
-		fi ;\
-		echo "TAGFILES = \\" >> Doxyfile; \
-		tags='$(DOXYGEN_REFERENCES) qt'; for tag in $$tags; do \
-			tagpath= ;\
-			path="../../$$tag" ;\
-			if test -f $(top_builddir)/apidocs/$$tag/$$tag.tag; then \
-				tagpath="$(top_builddir)/apidocs/$$tag/$$tag.tag" ;\
-			else \
-				tagpath=`ls -1 $(kde_htmldir)/en/*-apidocs/$$tag/$$tag.tag 2> /dev/null` ;\
-				if test -n "$$tagpath"; then \
-					path=`echo $$tagpath | sed -e "s,.*/\([^/]*-apidocs\)/$$tag/$$tag.tag,../../../\1/$$tag,"` ;\
-				fi ;\
-			fi ;\
-			if test "$$tag" = qt; then \
-				echo $$tagpath=$(QTDOCDIR) >> Doxyfile ;\
-			else if test -n "$$tagpath"; then \
-				echo "$$tagpath=$$path/html \\" >> Doxyfile ;\
-			    fi ;\
-			fi ;\
-		done ;\
-		echo "GENERATE_TAGFILE       = $(top_builddir)/apidocs/$(subdir)/`basename $(subdir)`.tag" >> Doxyfile ;\
-		echo "IGNORE_PREFIX          = K" >> Doxyfile ;\
-		echo "HAVE_DOT = $(KDE_HAVE_DOT)" >> Doxyfile ;\
-		$(DOXYGEN) Doxyfile ;\
+		$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
+	else \
+		$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
 	fi
 
-apidox-am-no:
+
 
 install-data-local: install-apidox
 
@@ -83,13 +53,12 @@
 				$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
 		done; \
 		fi; \
-		rm -f $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \
-		$(LN_S) $(kde_libs_htmldir)/en/common $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \
 	else\
 		if test -d $(top_builddir)/apidocs; then \
 		$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\
 		list=`cd $(top_builddir)/apidocs && ls -1`; \
 		echo "installing $(top_builddir)/apidocs/$$file" ;\
+		echo "target directory $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
 		for file in $$list; do \
 			if test -f $(top_builddir)/apidocs/$$file; then \
 				$(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
@@ -111,65 +80,19 @@
 		fi\
 	fi
 
-apidox:
-	@if test "$(subdir)" != "."; then \
-		$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\
-	else \
-		$(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\
-	fi
+install-apidox-recurse: install-apidox
 	@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
 	    list='$(SUBDIRS)'; \
 	    for subdir in $$list; do \
-		if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \
-		echo "Making apidox in $$subdir"; \
+		if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \
+		echo "Installing apidox from $$subdir"; \
 		if test "$$subdir" != "."; then \
-			(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no apidox) || exit 1; \
-		fi ; fi ;\
-	    done; \
-	    for subdir in $$list; do \
-		if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \
-		echo "Making apidox in $$subdir"; \
-		if test "$$subdir" != "."; then \
-			(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=yes apidox) || exit 1; \
+			(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no install-apidox-recurse) || exit 1; \
 		fi ; fi ;\
 	    done; \
 	fi
 
-apidox-am-toplevel-no:
-apidox-am-toplevel-yes:
-	@echo "*** Creating API documentation main page"; \
-	cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \
-	echo "PROJECT_NAME           = \"$(DOXYGEN_PROJECT_NAME)\"" >> Doxyfile ; \
-	echo "PROJECT_NUMBER         = \"$(DOXYGEN_PROJECT_NUMBER)\"" >> Doxyfile ; \
-	echo "INPUT                  = $(top_srcdir)" >> Doxyfile ; \
-	echo "OUTPUT_DIRECTORY       = $(top_builddir)/apidocs" >> Doxyfile ; \
-	echo "FILE_PATTERNS          = *.dox" >> Doxyfile ; \
-	echo "RECURSIVE              = NO" >> Doxyfile ; \
-	echo "SOURCE_BROWSER         = NO" >> Doxyfile ; \
-	echo "ALPHABETICAL_INDEX     = NO" >> Doxyfile ; \
-	echo "HTML_OUTPUT            = ." >> Doxyfile ; \
-	echo "HTML_HEADER            = apidocs/common/mainheader.html" >> Doxyfile ; \
-	echo "HTML_FOOTER            = apidocs/common/mainfooter.html" >> Doxyfile ; \
-	echo "HTML_STYLESHEET        = apidocs/common/doxygen.css" >> Doxyfile ; \
-	echo "GENERATE_LATEX         = NO" >> Doxyfile ; \
-	echo "GENERATE_RTF           = NO" >> Doxyfile ; \
-	echo "GENERATE_MAN           = NO" >> Doxyfile ; \
-	echo "GENERATE_XML           = NO" >> Doxyfile ; \
-	echo "GENERATE_AUTOGEN_DEF   = NO" >> Doxyfile ; \
-	echo "ENABLE_PREPROCESSING   = NO" >> Doxyfile ; \
-	echo "CLASS_DIAGRAMS         = NO" >> Doxyfile ; \
-	echo "HAVE_DOT               = NO" >> Doxyfile ; \
-	echo "GENERATE_HTML          = YES" >> Doxyfile ;\
-	$(mkinstalldirs) $(top_builddir)/apidocs ; \
-	rm -f $(top_builddir)/apidocs/common ; \
-	if test -d $(top_srcdir)/doc/common; then \
-	   common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\
-	else \
-	   common_dir=$(kde_libs_htmldir)/en/common ;\
-	fi ;\
-	$(LN_S) $$common_dir $(top_builddir)/apidocs/common ;\
-	doxygen Doxyfile; \
-	rm -f Doxyfile
+
 
 .PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes
 
--- a/kdiff3/admin/Doxyfile.global	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/Doxyfile.global	Mon Apr 10 08:40:51 2006 +0000
@@ -1,386 +1,49 @@
-# Doxyfile 1.3.5
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = 
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ../apidocs/
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
-# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, 
-# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
 OUTPUT_LANGUAGE        = English
-
-# This tag can be used to specify the encoding used in the generated output. 
-# The encoding is not always determined by the language that is chosen, 
-# but also whether or not the output is meant for Windows or non-Windows users. 
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
-# forces the Windows encoding (this is the default for the Windows binary), 
-# whereas setting the tag to NO uses a Unix-style encoding (the default for 
-# all platforms other than Windows).
-
 USE_WINDOWS_ENCODING   = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
 BRIEF_MEMBER_DESC      = NO
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
 REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is used 
-# as the annotated text. Otherwise, the brief description is used as-is. If left 
-# blank, the following values are used ("$name" is automatically replaced with the 
-# name of the entity): "The $name class" "The $name widget" "The $name file" 
-# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
-
 ABBREVIATE_BRIEF       = 
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
 ALWAYS_DETAILED_SEC    = YES
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
-# members of a class in the documentation of that class as if those members were 
-# ordinary class members. Constructors, destructors and assignment operators of 
-# the base classes will not be shown.
-
 INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
 FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. It is allowed to use relative paths in the argument list.
-
 STRIP_FROM_PATH        = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
 SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
-
 JAVADOC_AUTOBRIEF      = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
 MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
-# documentation.
-
-DETAILS_AT_TOP         = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
 INHERIT_DOCS           = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
 DISTRIBUTE_GROUP_DOC   = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
 TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = obsolete=@deprecated
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
-# only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
 OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
-# only. Doxygen will then generate output that is more tailored for Java. 
-# For instance, namespaces will be presented as packages, qualified scopes 
-# will look different, etc.
-
 OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
 SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
 EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
 EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
 EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
 EXTRACT_LOCAL_CLASSES  = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
 HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
 HIDE_UNDOC_CLASSES     = YES
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
 HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
 HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
 INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# users are advised to set this option to NO.
-
 CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
 HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
 SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
 INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
+SORT_BRIEF_DOCS        = NO
+SORT_BY_SCOPE_NAME     = NO
 GENERATE_TESTLIST      = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
 GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
 GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
 ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
 MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
 SHOW_USED_FILES        = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
 QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
+WARNINGS               = NO
 WARN_IF_UNDOCUMENTED   = NO
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
 WARN_IF_DOC_ERROR      = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text.
-
 WARN_FORMAT            = 
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
 WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
 INPUT                  = 
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
-
 FILE_PATTERNS          = *.h \
                          *.cpp \
                          *.cc \
@@ -390,723 +53,140 @@
                          *.cxx \
                          *.h++ \
                          *.hh
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
 RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
 EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
 EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories.
-
 EXCLUDE_PATTERNS       = *.moc.* \
                          moc* \
                          *.all_cpp.* \
                          *unload.* \
                          */test/* \
-                         */tests/*
+                         */tests/* \
+                         *_p.h 
+EXAMPLE_PATH           = 
+EXAMPLE_PATTERNS       = 
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = 
+INPUT_FILTER           = 
+FILTER_SOURCE_FILES    = NO
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+VERBATIM_HEADERS       = YES
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 3
+HTML_OUTPUT            = 
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = ../apidocs/common/header.html
+HTML_FOOTER            = ../apidocs/common/footer.html
+HTML_STYLESHEET        = ../apidocs/common/doxygen.css
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+CHM_FILE               = 
+HHC_LOCATION           = 
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = YES
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = 
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         = 
+LATEX_HEADER           = 
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+GENERATE_RTF           = NO
+RTF_OUTPUT             = 
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    = 
+RTF_EXTENSIONS_FILE    = 
+GENERATE_MAN           = NO
+MAN_OUTPUT             = 
+MAN_EXTENSION          = .kde3
+MAN_LINKS              = YES
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             = 
+XML_DTD                = 
+XML_PROGRAMLISTING     = NO
+GENERATE_AUTOGEN_DEF   = NO
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX = 
+ENABLE_PREPROCESSING   = YES
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = 
+INCLUDE_FILE_PATTERNS  = 
+PREDEFINED             = QT_VERSION=320 \
+                         __cplusplus \
+                         Q_WS_X11
+EXPAND_AS_DEFINED      = 
+SKIP_FUNCTION_MACROS   = YES
+TAGFILES               = 
+GENERATE_TAGFILE       = 
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = NO
+PERL_PATH              = 
+CLASS_DIAGRAMS         = YES
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = NO
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+GRAPHICAL_HIERARCHY    = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = 
+DOTFILE_DIRS           = 
+MAX_DOT_GRAPH_WIDTH    = 800
+MAX_DOT_GRAPH_HEIGHT   = 1024
+MAX_DOT_GRAPH_DEPTH    = 0
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+SEARCHENGINE           = NO
 
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.
-
-INPUT_FILTER           = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 3
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = K
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = 
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = ../apidocs/common/header.html
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = ../apidocs/common/footer.html
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = ../apidocs/common/doxygen.css
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
+### KDE Settings
+ALIASES = \
+	"intern=\par<b>Internal use only.</b>" \
+	"reimp=\par<b>Reimplemented from superclass.</b>" \
+	"obsolete=@deprecated" \
+	"feature=\xrefitem features \"Feature(s)\" \"Features\"" \
+	"maintainer=\xrefitem maintainers \"Maintainer(s)\" \"Maintainers\"" \
+	"unmaintained=\xrefitem unmaintained \"Unmaintained\" \"Unmaintained\"" \
+	"requirement=\xrefitem requirements \"Requirement(s)\" \"Requirements\"" \
+	"faq=\xrefitem FAQ \"F.A.Q.\" \"F.A.Q.\"" \
+	"authors=\xrefitem authors \"Author(s)\" \"Authors\"" \
+	"FIXME=\xrefitem fixme \"Fixme\" \"Fixme\""
 
 HTML_ALIGN_MEMBERS     = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+VERBATIM_HEADERS       = NO
+GENERATE_HTML          = YES
+SOURCE_BROWSER         = YES
+GENERATE_AUTOGEN_DEF   = NO
+DETAILS_AT_TOP         = YES
+SORT_MEMBER_DOCS       = YES
+GENERATE_TODOLIST      = YES
+IGNORE_PREFIX          = K
+GENERATE_HTML          = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
 
-GENERATE_HTMLHELP      = NO
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
 
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = YES
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = 
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = 
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = 
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .kde3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed.
-
-PREDEFINED             = QT_VERSION=320 \
-                         __cplusplus
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse the 
-# parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off. Note that this 
-# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = NO
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
-# functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_WIDTH    = 800
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT   = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes that 
-# lay further from the root node will be omitted. Note that setting this option to 
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
-# note that a graph may be further truncated if the graph's image dimensions are 
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
--- a/kdiff3/admin/Makefile.common	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/Makefile.common	Mon Apr 10 08:40:51 2006 +0000
@@ -6,7 +6,7 @@
 
 SHELL=/bin/sh
 
-cvs dist cvs-clean configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4:
+cvs dist configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages:
 	@admindir=$(admindir); \
 	if test "x$$admindir" = x; then \
 	  admindir=.; until test -f $$admindir/admin/cvs.sh; do \
@@ -30,6 +30,8 @@
 configure.in: configure.files subdirs
 configure.files: subdirs
 
+svn: cvs
+
 .SILENT:
 
-.PHONY: cvs dist cvs-clean package-merge package-messages
+.PHONY: svn cvs dist package-merge package-messages
--- a/kdiff3/admin/acinclude.m4.in	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/acinclude.m4.in	Mon Apr 10 08:40:51 2006 +0000
@@ -16,8 +16,8 @@
 
 dnl    You should have received a copy of the GNU Library General Public License
 dnl    along with this library; see the file COPYING.LIB.  If not, write to
-dnl    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-dnl    Boston, MA 02111-1307, USA.
+dnl    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl    Boston, MA 02110-1301, USA.
 
 dnl IMPORTANT NOTE:
 dnl Please do not modify this file unless you expect your modifications to be
@@ -96,7 +96,7 @@
   # Don't add to $LIBS permanently.
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
-AC_TRY_LINK(, [${x_direct_test_function}()],
+AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
 [LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
 ac_x_libraries=],
@@ -173,8 +173,14 @@
 done
 ])
 
-dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
-dnl	if-not-found, test-parameter)
+dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
+dnl	if-not-found, test-parameter, prepend-path)
+dnl
+dnl Look for program-name in list-of-dirs+$PATH.
+dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
+dnl If found, $variable-name is set. If not, if-not-found is evaluated.
+dnl test-parameter: if set, the program is executed with this arg,
+dnl                 and only a successful exit code is required.
 AC_DEFUN([KDE_FIND_PATH],
 [
    AC_MSG_CHECKING([for $1])
@@ -186,12 +192,17 @@
         AC_CACHE_VAL(kde_cv_path_$kde_cache,
         [
         kde_cv_path="NONE"
-	dirs="$3"
 	kde_save_IFS=$IFS
 	IFS=':'
+	dirs=""
 	for dir in $PATH; do
 	  dirs="$dirs $dir"
-        done
+	done
+	if test -z "$6"; then  dnl Append dirs in PATH (default)
+	  dirs="$3 $dirs"
+        else  dnl Prepend dirs in PATH (if 6th arg is set)
+	  dirs="$dirs $3"
+	fi
 	IFS=$kde_save_IFS
 
         for dir in $dirs; do
@@ -533,41 +544,60 @@
 ])
 ])
 
+AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
+[
+    kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+    test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+    if test -n "$KDEDIRS"; then
+       kde_save_IFS=$IFS
+       IFS=:
+       for dir in $KDEDIRS; do
+            kde_default_bindirs="$dir/bin $kde_default_bindirs "
+       done
+       IFS=$kde_save_IFS
+    fi
+])
+
 AC_DEFUN([KDE_SUBST_PROGRAMS],
 [
     AC_ARG_WITH(arts,
-        AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]),
+        AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
         [build_arts=$withval],
         [build_arts=yes]
     )
-    AM_CONDITIONAL(include_ARTS, test "$build_arts" != "no")
-
-        kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
-        test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
-        if test -n "$KDEDIRS"; then
-           kde_save_IFS=$IFS
-           IFS=:
-           for dir in $KDEDIRS; do
-                kde_default_bindirs="$dir/bin $kde_default_bindirs "
-           done
-           IFS=$kde_save_IFS
-        fi
-        kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
+    AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
+    if test "$build_arts" = "no"; then
+        AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
+    fi
+
+        KDE_SET_DEFAULT_BINDIRS
+        kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
         KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
         KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
-        if test "$build_arts" != "no"; then
+        if test "$build_arts" '!=' "no"; then
           KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
           KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
         fi
-        KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
         KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
 
         kde32ornewer=1
+        kde33ornewer=1
         if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
             kde32ornewer=
+            kde33ornewer=
         else
-            if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then
+            if test "$kde_qtver" = "3"; then
+              if test "$kde_qtsubver" -le 1; then
                 kde32ornewer=
+              fi
+              if test "$kde_qtsubver" -le 2; then
+                kde33ornewer=
+              fi
+              if test "$KDECONFIG" != "compiled"; then
+                if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
+                  kde33ornewer=
+                fi
+              fi
             fi
         fi
 
@@ -575,9 +605,13 @@
             KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
             KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
         fi
-        KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [XMLLINT=""])
-
-        if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then  
+        if test -n "$kde33ornewer"; then
+            KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
+            AC_SUBST(MAKEKDEWIDGETS)
+        fi
+        KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
+
+        if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
  	    kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
             test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
             AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
@@ -601,26 +635,9 @@
         AC_SUBST(DCOP_DEPENDENCIES)
         AC_SUBST(MCOPIDL)
         AC_SUBST(ARTSCCONFIG)
-        AC_SUBST(KDECONFIG)
 	AC_SUBST(MEINPROC)
  	AC_SUBST(KDE_XSL_STYLESHEET)
 	AC_SUBST(XMLLINT)
-
-        if test -x "$KDECONFIG"; then # it can be "compiled"
-          kde_libs_prefix=`$KDECONFIG --prefix`
-          if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
-               AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
-                          This means it has been moved since you installed it.
-                          This won't work. Please recompile kdelibs for the new prefix.
-                          ])
-           fi
-           kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
-        else
-           kde_libs_prefix='$(prefix)'
-           kde_libs_htmldir='$(kde_htmldir)'
-        fi
-        AC_SUBST(kde_libs_prefix)
-        AC_SUBST(kde_libs_htmldir)
 ])dnl
 
 AC_DEFUN([AC_CREATE_KFSSTND],
@@ -755,9 +772,15 @@
    # more headers that need to be explicitly included on darwin
    AC_CHECK_HEADERS(sys/types.h stdint.h)
 
+   # sys/bitypes.h is needed for uint32_t and friends on Tru64
+   AC_CHECK_HEADERS(sys/bitypes.h)
+
    # darwin requires a poll emulation library
    AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
 
+   # for some image handling on Mac OS X
+   AC_CHECK_HEADERS(Carbon/Carbon.h)
+
    # CoreAudio framework
    AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
      AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
@@ -785,6 +808,7 @@
    KDE_CHECK_TYPES
    KDE_CHECK_LIBDL
    KDE_CHECK_STRLCPY
+   KDE_CHECK_PIE_SUPPORT
 
 # darwin needs this to initialize the environment
 AC_CHECK_HEADERS(crt_externs.h)
@@ -869,6 +893,9 @@
   kde_use_qt_mac=no
 )
 
+# used to disable x11-specific stuff on special platforms
+AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
+
 if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
 
 AC_MSG_CHECKING(for X)
@@ -964,7 +991,7 @@
   X_LDFLAGS="-L$x_libraries"
 fi
 all_includes="$X_INCLUDES"
-all_libraries="$X_LDFLAGS"
+all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
 
 # Check for libraries that X11R6 Xt/Xaw programs need.
 ac_save_LDFLAGS="$LDFLAGS"
@@ -1126,9 +1153,9 @@
 AC_DEFUN([KDE_USE_QT],
 [
 if test -z "$1"; then
-  # Current default Qt version: 3.2
+  # Current default Qt version: 3.3
   kde_qtver=3
-  kde_qtsubver=2
+  kde_qtsubver=3
 else
   kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
   # following is the check if subversion isnt found in passed argument
@@ -1152,12 +1179,16 @@
   if test "$kde_qtver" = "3"; then
     if test $kde_qtsubver -gt 0; then
 	 if test $kde_qtsubver -gt 1; then
-	    kde_qt_minversion=">= Qt 3.2"
+	    if test $kde_qtsubver -gt 2; then
+		kde_qt_minversion=">= Qt 3.3 and < 4.0"
+	    else
+	        kde_qt_minversion=">= Qt 3.2 and < 4.0"
+	    fi
 	 else
-            kde_qt_minversion=">= Qt 3.1 (20021021)"
+            kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
          fi
     else
-      kde_qt_minversion=">= Qt 3.0"
+      kde_qt_minversion=">= Qt 3.0 and < 4.0"
     fi
   fi
   if test "$kde_qtver" = "1"; then
@@ -1170,11 +1201,11 @@
 if test -z "$3"; then
    if test $kde_qtver = 3; then
      if test $kde_qtsubver -gt 0; then
-       kde_qt_verstring="QT_VERSION >= 0x03@VER@00"
+       kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
        qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
        kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
      else
-       kde_qt_verstring="QT_VERSION >= 300"
+       kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
      fi
    fi
    if test $kde_qtver = 2; then
@@ -1191,6 +1222,9 @@
    kde_qt_verstring="$3"
 fi
 
+if test $kde_qtver = 4; then
+  kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
+fi
 if test $kde_qtver = 3; then
   kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
 fi
@@ -1322,22 +1356,17 @@
   fi
 fi
 
-if test -z "$LIBQT"; then
 dnl ------------------------------------------------------------
 dnl If we got --enable-embedded then adjust the Qt library name.
 dnl ------------------------------------------------------------
-  if test "x$kde_use_qt_emb" = "xyes"; then
-    qtlib="qte"
-  else
-    qtlib="qt"
-  fi
-
-  kde_int_qt="-l$qtlib"
+if test "x$kde_use_qt_emb" = "xyes"; then
+  qtlib="qte"
 else
-  kde_int_qt="$LIBQT"
-  kde_lib_qt_set=yes
+  qtlib="qt"
 fi
 
+kde_int_qt="-l$qtlib"
+
 if test -z "$LIBQPE"; then
 dnl ------------------------------------------------------------
 dnl If we got --enable-palmtop then add -lqpe to the link line
@@ -1358,13 +1387,8 @@
 dnl ------------------------------------------------------------------------
 
 if test "x$kde_use_qt_mt" = "xyes"; then
-  if test -z "$LIBQT"; then
-    LIBQT="-l$qtlib-mt"
-    kde_int_qt="-l$qtlib-mt"
-  else
-    LIBQT="$qtlib-mt"
-    kde_int_qt="$qtlib-mt"
-  fi
+  LIBQT="-l$qtlib-mt"
+  kde_int_qt="-l$qtlib-mt"
   LIBQT_GLOB="lib$qtlib-mt.*"
   USING_QT_MT="using -mt"
 else
@@ -1542,7 +1566,7 @@
  QT_LDFLAGS=""
 else
  QT_LDFLAGS="-L$qt_libraries"
- all_libraries="$all_libraries $QT_LDFLAGS"
+ all_libraries="$QT_LDFLAGS $all_libraries"
 fi
 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
 
@@ -1619,7 +1643,15 @@
 
 AC_MSG_RESULT([$kde_cv_uic_plugins])
 if test "$kde_cv_uic_plugins" != yes; then
-	AC_MSG_ERROR([you need to install kdelibs first.])
+	AC_MSG_ERROR([
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs. 
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the 
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+])
 fi
 fi
 ])
@@ -1672,6 +1704,29 @@
   AC_SUBST(KDE_NO_UNDEFINED)
 ])
 
+dnl Check if the linker supports --enable-new-dtags and --as-needed
+AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
+[
+  AC_ARG_ENABLE(new_ldflags,
+		AC_HELP_STRING([--enable-new-ldflags],
+		[enable the new linker flags]),
+	kde_use_new_ldflags=$enableval, 
+	kde_use_new_ldflags=no)
+
+  LDFLAGS_AS_NEEDED=""
+  LDFLAGS_NEW_DTAGS=""
+  if test "x$kde_use_new_ldflags" = "xyes"; then
+       LDFLAGS_NEW_DTAGS=""
+       KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
+		[LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
+
+       KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
+		[LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
+  fi
+  AC_SUBST(LDFLAGS_AS_NEEDED)
+  AC_SUBST(LDFLAGS_NEW_DTAGS)
+])
+
 AC_DEFUN([KDE_CHECK_NMCHECK],
 [
   AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
@@ -1738,7 +1793,7 @@
 
 if test -z "$1"; then
 
-kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
+kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
 kde_incdirs="$ac_kde_includes $kde_incdirs"
 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
@@ -1750,7 +1805,7 @@
 So, check this please and use another prefix!])
 fi
 
-kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
+kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
@@ -1784,7 +1839,7 @@
     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
 fi
 
-else dnl test -z $1
+else dnl test -z $1, e.g. from kdelibs
 
   ac_cv_have_kde="have_kde=no"
 
@@ -1832,7 +1887,7 @@
  
 KDE_LDFLAGS="-L$kde_libraries"
 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
- all_libraries="$all_libraries $KDE_LDFLAGS"
+ all_libraries="$KDE_LDFLAGS $all_libraries"
 fi
 
 AC_SUBST(KDE_LDFLAGS)
@@ -2008,9 +2063,15 @@
    AC_REQUIRE([K_PATH_X])
 
 if test $kde_qtver = 3; then
+   case $host in 
+               *cygwin*) lib_kded="-lkdeinit_kded" ;;
+               *) lib_kded="" ;;
+       esac
+   AC_SUBST(LIB_KDED, $lib_kded)
    AC_SUBST(LIB_KDECORE, "-lkdecore")
    AC_SUBST(LIB_KDEUI, "-lkdeui")
    AC_SUBST(LIB_KIO, "-lkio")
+   AC_SUBST(LIB_KJS, "-lkjs")
    AC_SUBST(LIB_SMB, "-lsmb")
    AC_SUBST(LIB_KAB, "-lkab")
    AC_SUBST(LIB_KABC, "-lkabc")
@@ -2020,6 +2081,10 @@
    AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
    AC_SUBST(LIB_KUTILS, "-lkutils")
    AC_SUBST(LIB_KDEPIM, "-lkdepim")
+   AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
+   AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
+   AC_SUBST(LIB_KDNSSD, "-lkdnssd")
+   AC_SUBST(LIB_KUNITTEST, "-lkunittest")
 # these are for backward compatibility
    AC_SUBST(LIB_KSYCOCA, "-lkio")
    AC_SUBST(LIB_KFILE, "-lkio")
@@ -2273,6 +2338,19 @@
 	[MKSTEMPS])
 ])
 
+AC_DEFUN([AC_CHECK_MKSTEMP],
+[
+	KDE_CHECK_FUNC_EXT(mkstemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+	[
+mkstemp("/tmp/aaaXXXXXX");
+],
+	[int mkstemp(char *)],
+	[MKSTEMP])
+])
+
 AC_DEFUN([AC_CHECK_MKDTEMP],
 [
 	KDE_CHECK_FUNC_EXT(mkdtemp, [
@@ -2312,23 +2390,16 @@
   LIBS=$kde_libs_safe
   AC_SUBST(LIBRESOLV)
 
-  AC_MSG_CHECKING([if res_init is available])
-  AC_TRY_COMPILE(
+  KDE_CHECK_FUNC_EXT(res_init,
     [
 #include <sys/types.h>
 #include <netinet/in.h>
 #include <arpa/nameser.h>
 #include <resolv.h>
     ],
-    [
-      res_init();
-    ],
-    [
-      AC_MSG_RESULT(yes)
-      AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
-    ],
-    [ AC_MSG_RESULT(no) ]
-  )
+    [res_init()],
+    [int res_init(void)],
+    [RES_INIT])
 ])
 
 AC_DEFUN([AC_CHECK_STRLCPY],
@@ -2356,6 +2427,38 @@
 	[STRLCAT])
 ])
 
+AC_DEFUN([AC_CHECK_RES_QUERY],
+[
+	KDE_CHECK_FUNC_EXT(res_query, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+#include <netdb.h>
+],
+[
+res_query(NULL, 0, 0, NULL, 0);
+],
+	[int res_query(const char *, int, int, unsigned char *, int)],
+	[RES_QUERY])
+])
+
+AC_DEFUN([AC_CHECK_DN_SKIPNAME],
+[
+	KDE_CHECK_FUNC_EXT(dn_skipname, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+],
+[
+dn_skipname (NULL, NULL);
+],
+	[int dn_skipname (unsigned char *, unsigned char *)],
+	[DN_SKIPNAME])
+])
+
+
 AC_DEFUN([AC_FIND_GIF],
    [AC_MSG_CHECKING([for giflib])
 AC_CACHE_VAL(ac_cv_lib_gif,
@@ -2400,22 +2503,16 @@
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
 AC_TRY_LINK(
-[/* Override any gcc2 internal prototype to avoid an error.  */
-struct jpeg_decompress_struct;
-typedef struct jpeg_decompress_struct * j_decompress_ptr;
-typedef int size_t;
+[
 #ifdef __cplusplus
 extern "C" {
 #endif
-    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
-                                    int version, size_t structsize);
+void jpeg_CreateDecompress();
 #ifdef __cplusplus
 }
 #endif
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
 ],
-            [jpeg_CreateDecompress(0L, 0, 0);],
+[jpeg_CreateDecompress();],
             eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
             eval "ac_cv_lib_jpeg_$1=no")
 LIBS="$ac_save_LIBS"
@@ -2622,6 +2719,73 @@
 AC_SUBST(LIBTIFF)
 ])
 
+AC_DEFUN([KDE_FIND_LIBEXR],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_CACHE_VAL(ac_cv_libexr,
+[
+  if test -z "$PKG_CONFIG"; then
+    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+  fi
+
+  AC_MSG_CHECKING([for OpenEXR libraries])
+
+  if test "$PKG_CONFIG" = "no" ; then
+     AC_MSG_RESULT(no)
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     if !(`$PKG_CONFIG --exists OpenEXR`) ; then
+        AC_MSG_RESULT(no)
+        EXRSTATUS=no
+     else
+        if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then
+           AC_MSG_RESULT(no)
+           EXRSTATUS=old
+        else
+           kde_save_LIBS="$LIBS"
+           LIBS="$LIBS $all_libraries $USER_LDFLAGS $LIBZ `pkg-config --libs OpenEXR`"
+           AC_LANG_SAVE
+           AC_LANG_CPLUSPLUS
+           kde_save_CXXFLAGS="$CXXFLAGS"
+           EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
+           CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
+
+           AC_TRY_LINK(dnl
+               [
+               #include <ImfRgbaFile.h>
+               ],
+               [
+               using namespace Imf;
+               RgbaInputFile file ("dummy");
+               return 0;
+               ],
+               eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
+               eval "ac_cv_libexr=no"
+           )
+           LIBS="$kde_save_LIBS"
+           CXXFLAGS="$kde_save_CXXFLAGS"
+           AC_LANG_RESTORE
+           ])dnl
+           if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
+               AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
+               LIB_EXR="$ac_cv_libexr"
+               AC_MSG_RESULT($ac_cv_libexr)
+           else
+               AC_MSG_RESULT(no)
+               LIB_EXR=""
+           fi
+        fi
+     fi
+  fi
+  AC_SUBST(LIB_EXR)
+  AC_SUBST(EXR_FLAGS)
+])
+
+
 
 AC_DEFUN([AC_FIND_PNG],
 [
@@ -2761,6 +2925,32 @@
 fi
 ])
 
+AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CC supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
+[
+  AC_LANG_SAVE
+  AC_LANG_C
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -$1"
+  AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
+  CFLAGS="$save_CFLAGS"
+  AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+
 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
 dnl it's all white-space separated
@@ -2784,6 +2974,47 @@
   fi
 ])
 
+
+AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
+[
+  AC_MSG_CHECKING([whether $CC is blacklisted])
+
+  dnl In theory we have tu run this test against $CC and $CXX
+  dnl in C and in C++ mode, because its perfectly legal for
+  dnl the user to mix compiler versions, since C has a defined
+  dnl ABI. 
+  dnl 
+  dnl For now, we assume the user is not on crack.
+
+  AC_TRY_COMPILE([
+#ifdef __GNUC__
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
+choke me
+#endif
+#endif
+], ,
+  kde_bad_compiler=no, 
+  kde_bad_compiler=yes
+)
+
+  AC_MSG_RESULT($kde_bad_compiler)
+
+if test "$kde_bad_compiler" = "yes"; then
+  AC_MSG_ERROR([
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version. 
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+])
+fi
+
+])
+
 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
 AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
 [dnl
@@ -2837,7 +3068,7 @@
     fi
    ], [kde_use_strict_options="no"])
 
-  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]),
+  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
    [
     if test $enableval = "no"; then
          kde_use_warnings="no"
@@ -2893,6 +3124,8 @@
 
   AC_PROG_CXX
 
+  KDE_CHECK_FOR_BAD_COMPILER
+
   if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
     if test "$kde_use_debug_code" != "no"; then
       if test "$CXX" = "KCC"; then
@@ -2932,43 +3165,71 @@
 
   if test "$kde_use_warnings" = "yes"; then
       if test "$GCC" = "yes"; then
+        CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
         case $host in
           *-*-linux-gnu)	
-            CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
+            CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
             CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS"
-            KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"; CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
+            KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
+            KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
           ;;
         esac
-        CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
         KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
         KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
-        KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
+        dnl ### FIXME: revert for KDE 4
+        KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
      fi
   fi
 
   if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
     CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
   fi
-    
+
+  AC_ARG_ENABLE(pch,
+     AC_HELP_STRING([--enable-pch],
+                    [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
+    [ kde_use_pch=$enableval ],[ kde_use_pch=no ])
+ 
+  HAVE_GCC_VISIBILITY=0
+  AC_SUBST([HAVE_GCC_VISIBILITY])
+
   if test "$GXX" = "yes"; then
     KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
     KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
     KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
     KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS=	)
+    ENABLE_PERMISSIVE_FLAG="-fpermissive"
+
+    if test "$kde_use_pch" = "yes"; then
+        AC_MSG_CHECKING(whether gcc supports precompiling c header files)
+        echo >conftest.h
+        if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
+            kde_gcc_supports_pch=yes
+            AC_MSG_RESULT(yes)
+        else
+            kde_gcc_supports_pch=no
+            AC_MSG_RESULT(no)
+        fi
+        if test "$kde_gcc_supports_pch" = "yes"; then
+            AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
+            if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
+                kde_gcc_supports_pch=yes
+                AC_MSG_RESULT(yes)
+            else
+                kde_gcc_supports_pch=no
+                AC_MSG_RESULT(no)
+            fi
+        fi
+        rm -f conftest.h conftest.h.gch
+    fi
   fi
+  AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
   if test "$CXX" = "KCC"; then
     dnl unfortunately we currently cannot disable exception support in KCC
     dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
     dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
     dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS=	)
 
-    AC_ARG_ENABLE(pch,
-	AC_HELP_STRING([--enable-pch],
-		       [enables precompiled header support (currently only KCC) [default=no]]),
-    [
-      kde_use_pch=$enableval
-    ],[kde_use_pch=no])
- 
     if test "$kde_use_pch" = "yes"; then
       dnl TODO: support --pch-dir!
       KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
@@ -3023,9 +3284,27 @@
   fi
   KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
 
+  AC_ARG_ENABLE(coverage,
+    AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
+      if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
+        ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+        ac_coverage_linker="-lgcc"
+      elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
+        ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+        ac_coverage_linker=""
+      else
+        AC_MSG_ERROR([coverage with your compiler is not supported])
+      fi
+      CFLAGS="$CFLAGS $ac_coverage_compiler"
+      CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
+      LDFLAGS="$LDFLAGS $ac_coverage_linker"
+    ])
+
   AC_SUBST(NOOPT_CXXFLAGS)
   AC_SUBST(NOOPT_CFLAGS)
-
+  AC_SUBST(ENABLE_PERMISSIVE_FLAG)
+
+  KDE_CHECK_NEW_LDFLAGS
   KDE_CHECK_FINAL
   KDE_CHECK_CLOSURE
   KDE_CHECK_NMCHECK
@@ -3033,6 +3312,114 @@
   ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
 ])
 
+AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
+  [
+    AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
+      [
+        AC_LANG_SAVE
+        AC_LANG_CPLUSPLUS
+
+        safe_CXXFLAGS=$CXXFLAGS
+        safe_LDFLAGS=$LDFLAGS
+        CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
+        LDFLAGS="$LDFLAGS -shared -fPIC"
+
+        AC_TRY_LINK(
+        [
+          /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
+	  #include <string>
+          int some_function( void ) __attribute__ ((visibility("default")));
+          int some_function( void )
+          {
+	    std::string s("blafasel");
+            return 0;
+          }
+        ], [/* elvis is alive */],
+        kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
+
+        CXXFLAGS=$safe_CXXFLAGS
+        LDFLAGS=$safe_LDFLAGS
+        AC_LANG_RESTORE
+      ]
+    )
+
+    if test x$kde_cv_val_gcc_visibility_bug = xno; then
+      CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+    fi
+  ]
+)
+
+AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
+[
+  AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
+
+  AC_MSG_CHECKING([grepping for visibility push/pop in headers])
+
+  if test "x$GXX" = "xyes"; then
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    AC_EGREP_CPP(
+       [GCC visibility push],
+       [ #include <exception> 
+       ], 
+    [
+      AC_MSG_RESULT(yes)
+      kde_stdc_visibility_patched=yes ],
+    [ 
+      AC_MSG_RESULT(no)
+      AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for 
+                   visibility support. Disabling -fvisibility=hidden])
+
+      kde_stdc_visibility_patched=no ])
+
+    AC_LANG_RESTORE
+
+    kde_have_gcc_visibility=no
+    KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, 
+    [
+      kde_have_gcc_visibility=yes
+      dnl the whole toolchain is just a mess, gcc is just too buggy
+      dnl to handle STL with visibility enabled. Lets reconsider 
+      dnl when gcc 4.2 is out or when things get fixed in the compiler.
+      dnl Contact mueller@kde.org for details.
+      AC_ARG_ENABLE(gcc-hidden-visibility,
+        AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
+          [kde_have_gcc_visibility=$enableval],
+          [kde_have_gcc_visibility=no])
+
+      AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
+        [
+          AC_LANG_SAVE
+          AC_LANG_CPLUSPLUS
+
+          safe_CXXFLAGS=$CXXFLAGS
+          CXXFLAGS="$CXXFLAGS $all_includes"
+
+          AC_TRY_COMPILE(
+          [
+#include <qglobal.h>
+#if Q_EXPORT - 0 != 0
+/* if this compiles, then Q_EXPORT is undefined */
+/* if Q_EXPORT is nonempty, this will break compilation */
+#endif
+          ], [/* elvis is alive */],
+          kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
+
+          CXXFLAGS=$safe_CXXFLAGS
+          AC_LANG_RESTORE
+        ]
+      )
+
+      if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then
+        CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+        KDE_CHECK_VISIBILITY_GCC_BUG
+        HAVE_GCC_VISIBILITY=1
+        AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+      fi
+    ])
+  fi
+])
+
 AC_DEFUN([KDE_ADD_DEPENDENCIES],
 [
    [A]M_DEPENDENCIES(CC)
@@ -3060,13 +3447,20 @@
 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
 AC_SUBST(KDE_PLUGIN)
 
+# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
+KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
+AC_SUBST(KDE_CHECK_PLUGIN)
+
 # we patch configure quite some so we better keep that consistent for incremental runs 
 AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
 ])
 
 AC_DEFUN([KDE_CHECK_LIB64],
 [
-    kdelibsuff=no
+    kdelibsuff="$kde_libs_suffix"
+    if test -z "$kdelibsuff"; then
+       kdelibsuff=no
+    fi
     AC_ARG_ENABLE(libsuffix,
         AC_HELP_STRING([--enable-libsuffix],
             [/lib directory suffix (64,32,none[=default])]),
@@ -3084,7 +3478,7 @@
             libdir="$libdir${kdelibsuff}"
             AC_SUBST([libdir], ["$libdir"])  dnl ugly hack for lib64 platforms
         fi
-        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
+        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
         AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
     fi
 ])
@@ -3096,6 +3490,7 @@
   AC_CHECK_SIZEOF(char *, 4)dnl
 ])dnl
 
+dnl Not used - kept for compat only?
 AC_DEFUN([KDE_DO_IT_ALL],
 [
 AC_CANONICAL_SYSTEM
@@ -3118,7 +3513,11 @@
 
 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
 
-  KDE_RPATH="-R \$(kde_libraries)"
+  KDE_RPATH="-R \$(libdir)"
+
+  if test "$kde_libraries" != "$libdir"; then
+      KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
+  fi
 
   if test -n "$qt_libraries"; then
     KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
@@ -3139,40 +3538,56 @@
 ])
 
 dnl Check for the type of the third argument of getsockname
-AC_DEFUN([AC_CHECK_SOCKLEN_T], [
-  AC_MSG_CHECKING(for socklen_t)
-  AC_CACHE_VAL(ac_cv_socklen_t, [
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-    AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>
-      ],[
-socklen_t a=0;
-getsockname(0,(struct sockaddr*)0, &a);
+AC_DEFUN([AC_CHECK_SOCKLEN_T],
+[
+   AC_MSG_CHECKING(for socklen_t)
+   AC_CACHE_VAL(kde_cv_socklen_t,
+   [
+      AC_LANG_PUSH(C++)
+      kde_cv_socklen_t=no
+      AC_TRY_COMPILE([
+         #include <sys/types.h>
+         #include <sys/socket.h>
       ],
-      ac_cv_socklen_t=socklen_t,
-      AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>
-        ],[
-int a=0;
-getsockname(0,(struct sockaddr*)0, &a);
-        ],
-        ac_cv_socklen_t=int,
-        ac_cv_socklen_t=size_t
-      )
-    )
-    AC_LANG_RESTORE
-  ])
-
-  AC_MSG_RESULT($ac_cv_socklen_t)
-  if test "$ac_cv_socklen_t" != "socklen_t"; then
-    AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
-        [Define the real type of socklen_t])
-  fi
-  AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
-
+      [
+         socklen_t len;
+         getpeername(0,0,&len);
+      ],
+      [
+         kde_cv_socklen_t=yes
+         kde_cv_socklen_t_equiv=socklen_t
+      ])
+      AC_LANG_POP(C++)
+   ])
+   AC_MSG_RESULT($kde_cv_socklen_t)
+   if test $kde_cv_socklen_t = no; then
+      AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
+      AC_CACHE_VAL(kde_cv_socklen_t_equiv,
+      [
+         kde_cv_socklen_t_equiv=int
+         AC_LANG_PUSH(C++)
+         for t in int size_t unsigned long "unsigned long"; do
+            AC_TRY_COMPILE([
+               #include <sys/types.h>
+               #include <sys/socket.h>
+            ],
+            [
+               $t len;
+               getpeername(0,0,&len);
+            ],
+            [
+               kde_cv_socklen_t_equiv="$t"
+               break
+            ])
+         done
+         AC_LANG_POP(C++)
+      ])
+      AC_MSG_RESULT($kde_cv_socklen_t_equiv)
+   fi
+   AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
+                     [type to use in place of socklen_t if not defined])
+   AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
+                     [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
 ])
 
 dnl This is a merge of some macros out of the gettext aclocal.m4
@@ -3464,7 +3879,8 @@
       ac_save_ldflags="$LDFLAGS"
       ac_save_cflags="$CFLAGS"
       ac_save_libs="$LIBS"
-      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
+      LIBS="-lX11 -lXext $LIBSOCKET"
       CFLAGS="$CFLAGS $X_INCLUDES"
       test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
       AC_TRY_LINK([
@@ -3475,12 +3891,7 @@
 	  int foo_test_dpms()
 	  { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
 	  ac_cv_have_dpms="yes", [
-              LDFLAGS="$ac_save_ldflags"
-              CFLAGS="$ac_save_cflags"
-              LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
-              LIBS="$LIBS -lXdpms"
-              CFLAGS="$CFLAGS $X_INCLUDES"
-              test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+              LIBS="-lXdpms $LIBS"
               AC_TRY_LINK([
 	          #include <X11/Xproto.h>
         	  #include <X11/X.h>
@@ -3529,12 +3940,14 @@
    [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
  AC_CHECK_DECL(DPMSCapable,
    AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
-   [#include <X11/extensions/dpms.h>])
+   [#include <X11/Xlib.h>
+   #include <X11/extensions/dpms.h>])
  AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
    [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
  AC_CHECK_DECL(DPMSInfo,
    AC_DEFINE(HAVE_DPMSINFO_PROTO),,
-   [#include <X11/extensions/dpms.h>])
+   [#include <X11/Xlib.h>
+   #include <X11/extensions/dpms.h>])
  CFLAGS="$ac_save_cflags"
  AC_SUBST(DPMSINC)
  AC_SUBST(DPMSLIB)
@@ -3560,31 +3973,23 @@
    [
     AC_LANG_SAVE
     AC_LANG_CPLUSPLUS
-    ac_save_ldflags="$LDFLAGS"
-    ac_save_cxxflags="$CXXFLAGS"
-    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
-    test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
-    LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
+    ac_save_ldflags=$LDFLAGS
+    ac_save_cxxflags=$CXXFLAGS
+    ac_save_libs=$LIBS
+    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
+    LIBS="$LIBS -lGL -lGLU"
+    test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
+    LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
     CXXFLAGS="$CFLAGS $X_INCLUDES"
     test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
     AC_TRY_LINK([#include <GL/gl.h>
 #include <GL/glu.h>
 ], [],
-	ac_cv_have_gl="mesa", ac_cv_have_gl="no")
-    if test "x$ac_cv_have_gl" = "xno"; then
-      LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL"
-      test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
-      LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
-      CXXFLAGS="$ac_save_cflags $X_INCLUDES"
-      test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
-      AC_TRY_LINK([#include <GL/gl.h>
-#include <GL/glu.h>
-], [],
-	  ac_cv_have_gl="yes", ac_cv_have_gl="no")
-    fi
+	ac_cv_have_gl="yes", ac_cv_have_gl="no")
     AC_LANG_RESTORE
-    LDFLAGS="$ac_save_ldflags"
-    CXXFLAGS="$ac_save_cxxflags"
+    LDFLAGS=$ac_save_ldflags
+    CXXFLAGS=$ac_save_cxxflags
+    LIBS=$ac_save_libs
    ])dnl
 
   if test "$ac_cv_have_gl" = "no"; then
@@ -3595,17 +4000,9 @@
   else
     AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
     if test "$GL_LDFLAGS" = ""; then
-       if test "$ac_cv_have_gl" = "mesa"; then
-          GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)'
-       else
-          GLLIB='-lGLU -lGL $(LIB_X11)'
-       fi
+       GLLIB='-lGLU -lGL $(LIB_X11)'
     else
-       if test "$ac_cv_have_gl" = "mesa"; then
-          GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
-       else
-          GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
-       fi
+       GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
     fi
     if test "$GL_INCLUDE" = ""; then
        GLINC=""
@@ -3904,17 +4301,48 @@
 
 AC_DEFUN([KDE_CHECK_LIBPTHREAD],
 [
+  dnl This code is here specifically to handle the
+  dnl various flavors of threading library on FreeBSD
+  dnl 4-, 5-, and 6-, and the (weird) rules around it.
+  dnl There may be an environment PTHREAD_LIBS that 
+  dnl specifies what to use; otherwise, search for it.
+  dnl -pthread is special cased and unsets LIBPTHREAD
+  dnl below if found.
   LIBPTHREAD=""
 
   if test -n "$PTHREAD_LIBS"; then
-    PTHREAD_LIBS_save="$PTHREAD_LIBS"
-    PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
-    KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [LIBPTHREAD="$PTHREAD_LIBS_save"] )
-    PTHREAD_LIBS="$PTHREAD_LIBS_save"
+    if test "x$PTHREAD_LIBS" = "x-pthread" ; then
+      LIBPTHREAD="PTHREAD"
+    else
+      PTHREAD_LIBS_save="$PTHREAD_LIBS"
+      PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
+      AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
+      KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
+          LIBPTHREAD="$PTHREAD_LIBS_save"])
+      PTHREAD_LIBS="$PTHREAD_LIBS_save"
+    fi
   fi
 
+  dnl Is this test really needed, in the face of the Tru64 test below?
   if test -z "$LIBPTHREAD"; then
-    AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
+    AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
+  fi
+
+  dnl This is a special Tru64 check, see BR 76171 issue #18.
+  if test -z "$LIBPTHREAD" ; then
+    AC_MSG_CHECKING([for pthread_create in -lpthread])
+    kde_safe_libs=$LIBS
+    LIBS="$LIBS -lpthread"
+    AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
+        AC_MSG_RESULT(yes)
+        LIBPTHREAD="-lpthread"],[
+	AC_MSG_RESULT(no)])
+    LIBS=$kde_safe_libs
+  fi
+
+  dnl Un-special-case for FreeBSD.
+  if test "x$LIBPTHREAD" = "xPTHREAD" ; then
+    LIBPTHREAD=""
   fi
 
   AC_SUBST(LIBPTHREAD)
@@ -4144,14 +4572,16 @@
 
 AC_DEFUN([KDE_CHECK_PYTHON],
 [
-  KDE_CHECK_PYTHON_INTERN("2.3", 
-   [KDE_CHECK_PYTHON_INTERN("2.2", 
-     [KDE_CHECK_PYTHON_INTERN("2.1", 
-       [KDE_CHECK_PYTHON_INTERN("2.0", 
-         [KDE_CHECK_PYTHON_INTERN($1, $2) ])
+  KDE_CHECK_PYTHON_INTERN("2.4",
+   [KDE_CHECK_PYTHON_INTERN("2.3", 
+     [KDE_CHECK_PYTHON_INTERN("2.2", 
+       [KDE_CHECK_PYTHON_INTERN("2.1", 
+         [KDE_CHECK_PYTHON_INTERN("2.0", 
+           [KDE_CHECK_PYTHON_INTERN($1, $2) ])
+         ])
        ])
      ])
-   ])
+  ])
 ])
 
 AC_DEFUN([KDE_CHECK_STL],
@@ -4183,7 +4613,7 @@
    else
 	 AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
 Check config.log for details - if you're using a Linux distribution you might miss
-a package named similiar to libstd++-dev.])
+a package named similar to libstdc++-dev.])
    fi
 
    CXXFLAGS="$ac_save_CXXFLAGS"
@@ -4275,10 +4705,10 @@
 [
 
 DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+TOPSUBDIRS=""
 
 if test ! -s $srcdir/subdirs; then
   dnl Note: Makefile.common creates subdirs, so this is just a fallback
-  TOPSUBDIRS=""
   files=`cd $srcdir && ls -1`
   dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
   for i in $dirs; do
@@ -4306,7 +4736,7 @@
     install_it="no"
   fi
   AC_MSG_RESULT($install_it)
-  vari=`echo $i | sed -e 's,[[-+.]],_,g'`
+  vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
   if test $install_it = "yes"; then
     TOPSUBDIRS="$TOPSUBDIRS $i"
     eval "$vari""_SUBDIR_included=yes"
@@ -4419,13 +4849,13 @@
 
 AC_DEFUN([KDE_CHECK_HEADER],
 [
-   AC_LANG_SAVE
    kde_safe_cppflags=$CPPFLAGS
    CPPFLAGS="$CPPFLAGS $all_includes"
+   AC_LANG_SAVE
    AC_LANG_CPLUSPLUS
    AC_CHECK_HEADER([$1], [$2], [$3], [$4])
+   AC_LANG_RESTORE
    CPPFLAGS=$kde_safe_cppflags
-   AC_LANG_RESTORE
 ])
 
 AC_DEFUN([KDE_CHECK_HEADERS],
@@ -4462,7 +4892,10 @@
   AC_SUBST(CONF_FILES)
 ])dnl
 
-AC_DEFUN([KDE_SET_PREFIX],
+dnl This sets the prefix, for arts and kdelibs
+dnl Do NOT use in any other module.
+dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
+AC_DEFUN([KDE_SET_PREFIX_CORE],
 [
   unset CDPATH
   dnl make $KDEDIR the default for the installation
@@ -4474,7 +4907,66 @@
   fi
   # And delete superfluous '/' to make compares easier
   prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+  kde_libs_htmldir=$prefix/share/doc/HTML/
   exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+  kde_libs_prefix='$(prefix)'
+  kde_libs_htmldir='$(kde_htmldir)'
+  AC_SUBST(kde_libs_prefix)
+  AC_SUBST(kde_libs_htmldir)
+  KDE_FAST_CONFIGURE
+  KDE_CONF_FILES
+])
+
+
+AC_DEFUN([KDE_SET_PREFIX],
+[
+  unset CDPATH
+  dnl We can't give real code to that macro, only a value.
+  dnl It only matters for --help, since we set the prefix in this function anyway.
+  AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
+
+  KDE_SET_DEFAULT_BINDIRS
+  if test "x$prefix" = "xNONE"; then
+    dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
+    KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+  else
+    dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
+    kde_save_PATH="$PATH"
+    PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+    KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+    PATH="$kde_save_PATH"
+  fi
+
+  kde_libs_prefix=`$KDECONFIG --prefix`
+  if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+       AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+                    This means it has been moved since you installed it.
+                    This won't work. Please recompile kdelibs for the new prefix.
+                    ])
+  fi
+  kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+  kde_libs_suffix=`$KDECONFIG --libsuffix`
+
+  AC_MSG_CHECKING([where to install])
+  if test "x$prefix" = "xNONE"; then
+    prefix=$kde_libs_prefix
+    AC_MSG_RESULT([$prefix (as returned by kde-config)])
+  else
+    dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
+    given_prefix=$prefix
+    AC_MSG_RESULT([$prefix (as requested)])
+  fi
+
+  # And delete superfluous '/' to make compares easier
+  prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+  exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+  given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+  AC_SUBST(KDECONFIG)
+  AC_SUBST(kde_libs_prefix)
+  AC_SUBST(kde_libs_htmldir)
+
   KDE_FAST_CONFIGURE
   KDE_CONF_FILES
 ])
@@ -5351,3 +5843,77 @@
 	])
     AC_SUBST(PERL)
 ])
+
+AC_DEFUN([KDE_CHECK_LARGEFILE],
+[
+AC_SYS_LARGEFILE
+if test "$ac_cv_sys_file_offset_bits" != no; then
+  CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+
+if test "x$ac_cv_sys_large_files" != "xno"; then
+  CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
+fi
+
+])
+
+dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
+dnl which allows to search for libs that get installed into the KDE prefix.
+dnl
+dnl Syntax:  KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
+dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
+dnl also defines KSTUFF_PKG_ERRORS on error
+AC_DEFUN([KDE_PKG_CHECK_MODULES], [
+
+   PKG_CONFIG_PATH="$prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
+   if test "$prefix" != "$kde_libs_prefix"; then
+       PKG_CONFIG_PATH="$kde_libs_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
+   fi
+   export PKG_CONFIG_PATH
+   PKG_CHECK_MODULES($1,$2,$3,$4)
+])
+
+
+dnl Check for PIE support in the compiler and linker
+AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
+[
+  AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    safe_CXXFLAGS=$CXXFLAGS
+    safe_LDFLAGS=$LDFLAGS
+    CXXFLAGS="$CXXFLAGS -fpie"
+    LDFLAGS="$LDFLAGS -pie"
+
+    AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
+
+    CXXFLAGS=$safe_CXXFLAGS
+    LDFLAGS=$safe_LDFLAGS
+    AC_LANG_RESTORE
+  ])
+
+  AC_MSG_CHECKING(if enabling -pie/fpie support)
+
+  AC_ARG_ENABLE(pie,
+    AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
+      [kde_has_pie_support=$enableval],
+      [kde_has_pie_support=detect])
+
+  if test "$kde_has_pie_support" = "detect"; then
+    kde_has_pie_support=$kde_cv_val_pie_support
+  fi
+
+  AC_MSG_RESULT([$kde_has_pie_support])
+
+  KDE_USE_FPIE=""
+  KDE_USE_PIE=""
+
+  AC_SUBST([KDE_USE_FPIE])
+  AC_SUBST([KDE_USE_PIE])
+
+  if test "$kde_has_pie_support" = "yes"; then
+    KDE_USE_FPIE="-fpie"
+    KDE_USE_PIE="-pie"
+  fi
+])
--- a/kdiff3/admin/am_edit	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/am_edit	Mon Apr 10 08:40:51 2006 +0000
@@ -351,7 +351,7 @@
     my $tmp = "force-reedit:\n";
     $tmp   .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n";
     appendLines($tmp);
-    
+
     make_bcheck_target();
     make_meta_classes();
     tag_COMPILE_FIRST();
@@ -422,10 +422,6 @@
       substituteLine($lookup, "RECURSIVE_TARGETS = $1 nmcheck-recursive bcheck-recursive");
     }
 
-    my $cvs_lines = "cvs-clean:\n";
-    $cvs_lines .= "\t\$(MAKE) admindir=\$(top_srcdir)/admin -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n";
-    appendLines($cvs_lines);
-
     $cvs_lines  = "kde-rpo-clean:\n";
     $cvs_lines .= "\t-rm -f *.rpo\n";
     appendLines($cvs_lines);
@@ -483,6 +479,7 @@
             $MakefileData =~ s/$lookup/$replacement/;
             $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/;
             $replacement = "$stuff_before\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$stuff_after";
+            next if ($stuff_before =~ /\$\(KDE_CXXFLAGS\)/ or $stuff_after =~ /\$\(KDE_CXXFLAGS\)/);
             substituteLine($lookup, $replacement);
         } else {
             $found = 0;
@@ -634,7 +631,7 @@
 		if ($pre eq '' && exists($varcontent{$variable})) {
 		    my @addlist = split(/[\034\s]+/, $varcontent{$variable});
 		    push(@objlist, @addlist);
-                } elsif ($variable !~ 'OBJEXT') {
+                } elsif ($variable !~ 'OBJEXT' && $variable !~ /am__objects_\d+/ ) {
                     $ocv = 1;
 		}
             }
@@ -875,8 +872,9 @@
                 $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n";
 
                 $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n";
-                $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}_dummy.$cxxsuffix; \\\n";
-                $lines .= "\techo 'extern \"C\" int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n";
+                $lines .= "\techo '#include <kdemacros.h>' > ${kdeinit}_dummy.$cxxsuffix; \\\n";
+                $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' >> ${kdeinit}_dummy.$cxxsuffix; \\\n";
+                $lines .= "\techo 'extern \"C\" KDE_EXPORT int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n";
 
                 push(@cleanfiles, "${kdeinit}.la.$cxxsuffix");
                 push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix");
@@ -1147,6 +1145,9 @@
     print STDOUT "AUTOMAKE processing <$1>\n"        if ($verbose);
 
     my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname";
+
+    # automake 1.8.x adds another automake call. *sigh*
+    $newLine =~ s/;([\034\s]+cd\s+\$\(srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\).*)[\034\s]+\&\&[\034\s]+exit[\034\s]+0;([\034\s]+exit\s+1)/; \034 ( $1 ) || exit 1; echo \' cd \$(top_srcdir) && perl $thisProg \'; cd \$(top_srcdir) && perl $thisProg && exit 0; $2/;
     substituteLine ($lookup, $newLine);
     $automkCall = $1;
 
@@ -1262,7 +1263,7 @@
             if ($allidls !~ /$source\_kidl/) {
                 
                 $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/);
-                $dcopidl =  $use_ng ? "\$(DCOPIDLNG)" : "\$(DCOPIDL)";
+                $dcopidl =  $use_ng ? "KDECONFIG=\"\$(KDECONFIG)\" \$(DCOPIDLNG)" : "\$(DCOPIDL)";
 
                 $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n";
                 $dep_lines .= "\t$dcopidl $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n";
@@ -1365,14 +1366,19 @@
                     my ($mangled_source) = $source;
                     $mangled_source =~ s/[^A-Za-z0-9]/_/g;  # get rid of garbage
                     $dep_lines .= "\t\$(UIC) -tr \${UIC_TR} -i $source.h $sourcedir$source.ui > $source.$cxxsuffix.temp ; ret=\$\$?; \\\n";
-                    $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" >> $source.$cxxsuffix ;\\\n";
+                    $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" | \$(PERL) -pe \"s,: QWizard\\(,: KWizard(,g\" >> $source.$cxxsuffix ;\\\n";
 		    $dep_lines .= "\trm -f $source.$cxxsuffix.temp ;\\\n";
                 } else {
                     $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix; ret=\$\$?; \\\n";
                 }
 		$dep_lines .= "\tif test \"\$\$ret\" = 0; then echo '#include \"$source.moc\"' >> $source.$cxxsuffix; else rm -f $source.$cxxsuffix ; exit \$\$ret ; fi\n\n";
                 $dep_lines .= "$source.h: $sourcedir$source.ui\n";
-                $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n\n";
+                $dep_lines .= "\trm -rf $source.h;\n";
+                if (!$kdeopts{"qtonly"}) {
+                    $dep_lines .= "\t\$(UIC) $sourcedir$source.ui | \$(PERL) -pi -e \"s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g\" >> $source.h ;\n";
+                } else {
+                    $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n";
+                }
                 $dep_lines .= "$source.moc: $source.h\n";
                 $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n";
 
@@ -2271,7 +2277,7 @@
            "\t        echo \"\$\$i\"; \\\n" . 
            "\t        if ! ";
     $t .=  $cxxsuffix eq "KKK" ?
-           "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(KDE_CXXFLAGS) " :
+           "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(CXXFLAGS) \$(KDE_CXXFLAGS) " :
            "\$(CXXCOMPILE) ";
     $t .=  " --dump-class-hierarchy -c \$\$i.bchecktest.cc; then \\\n" .
            "\t            rm -f \$\$i.bchecktest.cc; exit 1; \\\n" .
--- a/kdiff3/admin/bcheck.pl	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/bcheck.pl	Mon Apr 10 08:40:51 2006 +0000
@@ -118,6 +118,7 @@
 
     s/0x[0-9a-fA-F]+/0x......../g;
     s/base size=/size=/g;
+    s/\(\)\s*$//g;
     s/base align=/align=/g;
 
     $chunk .= $_ . "\n";
--- a/kdiff3/admin/compile	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/compile	Mon Apr 10 08:40:51 2006 +0000
@@ -1,8 +1,9 @@
 #! /bin/sh
-
 # Wrapper for compilers which do not understand `-c -o'.
 
-# Copyright 1999, 2000 Free Software Foundation, Inc.
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,83 +18,125 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Usage:
-# compile PROGRAM [ARGS]...
-# `-o FOO.o' is removed from the args passed to the actual compile.
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
 
-prog=$1
-shift
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+esac
 
 ofile=
 cfile=
-args=
-while test $# -gt 0; do
-   case "$1" in
-    -o)
-       # configure might choose to run compile as `compile cc -o foo foo.c'.
-       # So we do something ugly here.
-       ofile=$2
-       shift
-       case "$ofile" in
-	*.o | *.obj)
-	   ;;
-	*)
-	   args="$args -o $ofile"
-	   ofile=
-	   ;;
-       esac
-       ;;
-    *.c)
-       cfile=$1
-       args="$args $1"
-       ;;
-    *)
-       args="$args $1"
-       ;;
-   esac
-   shift
+eat=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as `compile cc -o foo foo.c'.
+	# So we strip `-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-   # If no `-o' option was seen then we might have been invoked from a
-   # pattern rule where we don't need one.  That is ok -- this is a
-   # normal compilation that the losing compiler can handle.  If no
-   # `.c' file was seen then we are probably linking.  That is also
-   # ok.
-   exec "$prog" $args
+  # If no `-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # `.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
 fi
 
 # Name of file we expect compiler to create.
-cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
 
 # Create the lock directory.
 # Note: use `[/.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
-lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
+lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
 while true; do
-   if mkdir $lockdir > /dev/null 2>&1; then
-      break
-   fi
-   sleep 1
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
 done
 # FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir $lockdir; exit 1" 1 2 15
+trap "rmdir '$lockdir'; exit 1" 1 2 15
 
 # Run the compile.
-"$prog" $args
-status=$?
+"$@"
+ret=$?
 
 if test -f "$cofile"; then
-   mv "$cofile" "$ofile"
+  mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  mv "${cofile}bj" "$ofile"
 fi
 
-rmdir $lockdir
-exit $status
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- a/kdiff3/admin/conf.change.pl	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/conf.change.pl	Mon Apr 10 08:40:51 2006 +0000
@@ -19,8 +19,8 @@
 
 #   You should have received a copy of the GNU Library General Public License
 #   along with this library; see the file COPYING.LIB.  If not, write to
-#   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-#   Boston, MA 02111-1307, USA.
+#   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+#   Boston, MA 02110-1301, USA.
 
 # we have to change two places
 # 1. the splitting of the substitutions into chunks of 90 (or even 48 in
@@ -81,7 +81,7 @@
 # on autoconf 250, it ends with '# CONFIG_HEADER section'
 #
 # gg: if a post-processing commands section is found first, 
-#    stop there and insert a new loop to honour the case/esac.
+#    stop there and insert a new loop to honor the case/esac.
 # (pattern: /^\s+#\sRun the commands associated with the file./)
 
 	if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
--- a/kdiff3/admin/config.guess	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/config.guess	Mon Apr 10 08:40:51 2006 +0000
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2002-10-21'
+timestamp='2005-06-30'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -17,13 +17,15 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+
 # Originally written by Per Bothner <per@bothner.com>.
 # Please send patches to <config-patches@gnu.org>.  Submit a context
 # diff and a properly formatted ChangeLog entry.
@@ -53,7 +55,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -66,11 +68,11 @@
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
+       echo "$timestamp" ; exit ;;
     --version | -v )
-       echo "$version" ; exit 0 ;;
+       echo "$version" ; exit ;;
     --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
+       echo "$usage"; exit ;;
     -- )     # Stop option processing
        shift; break ;;
     - )	# Use stdin as input.
@@ -98,14 +100,18 @@
 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
 # use `HOST_CC' if defined, but it is deprecated.
 
-# This shell variable is my proudest work .. or something. --bje
+# Portable tmp directory creation inspired by the Autoconf team.
 
-set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
-(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
-   || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
-dummy=$tmpdir/dummy ;
-files="$dummy.c $dummy.o $dummy.rel $dummy" ;
-trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
 case $CC_FOR_BUILD,$HOST_CC,$CC in
  ,,)    echo "int x;" > $dummy.c ;
 	for c in cc gcc c89 c99 ; do
@@ -113,15 +119,13 @@
 	     CC_FOR_BUILD="$c"; break ;
 	  fi ;
 	done ;
-	rm -f $files ;
 	if test x"$CC_FOR_BUILD" = x ; then
 	  CC_FOR_BUILD=no_compiler_found ;
 	fi
 	;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;
-unset files'
+esac ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -178,144 +182,125 @@
 		;;
 	esac
 	# The OS release
-	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
-	exit 0 ;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    macppc:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvmeppc:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mipseb-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sun3:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
     alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
+	case $UNAME_RELEASE in
+	*4.0)
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	eval $set_cc_for_build
-	cat <<EOF >$dummy.s
-	.data
-\$Lformat:
-	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-	.text
-	.globl main
-	.align 4
-	.ent main
-main:
-	.frame \$30,16,\$26,0
-	ldgp \$29,0(\$27)
-	.prologue 1
-	.long 0x47e03d80 # implver \$0
-	lda \$2,-1
-	.long 0x47e20c21 # amask \$2,\$1
-	lda \$16,\$Lformat
-	mov \$0,\$17
-	not \$1,\$18
-	jsr \$26,printf
-	ldgp \$29,0(\$26)
-	mov 0,\$16
-	jsr \$26,exit
-	.end main
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
-	if test "$?" = 0 ; then
-		case `$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-			2-1307)
-				UNAME_MACHINE="alphaev68"
-				;;
-			3-1307)
-				UNAME_MACHINE="alphaev7"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy && rmdir $tmpdir
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
 	# of the specific Alpha model?
 	echo alpha-pc-interix
-	exit 0 ;;
+	exit ;;
     21064:Windows_NT:50:3)
 	echo alpha-dec-winnt3.5
-	exit 0 ;;
+	exit ;;
     Amiga*:UNIX_System_V:4.0:*)
 	echo m68k-unknown-sysv4
-	exit 0;;
+	exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
+	exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-morphos
-	exit 0 ;;
+	exit ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
-	exit 0 ;;
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
 	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
+	exit ;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
 	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
 	if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -323,29 +308,32 @@
 	else
 		echo pyramid-pyramid-bsd
 	fi
-	exit 0 ;;
+	exit ;;
     NILE*:*:*:dcosx)
 	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
 	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7 && exit 0 ;;
+	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     i86pc:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
 	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:*:*)
 	case "`/usr/bin/arch -k`" in
 	    Series*|S4*)
@@ -354,10 +342,10 @@
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
 	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
+	exit ;;
     sun3*:SunOS:*:*)
 	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -369,10 +357,10 @@
 		echo sparc-sun-sunos${UNAME_RELEASE}
 		;;
 	esac
-	exit 0 ;;
+	exit ;;
     aushp:SunOS:*:*)
 	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -383,37 +371,40 @@
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
         echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
         echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
     powerpc:machten:*:*)
 	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     RISC*:Mach:*:*)
 	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
+	exit ;;
     RISC*:ULTRIX:*:*)
 	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     VAX*:ULTRIX*:*:*)
 	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
 	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
 	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
@@ -437,33 +428,33 @@
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c \
-	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-	rm -f $dummy.c $dummy && rmdir $tmpdir
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
 	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     Motorola:PowerMAX_OS:*:*)
 	echo powerpc-motorola-powermax
-	exit 0 ;;
+	exit ;;
     Motorola:*:4.3:PL8-*)
 	echo powerpc-harris-powermax
-	exit 0 ;;
-    Night_Hawk:*:*:PowerMAX_OS)
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
 	echo powerpc-harris-powermax
-	exit 0 ;;
+	exit ;;
     Night_Hawk:Power_UNIX:*:*)
 	echo powerpc-harris-powerunix
-	exit 0 ;;
+	exit ;;
     m88k:CX/UX:7*:*)
 	echo m88k-harris-cxux7
-	exit 0 ;;
+	exit ;;
     m88k:*:4*:R4*)
 	echo m88k-motorola-sysv4
-	exit 0 ;;
+	exit ;;
     m88k:*:3*:R3*)
 	echo m88k-motorola-sysv3
-	exit 0 ;;
+	exit ;;
     AViiON:dgux:*:*)
         # DG/UX returns AViiON for all architectures
         UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -479,29 +470,29 @@
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit 0 ;;
+ 	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
-	exit 0 ;;
+	exit ;;
     M88*:*:R3*:*)
 	# Delta 88k system running SVR3
 	echo m88k-motorola-sysv3
-	exit 0 ;;
+	exit ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
 	echo m88k-tektronix-sysv3
-	exit 0 ;;
+	exit ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
 	echo m68k-tektronix-bsd
-	exit 0 ;;
+	exit ;;
     *:IRIX*:*:*)
 	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
+	exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
 	echo i386-ibm-aix
-	exit 0 ;;
+	exit ;;
     ia64:AIX:*:*)
 	if [ -x /usr/bin/oslevel ] ; then
 		IBM_REV=`/usr/bin/oslevel`
@@ -509,7 +500,7 @@
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
 	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit 0 ;;
+	exit ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
 		eval $set_cc_for_build
@@ -524,15 +515,18 @@
 			exit(0);
 			}
 EOF
-		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-		rm -f $dummy.c $dummy && rmdir $tmpdir
-		echo rs6000-ibm-aix3.2.5
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
 		echo rs6000-ibm-aix3.2.4
 	else
 		echo rs6000-ibm-aix3.2
 	fi
-	exit 0 ;;
+	exit ;;
     *:AIX:*:[45])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
@@ -546,28 +540,28 @@
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
 	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
+	exit ;;
     *:AIX:*:*)
 	echo rs6000-ibm-aix
-	exit 0 ;;
+	exit ;;
     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
 	echo romp-ibm-bsd4.4
-	exit 0 ;;
+	exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
 	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
+	exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
 	echo rs6000-bull-bosx
-	exit 0 ;;
+	exit ;;
     DPX/2?00:B.O.S.:*:*)
 	echo m68k-bull-sysv3
-	exit 0 ;;
+	exit ;;
     9000/[34]??:4.3bsd:1.*:*)
 	echo m68k-hp-bsd
-	exit 0 ;;
+	exit ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
 	echo m68k-hp-bsd4.4
-	exit 0 ;;
+	exit ;;
     9000/[34678]??:HP-UX:*:*)
 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	case "${UNAME_MACHINE}" in
@@ -624,16 +618,37 @@
               }
 EOF
 		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
-		    rm -f $dummy.c $dummy && rmdir $tmpdir
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    # avoid double evaluation of $set_cc_for_build
+	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
+	exit ;;
     ia64:HP-UX:*:*)
 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	echo ia64-hp-hpux${HPUX_REV}
-	exit 0 ;;
+	exit ;;
     3050*:HI-UX:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
@@ -661,146 +676,166 @@
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-	rm -f $dummy.c $dummy && rmdir $tmpdir
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
 	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
+	exit ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
 	echo hppa1.1-hp-bsd
-	exit 0 ;;
+	exit ;;
     9000/8??:4.3bsd:*:*)
 	echo hppa1.0-hp-bsd
-	exit 0 ;;
+	exit ;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
-	exit 0 ;;
+	exit ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
 	echo hppa1.1-hp-osf
-	exit 0 ;;
+	exit ;;
     hp8??:OSF1:*:*)
 	echo hppa1.0-hp-osf
-	exit 0 ;;
+	exit ;;
     i*86:OSF1:*:*)
 	if [ -x /usr/sbin/sysversion ] ; then
 	    echo ${UNAME_MACHINE}-unknown-osf1mk
 	else
 	    echo ${UNAME_MACHINE}-unknown-osf1
 	fi
-	exit 0 ;;
+	exit ;;
     parisc*:Lites*:*:*)
 	echo hppa1.1-hp-lites
-	exit 0 ;;
+	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit 0 ;;
+        exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit 0 ;;
+        exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit 0 ;;
+        exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit 0 ;;
+        exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit 0 ;;
+        exit ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
+	exit ;;
     CRAY*[A-Z]90:*:*:*)
 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 	      -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
+	exit ;;
     CRAY*TS:*:*:*)
 	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3D:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
+	exit ;;
     CRAY*T3E:*:*:*)
 	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
+	exit ;;
     CRAY*SV1:*:*:*)
 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     sparc*:BSD/OS:*:*)
 	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:BSD/OS:*:*)
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:FreeBSD:*:*)
-	# Determine whether the default compiler uses glibc.
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#if __GLIBC__ >= 2
-	LIBC=gnu
-	#else
-	LIBC=
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	rm -f $dummy.c && rmdir $tmpdir
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
-	exit 0 ;;
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
+	exit ;;
     i*:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
-	exit 0 ;;
-    x86:Interix*:3*)
-	echo i386-pc-interix3
-	exit 0 ;;
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
 	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
-	exit 0 ;;
+	echo i586-pc-interix
+	exit ;;
     i*:UWIN*:*)
 	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
+	exit ;;
+    amd64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
     p*:CYGWIN*:*)
 	echo powerpcle-unknown-cygwin
-	exit 0 ;;
+	exit ;;
     prep*:SunOS:5.*:*)
 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     *:GNU:*:*)
+	# the GNU system
 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
-	exit 0 ;;
+	exit ;;
     arm*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     m68*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     mips:Linux:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
@@ -818,15 +853,33 @@
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-	rm -f $dummy.c && rmdir $tmpdir
-	test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     ppc:Linux:*:*)
 	echo powerpc-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     ppc64:Linux:*:*)
 	echo powerpc64-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
 	  EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -840,7 +893,7 @@
 	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit 0 ;;
+	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -848,22 +901,25 @@
 	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
 	  *)    echo hppa-unknown-linux-gnu ;;
 	esac
-	exit 0 ;;
+	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
 	echo hppa64-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux
-	exit 0 ;;
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
-	exit 0 ;;
+	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
@@ -881,15 +937,15 @@
 		;;
 	  a.out-i386-linux)
 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0 ;;
+		exit ;;
 	  coff-i386)
 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0 ;;
+		exit ;;
 	  "")
 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
 		# one that does not give us useful --help.
 		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit 0 ;;
+		exit ;;
 	esac
 	# Determine whether the default compiler is a.out or elf
 	eval $set_cc_for_build
@@ -912,18 +968,23 @@
 	LIBC=gnuaout
 	#endif
 	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	rm -f $dummy.c && rmdir $tmpdir
-	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
-	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
 	;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 	# earlier versions are messed up and put the nodename in both
 	# sysname and nodename.
 	echo i386-sequent-sysv4
-	exit 0 ;;
+	exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
         # Unixware is an offshoot of SVR4, but it has its own version
         # number series starting with 2...
@@ -931,7 +992,27 @@
 	# I just have to hope.  -- rms.
         # Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -939,15 +1020,16 @@
 	else
 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
 	fi
-	exit 0 ;;
-    i*86:*:5:[78]*)
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
 	case `/bin/uname -X | grep "^Machine"` in
 	    *486*)	     UNAME_MACHINE=i486 ;;
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
 	esac
 	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit 0 ;;
+	exit ;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -965,76 +1047,73 @@
 	else
 		echo ${UNAME_MACHINE}-pc-sysv32
 	fi
-	exit 0 ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
+	exit ;;
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
         # the processor, so we play safe by assuming i386.
 	echo i386-pc-msdosdjgpp
-        exit 0 ;;
+        exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
-	exit 0 ;;
+	exit ;;
     paragon:*:*:*)
 	echo i860-intel-osf1
-	exit 0 ;;
+	exit ;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
 	fi
-	exit 0 ;;
+	exit ;;
     mini*:CTIX:SYS*5:*)
 	# "miniframe"
 	echo m68010-convergent-sysv
-	exit 0 ;;
+	exit ;;
     mc68k:UNIX:SYSTEM5:3.51m)
 	echo m68k-convergent-sysv
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
+          && { echo i486-ncr-sysv4; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
-	exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     TSUNAMI:LynxOS:2.*:*)
 	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     SM[BE]S:UNIX_SV:*:*)
 	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     RM*:ReliantUNIX-*:*:*)
 	echo mips-sni-sysv4
-	exit 0 ;;
+	exit ;;
     RM*:SINIX-*:*:*)
 	echo mips-sni-sysv4
-	exit 0 ;;
+	exit ;;
     *:SINIX-*:*:*)
 	if uname -p 2>/dev/null >/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1042,64 +1121,73 @@
 	else
 		echo ns32k-sni-sysv
 	fi
-	exit 0 ;;
+	exit ;;
     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                       # says <Richard.M.Bartel@ccMail.Census.GOV>
         echo i586-unisys-sysv4
-        exit 0 ;;
+        exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes@openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
 	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
+	exit ;;
     *:*:*:FTX*)
 	# From seanf@swdc.stratus.com.
 	echo i860-stratus-sysv4
-	exit 0 ;;
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
     *:VOS:*:*)
 	# From Paul.Green@stratus.com.
 	echo hppa1.1-stratus-vos
-	exit 0 ;;
+	exit ;;
     mc68*:A/UX:*:*)
 	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     news*:NEWS-OS:6*:*)
 	echo mips-sony-newsos6
-	exit 0 ;;
+	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
 	        echo mips-nec-sysv${UNAME_RELEASE}
 	else
 	        echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit 0 ;;
+        exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
-	exit 0 ;;
+	exit ;;
     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
 	echo powerpc-apple-beos
-	exit 0 ;;
+	exit ;;
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
 	echo i586-pc-beos
-	exit 0 ;;
+	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     SX-5:SUPER-UX:*:*)
 	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:Rhapsody:*:*)
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:Darwin:*:*)
-	echo `uname -p`-apple-darwin${UNAME_RELEASE}
-	exit 0 ;;
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
 	if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1107,22 +1195,25 @@
 		UNAME_MACHINE=pc
 	fi
 	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
-	exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
-	exit 0 ;;
+	exit ;;
     BS2000:POSIX*:*:*)
 	echo bs2000-siemens-sysv
-	exit 0 ;;
+	exit ;;
     DS/*:UNIX_System_V:*:*)
 	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:Plan9:*:*)
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
@@ -1133,36 +1224,44 @@
 	    UNAME_MACHINE="$cputype"
 	fi
 	echo ${UNAME_MACHINE}-unknown-plan9
-	exit 0 ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit 0 ;;
+	exit ;;
     *:TOPS-10:*:*)
 	echo pdp10-unknown-tops10
-	exit 0 ;;
+	exit ;;
     *:TENEX:*:*)
 	echo pdp10-unknown-tenex
-	exit 0 ;;
+	exit ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
 	echo pdp10-dec-tops20
-	exit 0 ;;
+	exit ;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
 	echo pdp10-xkl-tops20
-	exit 0 ;;
+	exit ;;
     *:TOPS-20:*:*)
 	echo pdp10-unknown-tops20
-	exit 0 ;;
+	exit ;;
     *:ITS:*:*)
 	echo pdp10-unknown-its
-	exit 0 ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit 0 ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit 0 ;;
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1194,7 +1293,7 @@
 #endif
 
 #if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
+  printf ("arm-acorn-riscix\n"); exit (0);
 #endif
 
 #if defined (hp300) && !defined (hpux)
@@ -1283,12 +1382,12 @@
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-rm -f $dummy.c $dummy && rmdir $tmpdir
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
 
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
 
 # Convex versions that predate uname can use getsysinfo(1)
 
@@ -1297,22 +1396,22 @@
     case `getsysinfo -f cpu_type` in
     c1*)
 	echo c1-convex-bsd
-	exit 0 ;;
+	exit ;;
     c2*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-	exit 0 ;;
+	exit ;;
     c34*)
 	echo c34-convex-bsd
-	exit 0 ;;
+	exit ;;
     c38*)
 	echo c38-convex-bsd
-	exit 0 ;;
+	exit ;;
     c4*)
 	echo c4-convex-bsd
-	exit 0 ;;
+	exit ;;
     esac
 fi
 
@@ -1323,7 +1422,9 @@
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-    ftp://ftp.gnu.org/pub/gnu/config/
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
--- a/kdiff3/admin/config.pl	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/config.pl	Mon Apr 10 08:40:51 2006 +0000
@@ -25,8 +25,8 @@
 
 #   You should have received a copy of the GNU Library General Public License
 #   along with this library; see the file COPYING.LIB.  If not, write to
-#   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-#   Boston, MA 02111-1307, USA.
+#   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+#   Boston, MA 02110-1301, USA.
 
 use strict;
 
@@ -53,6 +53,7 @@
 
 open(CF, "< $ac_subs") || die "can't open $ac_subs: $!";
 my @subs = <CF>;
+my $pat;
 close(CF);
 chomp @subs;
 @comp_match=();
@@ -60,7 +61,7 @@
 
 if ($bad_perl) {
     print "Using perl older than version 5.005\n";
-    foreach my $pat (@subs) {
+    foreach $pat (@subs) {
 	if (  ($pat =~ m/s%([^%]*)%([^%]*)%g/ )
 	   || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ )
            || ($pat =~ m/s,([^,]*),(.*),;t/)
@@ -85,7 +86,7 @@
 	}
     }
 } else {
-    foreach my $pat (@subs) {
+    foreach $pat (@subs) {
        if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) ||
             ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) ||
             ($pat =~ /s,([^,]*),(.*),;t/) ) {
@@ -192,8 +193,9 @@
     my $filedata;
     my @infiles=split(' ', $infiles);
     my $i=0;
+    my $name;
 
-    foreach my $name (@infiles) {
+    foreach $name (@infiles) {
 	if (open(CF, "< $name")) {
 	    while (<CF>) {
 		$filedata .= $_;
--- a/kdiff3/admin/config.sub	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/config.sub	Mon Apr 10 08:40:51 2006 +0000
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
-timestamp='2002-09-05'
+timestamp='2005-07-01'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -21,14 +21,15 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+
 # Please send patches to <config-patches@gnu.org>.  Submit a context
 # diff and a properly formatted ChangeLog entry.
 #
@@ -70,7 +71,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -83,11 +84,11 @@
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
+       echo "$timestamp" ; exit ;;
     --version | -v )
-       echo "$version" ; exit 0 ;;
+       echo "$version" ; exit ;;
     --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
+       echo "$usage"; exit ;;
     -- )     # Stop option processing
        shift; break ;;
     - )	# Use stdin as input.
@@ -99,7 +100,7 @@
     *local*)
        # First pass through any local machine types.
        echo $1
-       exit 0;;
+       exit ;;
 
     * )
        break ;;
@@ -118,7 +119,8 @@
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -144,7 +146,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
+	-apple | -axis | -knuth | -cray)
 		os=
 		basic_machine=$1
 		;;
@@ -228,14 +230,16 @@
 	| a29k \
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-	| clipper \
+	| bfin \
+	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
-	| ip2k \
-	| m32r | m68000 | m68k | m88k | mcore \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -244,28 +248,37 @@
 	| mips64vr4100 | mips64vr4100el \
 	| mips64vr4300 | mips64vr4300el \
 	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
 	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
 	| ns16k | ns32k \
-	| openrisc | or32 \
+	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
-	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
 	| strongarm \
-	| tahoe | thumb | tic80 | tron \
+	| tahoe | thumb | tic4x | tic80 | tron \
 	| v850 | v850e \
 	| we32k \
-	| x86 | xscale | xstormy16 | xtensa \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
 	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12)
 		# Motorola 68HC11/12.
 		basic_machine=$basic_machine-unknown
@@ -293,19 +306,19 @@
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* \
-	| bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
-	| clipper-* | cydra-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* \
-	| m32r-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | mcore-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -314,29 +327,40 @@
 	| mips64vr4100-* | mips64vr4100el-* \
 	| mips64vr4300-* | mips64vr4300el-* \
 	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
 	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipstx39 | mipstx39el \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
 	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
+	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
-	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-	| xtensa-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
 	| ymp-* \
 	| z8k-*)
 		;;
+	m32c-*)
+		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -353,6 +377,9 @@
 		basic_machine=a29k-amd
 		os=-udi
 		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
 	adobe68k)
 		basic_machine=m68010-adobe
 		os=-scout
@@ -367,6 +394,12 @@
 		basic_machine=a29k-none
 		os=-bsd
 		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	amdahl)
 		basic_machine=580-amdahl
 		os=-sysv
@@ -426,12 +459,27 @@
 		basic_machine=j90-cray
 		os=-unicos
 		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
 	crds | unos)
 		basic_machine=m68k-crds
 		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
 	cris | cris-* | etrax*)
 		basic_machine=cris-axis
 		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
 	da30 | da30-*)
 		basic_machine=m68k-da30
 		;;
@@ -454,6 +502,10 @@
 		basic_machine=m88k-motorola
 		os=-sysv3
 		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
 	dpx20 | dpx20-*)
 		basic_machine=rs6000-bull
 		os=-bosx
@@ -632,10 +684,6 @@
 	mips3*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
 		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
 	monitor)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -723,9 +771,12 @@
 		basic_machine=hppa1.1-oki
 		os=-proelf
 		;;
-	or32 | or32-*)
+	openrisc | openrisc-*)
 		basic_machine=or32-unknown
-		os=-coff
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
 		;;
 	OSE68000 | ose68000)
 		basic_machine=m68000-ericsson
@@ -758,18 +809,24 @@
 	pentiumpro | p6 | 6x86 | athlon | athlon_*)
 		basic_machine=i686-pc
 		;;
-	pentiumii | pentium2)
+	pentiumii | pentium2 | pentiumiii | pentium3)
 		basic_machine=i686-pc
 		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	pentiumii-* | pentium2-*)
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	pn)
 		basic_machine=pn-gould
 		;;
@@ -828,6 +885,10 @@
 	sb1el)
 		basic_machine=mipsisa64sb1el-unknown
 		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
 	sequent)
 		basic_machine=i386-sequent
 		;;
@@ -835,6 +896,9 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
 	sparclite-wrs | simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks
@@ -901,10 +965,6 @@
 		basic_machine=i386-sequent
 		os=-dynix
 		;;
-	t3d)
-		basic_machine=alpha-cray
-		os=-unicos
-		;;
 	t3e)
 		basic_machine=alphaev5-cray
 		os=-unicos
@@ -913,12 +973,16 @@
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-        tic4x | c4x*)
-		basic_machine=tic4x-unknown
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
 		os=-coff
 		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
 		os=-coff
 		;;
 	tx39)
@@ -934,6 +998,10 @@
 	tower | tower-32)
 		basic_machine=m68k-ncr
 		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
 	udi29k)
 		basic_machine=a29k-amd
 		os=-udi
@@ -977,9 +1045,9 @@
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
-	windows32)
-		basic_machine=i386-pc
-		os=-windows32-msvcrt
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
 		;;
 	xps | xps100)
 		basic_machine=xps100-honeywell
@@ -1011,6 +1079,9 @@
 	romp)
 		basic_machine=romp-ibm
 		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
 	rs6000)
 		basic_machine=rs6000-ibm
 		;;
@@ -1027,13 +1098,10 @@
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
+	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparc | sparcv9 | sparcv9b)
+	sparc | sparcv8 | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
 	cydra)
@@ -1106,18 +1174,20 @@
 	      | -aos* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1129,8 +1199,10 @@
 			;;
 		esac
 		;;
+	-nto-qnx*)
+		;;
 	-nto*)
-		os=-nto-qnx
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
 		;;
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
@@ -1139,6 +1211,9 @@
 	-mac*)
 		os=`echo $os | sed -e 's|mac|macos|'`
 		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
 	-linux*)
 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 		;;
@@ -1151,6 +1226,9 @@
 	-opened*)
 		os=-openedition
 		;;
+        -os400*)
+		os=-os400
+		;;
 	-wince*)
 		os=-wince
 		;;
@@ -1172,6 +1250,9 @@
 	-atheos*)
 		os=-atheos
 		;;
+	-syllable*)
+		os=-syllable
+		;;
 	-386bsd)
 		os=-bsd
 		;;
@@ -1194,6 +1275,9 @@
 	-sinix*)
 		os=-sysv4
 		;;
+        -tpf*)
+		os=-tpf
+		;;
 	-triton*)
 		os=-sysv3
 		;;
@@ -1224,6 +1308,15 @@
 	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 		os=-mint
 		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
 	-none)
 		;;
 	*)
@@ -1255,6 +1348,9 @@
 	arm*-semi)
 		os=-aout
 		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
 	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
@@ -1301,6 +1397,9 @@
 	*-ibm)
 		os=-aix
 		;;
+    	*-knuth)
+		os=-mmixware
+		;;
 	*-wec)
 		os=-proelf
 		;;
@@ -1433,9 +1532,15 @@
 			-mvs* | -opened*)
 				vendor=ibm
 				;;
+			-os400*)
+				vendor=ibm
+				;;
 			-ptx*)
 				vendor=sequent
 				;;
+			-tpf*)
+				vendor=ibm
+				;;
 			-vxsim* | -vxworks* | -windiss*)
 				vendor=wrs
 				;;
@@ -1460,7 +1565,7 @@
 esac
 
 echo $basic_machine$os
-exit 0
+exit
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
--- a/kdiff3/admin/configure.in.bot.end	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/configure.in.bot.end	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,39 @@
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+  # And if so, warn when they don't match
+  if test "$kde_libs_prefix" != "$given_prefix"; then
+    # And if kde doesn't know about the prefix yet
+    echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+    if test $? -ne 0; then
+      echo ""
+      echo "Warning: you chose to install this package in $given_prefix,"
+      echo "but KDE was found in $kde_libs_prefix."
+      echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+      echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+      echo "Then restart KDE."
+      echo ""
+    fi
+  fi
+fi
+
+if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
+  echo ""
+  echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
+  echo "was not included. Therefore, GCC symbol visibility support remains disabled."
+  echo ""
+  echo "For better performance, consider including the Qt visibility supporting patch"
+  echo "located at:"
+  echo ""
+  echo "http://bugs.kde.org/show_bug.cgi?id=109386"
+  echo ""
+  echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
+  echo "everything will continue to work just fine without it."
+  echo ""
+fi
+
 if test "$all_tests" = "bad"; then
   if test ! "$cache_file" = "/dev/null"; then
-    echo ""    
+    echo ""
     echo "Please remove the file $cache_file after changing your setup"
     echo "so that configure will find the changes next time."
     echo ""
--- a/kdiff3/admin/configure.in.min	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/configure.in.min	Mon Apr 10 08:40:51 2006 +0000
@@ -13,8 +13,8 @@
  
 dnl    You should have received a copy of the GNU Library General Public License
 dnl    along with this library; see the file COPYING.LIB.  If not, write to
-dnl    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-dnl    Boston, MA 02111-1307, USA.
+dnl    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl    Boston, MA 02110-1301, USA.
 
 # Original Author was Kalle@kde.org
 # I lifted it in some mater. (Stephan Kulow)
--- a/kdiff3/admin/cvs.sh	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/cvs.sh	Mon Apr 10 08:40:51 2006 +0000
@@ -6,6 +6,8 @@
 # It defines a shell function for each known target
 # and then does a case to call the correct function.
 
+unset MAKEFLAGS
+
 call_and_fix_autoconf()
 {
   $AUTOCONF || exit 1
@@ -20,80 +22,79 @@
 
 strip_makefile()
 {
-  if test -f $makefile_wo; then :; else
-    perl -e '$in=0; while ( <> ) { $in = 1 if ($_=~ m/^if /); print $_ unless ($in); $in = 0 if ($_ =~ m/^endif/); }' < Makefile.am.in > $makefile_wo
+  if test ! -f $makefile_wo; then
+    perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo
   fi
 }
 
 check_autotool_versions()
 {
+required_autoconf_version="2.53 or newer"
 AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
 case $AUTOCONF_VERSION in
   Autoconf*2.5* | autoconf*2.5* ) : ;;
   "" )
     echo "*** AUTOCONF NOT FOUND!."
-    echo "*** KDE requires autoconf 2.52, 2.53 or 2.54"
+    echo "*** KDE requires autoconf $required_autoconf_version"
     exit 1
     ;;
   * )
     echo "*** YOU'RE USING $AUTOCONF_VERSION."
-    echo "*** KDE requires autoconf 2.52, 2.53 or 2.54"
+    echo "*** KDE requires autoconf $required_autoconf_version"
     exit 1
     ;;
 esac
- 
+
 AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
 case $AUTOHEADER_VERSION in
   Autoconf*2.5* | autoheader*2.5* ) : ;;
   "" )
     echo "*** AUTOHEADER NOT FOUND!."
-    echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)"
+    echo "*** KDE requires autoheader $required_autoconf_version"
     exit 1
     ;;
   * )
     echo "*** YOU'RE USING $AUTOHEADER_VERSION."
-    echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)"
+    echo "*** KDE requires autoheader $required_autoconf_version"
     exit 1
     ;;
 esac
 
 AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
+required_automake_version="1.6.1 or newer"
 case $AUTOMAKE_STRING in
   automake*1.5d* | automake*1.5* | automake*1.5-* )
     echo "*** YOU'RE USING $AUTOMAKE_STRING."
-    echo "*** KDE requires automake 1.6.1 or newer"
+    echo "*** KDE requires automake $required_automake_version"
     exit 1
     ;;
-  automake*1.6.* | automake*1.7* | automake*1.8.* ) : ;;
+  automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9*)
+    echo "*** $AUTOMAKE_STRING found."
+    UNSERMAKE=no
+    ;;
   "" )
     echo "*** AUTOMAKE NOT FOUND!."
-    echo "*** KDE requires automake 1.6.1 or newer"
+    echo "*** KDE requires automake $required_automake_version"
     exit 1
     ;;
-  unsermake* ) :
+  *unsermake* ) :
     echo "*** YOU'RE USING UNSERMAKE."
     echo "*** GOOD LUCK!! :)"
+    UNSERMAKE=unsermake
     ;;
   * )
     echo "*** YOU'RE USING $AUTOMAKE_STRING."
-    echo "*** KDE requires automake 1.6"
+    echo "*** KDE requires automake $required_automake_version"
     exit 1
     ;;
 esac
+unset required_automake_version
 }
 
 cvs()
 {
 check_autotool_versions
- 
-### Produce acinclude.m4
-if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
-  echo "*** Creating acinclude.m4"
-  rm -f acinclude.m4 configure.files
-  
-  strip_makefile
-  $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4
-fi
+acinclude_m4 
 
 ### Make new subdirs and configure.in.
 ### The make calls could be optimized away here,
@@ -112,25 +113,31 @@
             Makefile_am
         fi
      fi
+     configure_files
      echo "*** Creating configure.in"
-     configure_files
-     strip_makefile
-     $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
+     if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then 
+       strip_makefile
+       $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
+     else
+       configure_in
+     fi
 fi
 
 echo "*** Creating aclocal.m4"
-$ACLOCAL || exit 1
+$ACLOCAL $ACLOCALFLAGS || exit 1
 echo "*** Creating configure"
 call_and_fix_autoconf
 
 if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
   echo "*** Creating config.h template"
   $AUTOHEADER || exit 1
+  touch config.h.in
 fi
 
 echo "*** Creating Makefile templates"
 $AUTOMAKE || exit 1
-if test -z "$UNSERMAKE"; then
+
+if test "$UNSERMAKE" = no; then
   echo "*** Postprocessing Makefile templates"
   perl -w admin/am_edit || exit 1
 fi
@@ -155,21 +162,38 @@
 ###
 ### First build all of the files necessary to do just "make"
 ###
-if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then
-  strip_makefile
-  $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4
+acinclude_m4
+if test -r configure.in.in; then
+  rm -f configure.in
+  create_subdirs
+
+  if test -r Makefile.am.in; then
+    if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then 
+      strip_makefile
+      $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1
+    else
+      Makefile_am
+    fi
+  fi
+  configure_files
+  if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then 
+    strip_makefile
+    $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1
+  else
+    configure_in
+  fi
 fi
-if test -r configure.in.in; then
-  create_subdirs
-  Makefile_am
-  configure_files
-  strip_makefile
-  $MAKE -f $makefile_wo top_srcdir=. ./configure.in
+$ACLOCAL $ACLOCALFLAGS
+if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then
+  echo "*** Creating config.h template"
+  $AUTOHEADER || exit 1
+  touch config.h.in
 fi
-$ACLOCAL
-$AUTOHEADER
-$AUTOMAKE --foreign --include-deps
-perl -w admin/am_edit
+$AUTOMAKE --foreign || exit 1
+if test "$UNSERMAKE" = no; then
+  echo "*** Postprocessing Makefile templates"
+  perl -w admin/am_edit || exit 1
+fi
 call_and_fix_autoconf
 touch stamp-h.in
 if grep "^cvs-local:" $makefile_am >/dev/null; then
@@ -195,10 +219,17 @@
 
 subdir_dist()
 {
-$ACLOCAL
+$ACLOCAL $ACLOCALFLAGS
 $AUTOHEADER
+touch config.h.in
 $AUTOMAKE
-perl -w ../admin/am_edit
+AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
+case $AUTOMAKE_STRING in
+  *unsermake* ) :
+    ;;
+  *)
+     perl -w ../admin/am_edit --path=../admin
+esac
 call_and_fix_autoconf
 touch stamp-h.in
 }
@@ -208,21 +239,30 @@
 rm -f configure.in configure.in.new
 kde_use_qt_param=
 test -f configure.files || { echo "need configure.files for configure.in"; exit 1; }
-cat `fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"` > configure.in.new
+list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"`
+: > configure.in.new
+for file in $list; do 
+  echo "dnl =======================================================" >> configure.in.new
+  echo "dnl FILE: $file" >> configure.in.new
+  echo "dnl =======================================================" >> configure.in.new
+  echo "" >> configure.in.new
+  cat $file >> configure.in.new
+done
 echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new
 if test -f Makefile.am.in; then
   subdirs=`cat subdirs`
   for dir in $subdirs; do
-    dir=`echo $dir | sed -e "s,[-+.],_,g"`
-    echo "AM_CONDITIONAL($dir""_SUBDIR_included, test \"x\$$dir""_SUBDIR_included\" = xyes)" >> configure.in.new
+    vdir=`echo $dir | sed -e 's,[-+.@],_,g'`
+    echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new
+    if test -f "$dir/configure.in"; then
+        echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new
+        echo "  AC_CONFIG_SUBDIRS($dir)" >> configure.in.new
+        echo "fi" >> configure.in.new
+    fi
   done
 fi
 
 echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new
-if test -n "$UNSERMAKE"; then
-  echo "AC_CONFIG_FILES([ Makefile.rules ])" >> configure.in.new
-  echo "AC_CONFIG_FILES([ Makefile.calls ])" >> configure.in.new
-fi
 
 if test -f inst-apps; then
     topleveldirs=`cat inst-apps`
@@ -243,14 +283,10 @@
 	continue
   fi
 
-  mfs=`find $topleveldir -name Makefile.am -print | fgrep -v "/." | \
+  mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \
        sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'`
   for i in $mfs; do
      echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new
-     if test -n "$UNSERMAKE"; then
-        echo "AC_CONFIG_FILES([ $i.rules ])" >> configure.in.new
-	echo "AC_CONFIG_FILES([ $i.calls ])" >> configure.in.new
-     fi
   done
 done
 
@@ -260,10 +296,6 @@
     echo "AC_CONFIG_FILES([ $file ])" >>  configure.in.new
 done
 
-if test -n "$UNSERMAKE"; then
-  echo "AC_CONFIG_FILES([ MakeVars ])" >> configure.in.new
-fi
-
 midfiles=`cat configure.files | fgrep "configure.in.mid"`
 test -n "$midfiles" && cat $midfiles >> configure.in.new
 
@@ -284,7 +316,7 @@
    fi
 fi
 if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then
-     VERSION="\"3.1.0\""
+     VERSION="\"3.5.0\""
 fi
 if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then
    modulename=`pwd`; 
@@ -307,6 +339,7 @@
 
 configure_files()
 {
+echo "*** Creating configure.files"
 admindir=NO
 for i in . .. ../.. ../../..; do
   if test -x $i/admin; then admindir=$i/admin; break; fi
@@ -322,11 +355,11 @@
    inst=`cat inst-apps`
    list=""
    for i in $inst; do
-      list="$list `find $i/ -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
+      list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
 		sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`"
    done
 else
-   list=`find . -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
+   list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \
 		sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`
 fi
 for i in $list; do if test -f $i && test `dirname $i` != "." ; then
@@ -334,6 +367,10 @@
 fi; done
 test -f configure.in.mid && echo configure.in.mid >> configure.files
 test -f configure.in.bot && echo configure.in.bot >> configure.files
+if test ! -s configure.files; then
+   echo "There are no files to build a configure. Please check your checkout."
+   exit 1
+fi
 }
 
 create_subdirs()
@@ -429,36 +466,47 @@
     esac
   done
 
-  if test -n "$UNSERMAKE"; then
-    cp Makefile.am.in Makefile.am
-    chmod u+w Makefile.am
-    topsubdirs=
-    for i in $compilefirst $dirs $compilelast; do
-       vari=`echo $i | sed -e "s,[-+],_,g"`
-       echo "if $vari""_SUBDIR_included" >> Makefile.am
-       echo "$vari""_SUBDIR=$i" >> Makefile.am
-       echo "endif" >> Makefile.am
-       topsubdirs="$topsubdirs \$($vari""_SUBDIR)"
+  adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'`
+  if echo "$adds" | fgrep "*" >/dev/null ; then
+    adds=`ls -d -1 $adds 2>/dev/null`
+    fgrep -v  '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds
+    str='$(top_srcdir)/acinclude.m4:'
+    for add in $adds; do 
+	str="$str \$(top_srcdir)/$add"
     done
-    echo "SUBDIRS=$topsubdirs" >> Makefile.am
+    echo $str >> Makefile.am.in.adds
   else
-    cat Makefile.am.in | \
-        sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \
-        sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am
+    cat Makefile.am.in > Makefile.am.in.adds
+  fi
+
+  cat Makefile.am.in.adds | \
+      sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \
+      sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am
     echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am
-  fi
+  rm Makefile.am.in.adds
 fi
 }
 
-cvs_clean()
+acinclude_m4()
 {
-if test -d CVS; then :; else
-  echo "You don't have a toplevel CVS directory."
-  echo "You most certainly didn't use cvs to get these sources."
-  echo "But this function depends on cvs's information."
-  exit 1
-fi
-perl $admindir/cvs-clean.pl
+  echo "*** Creating acinclude.m4"
+  adds=
+  if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then 
+    strip_makefile
+    rm -f acinclude.m4
+    adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'`
+    if echo $adds | fgrep "*" >/dev/null ; then
+      adds=`ls -d -1 $adds 2>/dev/null`
+    else
+      $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1
+    fi
+  else
+    rm -f acinclude.m4
+  fi
+  # if it wasn't created up to now, then we do it better
+  if test ! -f acinclude.m4; then
+     cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4
+  fi
 }
 
 package_merge()
@@ -479,18 +527,8 @@
 done
 }
 
-package_messages()
+extract_messages()
 {
-rm -rf po.backup
-mkdir po.backup
-
-for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
-  egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i
-  cp po/$i po.backup/backup_$i
-  touch -r po/$i po.backup/backup_$i
-  rm po/$i
-done
-
 podir=${podir:-$PWD/po}
 files=`find . -name Makefile.am | xargs egrep -l '^messages:' `
 dirs=`for i in $files; do echo \`dirname $i\`; done`
@@ -503,22 +541,26 @@
   test -z "$VERBOSE" || echo "Making messages in $subdir"
   (cd $subdir
    if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then
-	$EXTRACTRC *.rc *.ui > rc.cpp
+	$EXTRACTRC *.rc *.ui *.kcfg > rc.cpp
    else
-	candidates=`ls -1 *.rc *.ui 2>/dev/null`
+	candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null`
 	if test -n "$candidates"; then
-	    echo "$subdir has *.rc or *.ui files, but not correct messages line"
+	    echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line"
 	fi
    fi
-   if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then
+   if find . -name \*.c\* -o -name \*.h\* | fgrep -v ".svn" | xargs fgrep -s -q KAboutData ; then
 	echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp
    else echo " " > _translatorinfo.cpp
    fi
-   perl -e '$mes=0; while (<STDIN>) { next if (/^(if|else|endif)\s/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile
+   perl -e '$mes=0; while (<STDIN>) { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile
 
-   $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" \
-	XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x ${includedir:-${KDEDIR:-/usr/local/kde}/include}/kde.pot" \
-	messages 
+   kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot
+   if ! test -f $kdepotpath; then
+	kdepotpath=`kde-config --expandvars --prefix`/include/kde.pot
+   fi
+
+   $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \
+	XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages
    exit_code=$?
    if test "$exit_code" != 0; then
        echo "make exit code: $exit_code"
@@ -530,16 +572,31 @@
    rm -f $subdir/_transMakefile
 done
 rm -f $tmpname
+}
+
+package_messages()
+{
+rm -rf po.backup
+mkdir po.backup
+
+for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
+  egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i
+  cat po/$i > po.backup/backup_$i
+  touch -r po/$i po.backup/backup_$i
+  rm po/$i
+done
+
+extract_messages
+
 for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do
   test -f po/$i || echo "disappeared: $i"
 done
 for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do
-   msgmerge -q -o po/$i po/$i po/$i
-   egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot
-  if test -f po.backup/$i && test -n "`diff temp.pot po.backup/$i`"; then
-	echo "will update $i"
-	msgmerge -q po.backup/backup_$i po/$i > temp.pot
-	mv temp.pot po/$i
+  sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i
+  #msgmerge -q -o po/$i po/$i po/$i
+  egrep -v '^#[^,]' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot
+  if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then
+    echo "will update $i"
   else
     if test -f po.backup/backup_$i; then
       test -z "$VERBOSE" || echo "I'm restoring $i"
@@ -554,33 +611,42 @@
 rm -rf po.backup
 }
 
-unset CDPATH
+# Make sure that sorting is always done the same way
+LC_ALL=C
+export LC_ALL
+unset LANG || :
+unset LC_CTYPE || :
+unset LANGUAGE || :
+
+unset CDPATH || :
 admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`
 test "x$admindir" = "x$0" && admindir=.
 
 test "x$MAKE" = x && MAKE=make
 makefile_am=Makefile.am
-makefile_wo=Makefile.am
+makefile_wo=Makefile.am.wo
 if test -f Makefile.am.in; then
   makefile_am=Makefile.am.in
   makefile_wo=Makefile.am.in.wo
+  rm -f $makefile_wo
 fi
 
-# Suck in the AUTOCONF detection code
-. $admindir/detect-autoconf.sh
+# Call script to find autoconf and friends.  Uses eval since the script outputs
+# sh-compatible code.
+eval `$admindir/detect-autoconf.pl`
 
 ###
 ### Main
 ###
 
-arg=`echo $1 | tr '\-.' __`
+arg=`echo $1 | tr .- __`
 case $arg in
   cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \
-  cvs_clean | package_merge | package_messages | Makefile_am ) $arg ;;
+  cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;;
   configure ) call_and_fix_autoconf ;;
   * ) echo "Usage: cvs.sh <target>"
       echo "Target can be one of:"
-      echo "    cvs cvs-clean dist"
+      echo "    cvs svn dist"
       echo "    configure.in configure.files"
       echo "    package-merge package-messages"
       echo ""
@@ -588,8 +654,8 @@
       exit 1 ;;
 esac
 
-if test -f Makefile.am.in.wo; then
-  rm Makefile.am.in.wo
+if test -f $makefile_wo; then
+  rm $makefile_wo
 fi
 
 exit 0
--- a/kdiff3/admin/debianrules	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/debianrules	Mon Apr 10 08:40:51 2006 +0000
@@ -7,113 +7,37 @@
 $origPwd = `pwd`;
 chomp $origPwd;
 
-$kde_confdir		=	"/etc/kde3";
-$kde_prefix		=	"/usr";
-$kde_bindir		=	"$kde_prefix/bin";
-$kde_includedir		=	"$kde_prefix/include/kde";
-$kde_libdir		=	"$kde_prefix/lib";
-$kde_cgidir		=	"$kde_prefix/lib/cgi-bin";
-$kde_moduledir		=	"$kde_prefix/lib/kde3";
-$kde_appsdir		=	"$kde_prefix/share/applnk";
-$kde_datadir		=	"$kde_prefix/share/apps";
-$kde_htmldir		=	"$kde_prefix/share/doc/kde/HTML";
-$kde_icondir		=	"$kde_prefix/share/icons";
-$kde_locale		=	"$kde_prefix/share/locale";
-$kde_mimedir		=	"$kde_prefix/share/mimelnk";
-$kde_servicesdir	=	"$kde_prefix/share/services";
-$kde_servicetypesdir	=	"$kde_prefix/share/servicetypes";
-$kde_sounddir		=	"$kde_prefix/share/sounds";
-$kde_templatesdir	=	"$kde_prefix/share/templates";
-$kde_wallpaperdir	=	"$kde_prefix/share/wallpapers";
+$kde_prefix	=	"/usr";
+$sysconfdir	=	"/etc";
+$kde_includedir	=	"$kde_prefix/include/kde";
+$infodir	=	"$kde_prefix/share/info";
+$mandir		=	"$kde_prefix/share/man";
+$qtdir		=	"/usr/share/qt3";
 
-$mandir			=	"$kde_prefix/share/man";
-$infodir		=	"$kde_prefix/share/info";
-$sysconfdir		=	"/etc";
-
-$QTDIR			=	"/usr/share/qt3";
-$IDL			=	"$kde_bindir/cuteidl";
-$DCOPIDL		=	"$kde_bindir/dcopidl";
-$DCOPIDL2CPP		=	"$kde_bindir/dcopidl2cpp";
-$KDB2HTML		=	"$kde_bindir/kdb2html";
-$MCOPIDL		=	"$kde_bindir/mcopidl";
-$ARTSCCONFIG		=	"$kde_bindir/artsc-config";
+$kde_cgidir	=	"$kde_prefix/lib/cgi-bin";
+$kde_confdir	=	"$sysconfdir/kde3";
+$kde_htmldir	=	"$kde_prefix/share/doc/kde/HTML";
 
 if (defined $ENV{DEB_BUILD_OPTIONS} &&
-    $ENV{DEB_BUILD_OPTIONS} =~ /\bdebug\b/) {
-  $enable_debug="--enable-debug=full";
-  $enable_final="";
-}
-else {
-  $enable_debug="--disable-debug";
-  if (defined $ENV{DEB_BUILD_OPTIONS} &&
-              $ENV{DEB_BUILD_OPTIONS} =~ /\bfinal\b/) {
-	  $enable_final="--enable-final";
-  } else {
-	  $enable_final="";
-  }
+    $ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) {
+	$enable_debug="--enable-debug=full";
+} else {
+	$enable_debug="--disable-debug";
 }
 
 if (@ARGV && $ARGV[0] eq 'echodirs') {
+  print STDOUT "export kde_prefix=$kde_prefix\n";
+  print STDOUT "export sysconfdir=$sysconfdir\n";
+  print STDOUT "export kde_includedir=$kde_includedir\n";
+  print STDOUT "export infodir=$infodir\n";
+  print STDOUT "export mandir=$mandir\n";
+  print STDOUT "export qtdir=$qtdir\n";
+
+  print STDOUT "export kde_cgidir=$kde_cgidir\n";
   print STDOUT "export kde_confdir=$kde_confdir\n";
-  print STDOUT "export kde_prefix=$kde_prefix\n";
-  print STDOUT "export kde_bindir=$kde_bindir\n";
-  print STDOUT "export kde_includedir=$kde_includedir\n";
-  print STDOUT "export kde_libdir=$kde_libdir\n";
-  print STDOUT "export kde_cgidir=$kde_cgidir\n";
-  print STDOUT "export kde_moduledir=$kde_moduledir\n";
-  print STDOUT "export kde_appsdir=$kde_appsdir\n";
-  print STDOUT "export kde_datadir=$kde_datadir\n";
   print STDOUT "export kde_htmldir=$kde_htmldir\n";
-  print STDOUT "export kde_icondir=$kde_icondir\n";
-  print STDOUT "export kde_locale=$kde_locale\n";
-  print STDOUT "export kde_mimedir=$kde_mimedir\n";
-  print STDOUT "export kde_servicesdir=$kde_servicesdir\n";
-  print STDOUT "export kde_servicetypesdir=$kde_servicetypesdir\n";
-  print STDOUT "export kde_sounddir=$kde_sounddir\n";
-  print STDOUT "export kde_templatesdir=$kde_templatesdir\n";
-  print STDOUT "export kde_wallpaperdir=$kde_wallpaperdir\n";
 
-  print STDOUT "export mandir=$mandir\n";
-  print STDOUT "export infodir=$infodir\n";
-  print STDOUT "export sysconfdir=$sysconfdir\n";
-
-  print STDOUT "export QTDIR=$QTDIR\n";
-  print STDOUT "export IDL=$IDL\n";
-  print STDOUT "export DCOPIDL=$DCOPIDL\n";
-  print STDOUT "export DCOPIDL2CPP=$DCOPIDL2CPP\n";
-  print STDOUT "export KDB2HTML=$KDB2HTML\n";
-  print STDOUT "export MCOPIDL=$MCOPIDL\n";
-  print STDOUT "export ARTSCCONFIG=$ARTSCCONFIG\n";
-  print STDOUT "export INSTALL_DATA=install -p -c -m 644\n";
-
-  print STDOUT "configkde=$enable_debug $enable_final --disable-rpath --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --sysconfdir=\$(sysconfdir) --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\n";
-  print STDOUT "configkdevelop=$enable_debug $enable_final --disable-rpath --enable-docbase --enable-kdoc2 --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --with-kdelibsdoc-dir=/usr/share/doc/kdelibs3-doc/html --with-xinerama\n";
-  print STDOUT "configkdepim=$enable_debug $enable_final --disable-rpath --with-extra-includes=/usr/include/libpisock --enable-shared --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\n";
+  print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n";
 
   exit
 }
-
-if (@ARGV && $ARGV[0] eq 'echoglobals') {
-	print STDOUT "[Directories]\n";
-	print STDOUT "dir_config=$kde_confdir\n";
-	print STDOUT "dir_tmp=/tmp\n";
-	print STDOUT "dir_socket=/tmp\n";
-	print STDOUT "dir_exe=$kde_bindir\n";
-	print STDOUT "dir_lib=$kde_libdir\n";
-	print STDOUT "dir_cgi=$kde_cgidir\n";
-	print STDOUT "dir_module=$kde_moduledir\n";
-	print STDOUT "dir_apps=$kde_appsdir\n";
-	print STDOUT "dir_data=$kde_datadir\n";
-	print STDOUT "dir_html=$kde_htmldir\n";
-	print STDOUT "dir_icon=$kde_icondir\n";
-	print STDOUT "dir_locale=$kde_locale\n";
-	print STDOUT "dir_mime=$kde_mimedir\n";
-	print STDOUT "dir_services=$kde_servicesdir\n";
-	print STDOUT "dir_servicetypes=$kde_servicetypesdir\n";
-	print STDOUT "dir_sound=$kde_sounddir\n";
-	print STDOUT "dir_templates=$kde_templatesdir\n";
-	print STDOUT "dir_wallpaper=$kde_wallpaperdir\n";
-	print STDOUT "[General]\n";
-	print STDOUT "TerminalApplication=x-terminal-emulator\n";
-	exit
-}
--- a/kdiff3/admin/depcomp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/depcomp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,7 +1,9 @@
 #! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
 
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 # 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
@@ -15,8 +17,8 @@
 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -25,13 +27,45 @@
 
 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
 
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
 fi
-# `libtool' can also be set to `yes' or `no'.
 
-depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
@@ -163,19 +197,25 @@
 
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  This file always lives in the current directory.
-  # Also, the AIX compiler puts `$object:' at the start of each line;
-  # $object doesn't have directory information.
-  stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
   tmpdepfile="$stripped.u"
-  outname="$stripped.o"
   if test "$libtool" = yes; then
     "$@" -Wc,-M
   else
     "$@" -M
   fi
+  stat=$?
 
-  stat=$?
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
   if test $stat -eq 0; then :
   else
     rm -f "$tmpdepfile"
@@ -183,6 +223,7 @@
   fi
 
   if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
     # Each line is of the form `foo.o: dependent.h'.
     # Do two passes, one to just change these to
     # `$object: dependent.h' and one to simply `dependent.h:'.
@@ -198,11 +239,9 @@
   ;;
 
 icc)
-  # Must come before tru64.
-
-  # Intel's C compiler understands `-MD -MF file'.  However
+  # Intel's C compiler understands `-MD -MF file'.  However on
   #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # will fill foo.d with something like
+  # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
   # which is wrong.  We want:
@@ -210,6 +249,12 @@
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
 
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
@@ -219,45 +264,70 @@
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h'.
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
   # Do two passes, one to just change these to
   # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
 tru64)
-   # The Tru64 AIX compiler uses -MD to generate dependencies as a side
+   # The Tru64 compiler uses -MD to generate dependencies as a side
    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
    # dependencies in `foo.d' instead, so we check for that too.
    # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 
-   tmpdepfile1="$object.d"
-   tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` 
    if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
       "$@" -Wc,-MD
    else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
       "$@" -MD
    fi
 
    stat=$?
    if test $stat -eq 0; then :
    else
-      rm -f "$tmpdepfile1" "$tmpdepfile2"
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
       exit $stat
    fi
 
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   else
-      tmpdepfile="$tmpdepfile2"
-   fi
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a space and a tab in the [].
-      sed -e 's,^.*\.[a-z]*:[ 	]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
@@ -270,34 +340,42 @@
 
 dashmstdout)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  test -z "$dashmflag" && dashmflag=-M
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*) # this is libtool, let us make it quiet
-      for arg
-      do # cycle over the arguments
-        case "$arg" in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
-	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
       ;;
     esac
-    "$@" $dashmflag | sed 's:^[^:]*\:[ 	]*:'"$object"'\: :' > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
   tr ' ' '
@@ -315,36 +393,40 @@
   ;;
 
 makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
   # X makedepend
-  (
-    shift
-    cleared=no
-    for arg in "$@"; do
-      case $cleared in no)
-        set ""; shift
-	cleared=yes
-      esac
-      case "$arg" in
-        -D*|-I*)
-	  set fnord "$@" "$arg"; shift;;
-	-*)
-	  ;;
-	*)
-	  set fnord "$@" "$arg"; shift;;
-      esac
-    done
-    obj_suffix="`echo $object | sed 's/^.*\././'`"
-    touch "$tmpdepfile"
-    ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tail +3 "$tmpdepfile" | tr ' ' '
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
 ' | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
@@ -354,35 +436,39 @@
 
 cpp)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*)
-      for arg
-      do # cycle over the arguments
-        case $arg in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
-	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
       ;;
     esac
-    "$@" -E |
+  done
+
+  "$@" -E |
     sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
     sed '$ s: \\$::' > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -392,34 +478,27 @@
 
 msvisualcpp)
   # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
+  # always write the preprocessed file to stdout, regardless of -o,
   # because we must use -o when running libtool.
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*)
-      for arg
-      do # cycle over the arguments
-        case $arg in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
 	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
-      ;;
+	shift
+	shift
+	;;
     esac
-    "$@" -E |
-    sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
@@ -439,3 +518,12 @@
 esac
 
 exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/deps.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,19 @@
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in $(top_srcdir)/admin/cvs.sh $(top_srcdir)/admin/pkg.m4.in
+	@cd $(top_srcdir) && $(SHELL) admin/cvs.sh acinclude_m4
+
+$(top_srcdir)/configure.in: $(top_srcdir)/subdirs $(top_srcdir)/configure.files $(top_srcdir)/admin/cvs.sh
+	@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure_in
+
+$(top_srcdir)/configure.files: $(top_srcdir)/subdirs $(CONF_FILES)
+	@cd $(top_srcdir) && $(SHELL) admin/cvs.sh configure.files $(top_srcdir)/admin/cvs.sh
+
+$(top_srcdir)/Makefile.am: $(top_srcdir)/Makefile.am.in $(top_srcdir)/subdirs $(top_srcdir)/admin/cvs.sh
+	@cd $(top_srcdir) && $(SHELL) admin/cvs.sh Makefile_am
+
+$(top_srcdir)/subdirs: $(top_srcdir)/Makefile.am.in $(top_srcdir)/admin/cvs.sh
+	@cd $(top_srcdir) && $(SHELL) admin/cvs.sh subdirs
+
+# defining default rules for files that may not be present
+$(top_srcdir)/Makefile.am.in:
+$(CONF_FILES):
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/detect-autoconf.pl	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,173 @@
+#!/usr/bin/env perl
+
+# Try to locate best version of auto*
+# By Michael Pyne <michael.pyne@kdemail.net>
+#
+# Copyright (c) 2005.
+# This code is public domain.  You may use it however you like (including
+# relicensing).
+
+# Emulate the 'which' program.
+sub which
+{
+    my $prog = shift;
+    my @paths = split(/:/, $ENV{'PATH'});
+
+    for $path (@paths)
+    {
+	return "$path/$prog" if -x "$path/$prog";
+    }
+
+    return "";
+}
+
+# Subroutine to determine the highest installed version of the given program,
+# searching from the given paths.
+sub findBest
+{
+    my ($program, @paths) = @_;
+    my $best_version_found = '0'; # Deliberately a string.
+    my %versions;
+    my %minimumVersions = (
+ 	'autoconf' => '2.5',
+	'automake' => '1.6',
+    );
+
+    # Allow user to use environment variable to override search.
+    return $ENV{uc $program} if $ENV{uc $program};
+
+    for $prefix (@paths)
+    {
+	@files = glob "$prefix/$program*";
+	for $file (@files)
+	{
+	    # Don't check non-executable scripts.
+	    next unless -x $file;
+
+	    ($version) = $file =~ /$prefix\/$program-?(.*)$/;
+	    $version =~ s/-|\.//g;
+
+	    # Special case some programs to make sure it has a minimum version.
+	    if (not $version and exists $minimumVersions{$program})
+	    {
+		my $min_version = $minimumVersions{$program};
+		my $versionOutput = `$program --version 2>/dev/null | head -n 1`;
+
+		# If we can't run the script to get the version it likely won't work later.
+		next unless $versionOutput; 
+
+		# Use number.number for version (we don't need the excess in general).
+		($versionOutput) = ($versionOutput =~ /(\d\.\d)/);
+
+		# Use lt to do lexicographical comparison of strings (which should be
+		# equivalent and doesn't involve issues with floating point conversions).
+		if (not $versionOutput or $versionOutput lt $min_version)
+		{
+		    next;
+		}
+	    }
+
+	    # If no version suffix then use it in favor of a versioned autotool
+	    # since the ever-popular WANT_AUTOFOO should then work (in theory).
+	    return $file unless $version;
+
+	    # Emulate 'which', and abort if we've already seen this version.
+	    next if exists $versions{$version};
+
+	    # Save filename of program.
+	    $versions{$version} = $file;
+
+	    # Use string comparison so that e.g. 253a will be > 253 but < 254.
+	    if ($version gt $best_version_found)
+	    {
+		$best_version_found = $version;
+	    }
+	}
+    }
+
+    return $versions{$best_version_found};
+}
+
+# Find an appropriate "which" program for later use by the shell script calling
+# us.
+sub findWhich
+{
+    for $candidate ('type -p', 'which', 'type')
+    {
+	$test = `$candidate sh 2>/dev/null`;
+	chomp $test;
+
+	return $candidate if -x $test;
+    }
+}
+
+# Uses which() to find a program unless the user provided its path in the
+# environment (the upper case program name is searched).
+sub findProgram
+{
+    $suffix = ""; # For use if @_ has only one param.
+    my ($program, $suffix) = @_;
+
+    return $ENV{uc $program} if $ENV{uc $program};
+    return which("$program$suffix");
+}
+
+# SCRIPT STARTS.
+
+# Search in path.
+@paths = split(/:/, $ENV{'PATH'});
+
+# Make sure at least /usr/bin and /usr/local/bin are in this search.
+unshift @paths, '/usr/local/bin' unless grep $_ eq '/usr/local/bin', @paths;
+unshift @paths, '/usr/bin' unless grep $_ eq '/usr/bin', @paths;
+
+$autoconf = findBest('autoconf', @paths);
+($autoconf_suffix) = $autoconf =~ /.*autoconf(.*)$/;
+
+# Find matching autoconf companions.
+$autoheader = findProgram('autoheader', $autoconf_suffix);
+$autom4te = findProgram('autom4te', $autoconf_suffix);
+
+# Get best automake, and look for unsermake to possibly override it.
+$automake = findBest('automake', @paths);
+$unsermake = "";
+# backward compatible: if $UNSERMAKE points to a path, use it
+$unsermake = findProgram('unsermake') if (defined($ENV{'UNSERMAKE'}) and $ENV{'UNSERMAKE'} =~ /\//);
+# new compatible: if it says 'yes', use the one from path
+$unsermake = which('unsermake') if ($ENV{'UNSERMAKE'} eq 'yes');
+
+($automake_suffix) = $automake =~ /.*automake(.*)$/;
+
+# Use unsermake if we found it.
+$automake = "$unsermake -c" if $unsermake;
+
+# Find matching automake companions.
+$aclocal = findProgram('aclocal', $automake_suffix);
+
+$which = findWhich();
+
+# Make sure we have all of the needed programs.
+for $i (qw'autoconf autoheader autom4te automake aclocal')
+{
+    unless(${$i})
+    {
+	print "# Unable to find $i!!\n";
+	exit 1;
+    }
+}
+
+# Print results in eval-able form.
+print <<EOF;
+AUTOCONF="$autoconf"
+AUTOHEADER="$autoheader"
+AUTOM4TE="$autom4te"
+
+AUTOMAKE="$automake"
+ACLOCAL="$aclocal"
+
+WHICH="$which"
+
+export AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE ACLOCAL WHICH
+EOF
+
+exit 0;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/do_make	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# this is a script around make which basicly checks
+# if it's in srcdir or in builddir and changes to 
+# the right directory for calling /usr/bin/make
+# (C) Stephan Kulow
+
+# You may need to set OBJ_REPLACEMENT variable to get it to work.
+# In the variable use the sed syntax to switch directories, for example
+# export OBJ_REPLACEMENT="s:/home/zack/cvs/kde:/home/zack/build:"
+# will assure that the builds are performed under /home/zack/build
+# directory, when the cvs is held under /home/zack/cvs/kde.
+
+file=Makefile
+dir=.
+args=()
+jobs=
+
+while test $# -gt 0 ; do
+   case "${1}" in
+      -f)
+	shift
+	file="${1}" 
+	shift 
+	args=("${args[@]}" -f $file)
+	;;
+      -C)
+	shift
+	dir="${1}"
+	shift ;;
+      -j)
+	shift
+	jobs="${1}"
+	shift ;;
+      -j*)
+	jobs="${1/-j/}"
+	shift ;;
+      *)
+	args=("${args[@]}" "$1")
+	shift 
+	;;
+    esac
+done
+
+if test ! -f $dir/$file; then
+  if test -n "$OBJ_SUBDIR"; then
+    dir=$PWD
+    subdir=.
+    while test ! -f $dir/$OBJ_SUBDIR/$file; do
+       subdir=`basename $dir`"/$subdir"
+       dir=`dirname $dir`
+       if test "$dir" = "/"; then
+         # the case that someone puts the compile dir in /
+         # is very unlikely, so we better skip here ;)
+         echo "can't find $OBJ_SUBDIR above current dir"
+         exit 1
+       fi
+    done
+    cd $dir/$OBJ_SUBDIR/$subdir
+  else
+    if test -n "$OBJ_REPLACEMENT"; then
+      pwd=`echo $PWD | sed -e "$OBJ_REPLACEMENT"`
+      if test ! -f $pwd/$dir/$file; then
+  	 echo "no objdir found. Tried $pwd"
+	 exit 1
+      fi
+      cd $pwd/$dir
+    fi
+  fi
+else
+  cd $dir
+fi
+
+echo "makeobj[0]: Entering directory \`$PWD'"
+if test -z "$MAKE"; then
+    if head -n 1 $file | grep unsermake >/dev/null; then
+        MAKE=`type -p unsermake`
+	if test ! -x "$MAKE"; then
+		echo 'Makefile was created with unsermake, but there'
+		echo 'is no unsermake in $PATH'
+		exit 1
+	fi
+	MAKE="$MAKE --no-real-compare VERBOSE=1"
+	if test -n "$jobs"; then args=("${args[@]}" --compile-jobs=$jobs); fi
+    else
+        MAKE=/usr/bin/make
+	if test -n "$jobs"; then args=("${args[@]}" -j $jobs); fi
+    fi
+fi
+
+echo "Calling $MAKE ${args[@]}"
+LANGUAGE=C $MAKE "${args[@]}"
+retval=$?
+echo "makeobj[0]: Leaving directory \`$PWD'"
+exit $retval
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/doxygen.sh	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,872 @@
+#! /bin/sh
+#
+# doxygen.sh Copyright (C) 2005 by Adriaan de Groot
+#            Based on some code from Doxyfile.am, among other things.
+# License:   GPL version 2.
+#            See file COPYING in kdelibs for details.
+
+echo "*** doxygen.sh"
+
+# Recurse handling is a little complicated, since normally
+# subdir (given on the command-line) processing doesn't recurse
+# but you can force it to do so.
+recurse=1
+recurse_given=NO
+use_modulename=1
+cleanup=YES
+
+while test -n "$1" ; do
+case "x$1" in
+"x--no-cleanup" )
+	cleanup=NO
+	;;
+"x--no-recurse" )
+	recurse=0
+	recurse_given=YES
+	;;
+"x--recurse" )
+	recurse=1
+	recurse_given=YES
+	;;
+"x--no-modulename" )
+	use_modulename=0
+	;;
+"x--modulename" )
+	use_modulename=1
+	;;
+"x--help" )
+	echo "doxygen.sh usage:"
+	echo "doxygen.sh [--no-recurse] [--no-modulename] <srcdir> [<subdir>]"
+	exit 2
+	;;
+x--doxdatadir=* )
+	DOXDATA=`echo $1 | sed -e 's+--doxdatadir=++'`
+	;;
+x--installdir=*)
+	PREFIX=`echo $1 | sed -e 's+--installdir=++'`
+	;;
+x--* )
+	echo "Unknown option: $1"
+	exit 1
+	;;
+* )
+	top_srcdir="$1"
+	break
+	;;
+esac
+shift
+done
+
+
+### Sanity check the mandatory "top srcdir" argument.
+if test -z "$top_srcdir" ; then
+	echo "Usage: doxygen.sh <top_srcdir>"
+	exit 1
+fi
+if ! test -d "$top_srcdir" ; then
+	echo "top_srcdir ($top_srcdir) is not a directory."
+	exit 1
+fi
+
+### Normalize top_srcdir so it is an absolute path.
+if ! expr "x$top_srcdir" : "x/" > /dev/null ; then
+	top_srcdir=`cd "$top_srcdir" 2> /dev/null && pwd`
+	if ! test -d "$top_srcdir" ; then
+		echo "top_srcdir ($top_srcdir) is not a directory."
+		exit 1
+	fi
+fi
+
+
+
+### Sanity check and guess QTDOCDIR.
+if test -z "$QTDOCDIR" ; then
+	if test -z "$QTDIR" ; then
+		for i in /usr/X11R6/share/doc/qt/html
+		do
+			QTDOCDIR="$i"
+			test -d "$QTDOCDIR" && break
+		done
+	else
+		for i in share/doc/qt/html doc/html
+		do
+			QTDOCDIR="$QTDIR/$i"
+			test -d "$QTDOCDIR" && break
+		done
+	fi
+fi
+if test -z "$QTDOCDIR"  || test \! -d "$QTDOCDIR" ; then
+	if test -z "$QTDOCDIR" ; then
+		echo "* QTDOCDIR could not be guessed."
+	else
+		echo "* QTDOCDIR does not name a directory."
+	fi
+	if test -z "$QTDOCTAG" ; then
+		echo "* QTDOCDIR set to \"\""
+		QTDOCDIR=""
+	else
+		echo "* But I'll use $QTDOCDIR anyway because of QTDOCTAG."
+	fi
+fi
+
+### Get the "top srcdir", also its name, and handle the case that subdir "."
+### is given (which would be top_srcdir then, so it's equal to none-given
+### but no recursion either).
+###
+# top_srcdir="$1" # Already set by options processing
+module_name=`basename "$top_srcdir"`
+subdir="$2"
+if test "x." = "x$subdir" ; then
+	subdir=""
+	if test "x$recurse_given" = "xNO" ; then
+		recurse=0
+	fi
+fi
+if test "x" != "x$subdir" ; then
+	# If no recurse option given explicitly, default to
+	# no recurse when processing subdirs given on the command-line.
+	if test "x$recurse_given" = "xNO" ; then
+		recurse=0
+	fi
+fi
+
+if test -z "$DOXDATA" || test ! -d "$DOXDATA" ; then
+	if test -n "$DOXDATA" ; then
+		echo "* \$DOXDATA is '$DOXDATA' which does not name a directory"
+	fi
+	DOXDATA="$top_srcdir/doc/common"
+fi
+
+if ! test -d "$DOXDATA" ; then
+	echo "* \$DOXDATA does not name a directory ( or is unset ), tried \"$DOXDATA\""
+	exit 1
+fi
+
+if test -n "$PREFIX" && test ! -d "$PREFIX" ; then
+	echo "* \$PREFIX does not name a directory, tried \"$PREFIX\""
+	echo "* \$PREFIX is disabled."
+	PREFIX=""
+fi
+
+### We need some values from top-level files, which
+### are not preserved between invocations of this
+### script, so factor it out for easy use.
+create_doxyfile_in() 
+{
+	eval `grep 'VERSION="' "$top_srcdir/admin/cvs.sh"`
+	echo "PROJECT_NUMBER = $VERSION" > Doxyfile.in
+	grep ^KDE_INIT_DOXYGEN "$top_srcdir/configure.in.in" | \
+		sed -e 's+[^[]*\[\([^]]*\)+PROJECT_NAME = "\1"+' \
+			-e 's+].*++' >> Doxyfile.in
+}
+
+apidoxdir="$module_name"-apidocs
+test "x$use_modulename" = "x0" && apidoxdir="apidocs"
+
+### If we're making the top subdir, create the structure
+### for the apidox and initialize it. Otherwise, just use the
+### structure assumed to be there.
+if test -z "$subdir" ; then
+	if ! test -d "$apidoxdir" ; then
+		mkdir "$apidoxdir" > /dev/null 2>&1
+	fi
+	if ! cd "$apidoxdir" > /dev/null 2>&1 ; then
+		echo "Cannot create and cd into $apidoxdir"
+		exit 1
+	fi
+
+	test -f "Doxyfile.in" || create_doxyfile_in
+
+	# Copy in logos and the like
+	for i in "favicon.ico" "kde_gear_64.png"
+	do
+		cp "$DOXDATA/$i" . > /dev/null 2> /dev/null
+	done
+	for i in "$top_srcdir/doc/api/Dox-"*.png
+	do
+		T=`basename "$i" | sed -e 's+Dox-++'`
+		test -f "$i" && cp "$i" "./$T" > /dev/null 2> /dev/null
+	done
+
+	top_builddir="."
+	srcdir="$1"
+	subdir="."
+else
+	if ! cd "$apidoxdir" > /dev/null 2>&1 ; then
+		echo "Cannot cd into $apidoxdir -- maybe you need to"
+		echo "build the top-level dox first."
+		exit 1
+	fi
+
+	if test "x1" = "x$recurse" ; then
+		# OK, so --recurse was requested
+		if ! test -f "subdirs.top" ; then
+			echo "* No subdirs.top available in the $apidoxdir."
+			echo "* The --recurse option will be ignored."
+			recurse=0
+		fi
+	fi
+fi
+
+### Read a single line (TODO: support \ continuations) from the Makefile.am.
+### Used to extract variable assignments from it.
+extract_line()
+{
+	file="$2" ; test -z "$file" && file="$srcdir/Makefile.am"
+	pattern=`echo "$1" | tr + .`
+	grep "^$1" "$file" | \
+		sed -e "s+$pattern.*=\s*++"
+}
+
+### Handle the COMPILE_{FIRST,LAST,BEFORE,AFTER} part of Makefile.am
+### in the toplevel. Copied from admin/cvs.sh. Licence presumed LGPL).
+create_subdirs()
+{
+echo "* Sorting top-level subdirs"
+dirs=
+idirs=
+if test -f "$top_srcdir/inst-apps"; then
+   idirs=`cat "$top_srcdir/"inst-apps`
+else
+   idirs=`cd "$top_srcdir" && ls -1 | sort`
+fi
+
+compilefirst=""
+compilelast=""
+if test -f "$top_srcdir/"Makefile.am.in ; then
+	compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
+	compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' "$top_srcdir/"Makefile.am.in | head -n 1`
+fi
+for i in $idirs; do
+    if test -f "$top_srcdir/$i"/Makefile.am; then
+       case " $compilefirst $compilelast " in
+         *" $i "*) ;;
+         *) dirs="$dirs $i"
+       esac
+    fi
+done
+
+: > ./_SUBDIRS
+
+for d in $compilefirst; do
+   echo $d >> ./_SUBDIRS
+done
+
+(for d in $dirs; do
+   list=""
+   if test -f "$top_srcdir/"Makefile.am.in ; then
+	   list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
+   fi
+   for s in $list; do
+      echo $s $d
+   done
+   list=""
+   if test -f "$top_srcdir/"Makefile.am.in ; then
+	   list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" "$top_srcdir/"Makefile.am.in | head -n 1`
+   fi
+   for s in $list; do
+      echo $d $s
+   done
+   echo $d $d
+done ) | tsort >> ./_SUBDIRS
+
+for d in $compilelast; do
+   echo $d >> ./_SUBDIRS
+done
+
+test -r _SUBDIRS && mv _SUBDIRS subdirs.top || true
+}
+
+
+### Add HTML header, footer, CSS tags to Doxyfile.
+### Assumes $subdir is set. Argument is a string
+### to stick in front of the file if needed.
+apidox_htmlfiles()
+{
+	dox_header="$top_srcdir/doc/api/$1header.html"
+	dox_footer="$top_srcdir/doc/api/$1footer.html"
+	dox_css="$top_srcdir/doc/api/doxygen.css"
+	test -f "$dox_header" || dox_header="$DOXDATA/$1header.html"
+	test -f "$dox_footer" || dox_footer="$DOXDATA/$1footer.html"
+	test -f "$dox_css" || dox_css="$DOXDATA/doxygen.css"
+
+	echo "HTML_HEADER            = $dox_header" >> "$subdir/Doxyfile" ; \
+	echo "HTML_FOOTER            = $dox_footer" >> "$subdir/Doxyfile" ; \
+	echo "HTML_STYLESHEET        = $dox_css" >> "$subdir/Doxyfile"
+}
+
+apidox_specials()
+{
+	line=`extract_line DOXYGEN_PROJECTNAME "$1"`
+	test -n "$line" && echo "PROJECT_NAME = \"$line\"" >> "$2"
+}
+
+apidox_local()
+{
+	for i in "$top_srcdir/doc/api/Doxyfile.local"
+	do
+		if test -f "$i" ; then
+			cat "$i" >> "$subdir/Doxyfile"
+			break
+		fi
+	done
+}
+
+### Post-process HTML files by substituting in the menu files
+#
+# In non-top directories, both <!-- menu --> and <!-- gmenu -->
+# are calculated and replaced. Top directories get an empty <!-- menu -->
+# if any.
+doxyndex()
+{
+	# Special case top-level to have an empty MENU.
+	if test "x$subdir" = "x." ; then
+		MENU=""
+		htmldir="."
+		htmltop="$top_builddir" # Just ., presumably
+		echo "* Post-processing top-level files"
+	else
+		MENU="<ul>"
+		htmldir="$subdir/html"
+		htmltop="$top_builddir.." # top_builddir ends with /
+		echo "* Post-processing files in $htmldir"
+
+		# Build a little PHP file that maps class names to file
+		# names, for the quick-class-picker functionality.
+		# (The quick-class-picker is disabled due to styling
+		# problems in IE & FF).
+		(
+		echo "<?php \$map = array(";  \
+		for htmlfile in `find $htmldir/ -type f -name "class[A-Z]*.html" | grep -v "\-members.html$"`; do
+			classname=`echo $htmlfile | sed -e "s,.*/class\\(.*\\).html,\1," -e "s,_1_1,::,g" -e "s,_01, ,g" -e "s,_4,>,g" -e "s+_00+,+g" -e "s+_3+<+g" | tr "[A-Z]" "[a-z]"`
+			echo "  \"$classname\" => \"$htmlfile\","
+		done | sort ; \
+		echo ") ?>"
+		) > "$subdir/classmap.inc"
+
+		# This is a list of pairs, with / separators so we can use
+		# basename and dirname (a crude shell hack) to split them
+		# into parts. For each, if the file part exists (as a html
+		# file) tack it onto the MENU variable as a <li> with link.
+		for i in "Main Page/index" \
+			"Modules/modules" \
+			"Namespace List/namespaces" \
+			"Class Hierarchy/hierarchy" \
+			"Alphabetical List/classes" \
+			"Class List/annotated" \
+			"File List/files" \
+			"Directories/dirs" \
+			"Namespace Members/namespacemembers" \
+			"Class Members/functions" \
+			"Related Pages/pages"
+		do
+			NAME=`dirname "$i"`
+			FILE=`basename "$i"`
+			test -f "$htmldir/$FILE.html" && MENU="$MENU<li><a href=\"$FILE.html\">$NAME</a></li>"
+		done
+
+		MENU="$MENU</ul>"
+	fi
+
+
+	# Get the list of global Menu entries.
+	GMENU=`cat subdirs | tr -d '\n'`
+
+	PMENU=`grep '<!-- pmenu' "$htmldir/index.html" | sed -e 's+.*pmenu *++' -e 's+ *-->++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / <a href=\""; if (j==c) { printf("."); } for (k=j; k<c; k++) { printf "../"; } if (j<c) { printf("../html/index.html"); } printf "\">%s</a>\n" , a[j]; } }' | tr -d '\n'`
+
+	# Map the PHP file into HTML options so that
+	# it can be substituted in for the quick-class-picker.
+	CMENU=""
+	# For now, leave the CMENU disabled
+	CMENUBEGIN="<!--"
+	CMENUEND="-->"
+
+	if test "x$subdir" = "x." ; then
+		# Disable CMENU on toplevel anyway
+		CMENUBEGIN="<!--"
+		CMENUEND="-->"
+	else
+		test -f "$subdir/classmap.inc" && \
+		CMENU=`grep '=>' "$subdir/classmap.inc" | sed -e 's+"\([^"]*\)" => "'"$subdir/html/"'\([^"]*\)"+<option value="\2">\1<\/option>+' | tr -d '\n'`
+
+		if ! test -f "$subdir/classmap.inc" || ! grep "=>" "$subdir/classmap.inc" > /dev/null 2>&1 ; then
+			CMENUBEGIN="<!--"
+			CMENUEND="-->"
+		fi
+	fi
+
+	# Now substitute in the MENU in every file. This depends
+	# on HTML_HEADER (ie. header.html) containing the
+	# <!-- menu --> comment.
+	for i in "$htmldir"/*.html
+	do
+		if test -f "$i" ; then
+			sed -e "s+<!-- menu -->+$MENU+" \
+				-e "s+<!-- gmenu -->+$GMENU+" \
+				-e "s+<!-- pmenu.*-->+$PMENU+" \
+				-e "s+<!-- cmenu.begin -->+$CMENUBEGIN+" \
+				-e "s+<!-- cmenu.end -->+$CMENUEND+" \
+				< "$i"  | sed -e "s+@topdir@+$htmltop+g" > "$i.new" && mv "$i.new" "$i"
+			sed -e "s+<!-- cmenu -->+$CMENU+" < "$i" > "$i.new"
+			test -s "$i.new" && mv "$i.new" "$i"
+		fi
+	done
+}
+
+
+
+
+
+
+### Handle the Doxygen processing of a toplevel directory.
+apidox_toplevel()
+{
+	echo ""
+	echo "*** Creating API documentation main page for $module_name"
+	echo "*"
+	rm -f "Doxyfile"
+	for i in "$top_srcdir/doc/api/Doxyfile.global" \
+		"$top_srcdir/admin/Doxyfile.global" \
+		"$DOXDATA/Doxyfile.global"
+	do
+		if test -f "$i" ; then
+			cp "$i" Doxyfile
+			break
+		fi
+	done
+
+	if test ! -f "Doxyfile" ; then
+		echo "* Cannot create Doxyfile."
+		exit 1
+	fi
+
+	cat "$top_builddir/Doxyfile.in" >> Doxyfile
+
+
+	echo "INPUT                  = $top_srcdir" >> Doxyfile
+	echo "OUTPUT_DIRECTORY       = $top_builddir" >> Doxyfile ; \
+	echo "FILE_PATTERNS          = *.dox" >> Doxyfile ; \
+	echo "RECURSIVE              = NO" >> Doxyfile ; \
+	echo "ALPHABETICAL_INDEX     = NO" >> Doxyfile ; \
+	echo "HTML_OUTPUT            = ." >> Doxyfile ; \
+	apidox_htmlfiles "main"
+
+	# KDevelop has a top-level Makefile.am with settings.
+	for i in "$top_srcdir/Makefile.am.in" "$top_srcdir/Makefile.am"
+	do
+		if test -f "$i" ; then
+			grep '^DOXYGEN_SET_' "$i" | \
+				sed -e 's+DOXYGEN_SET_++' -e "s+@topdir@+$top_srcdir+" >> Doxyfile
+			apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
+
+			break
+		fi
+	done
+
+	apidox_local
+
+	doxygen Doxyfile
+
+	( cd "$top_srcdir" && grep -l ^include.*Doxyfile.am `find . -name Makefile.am` ) | sed -e 's+/Makefile.am$++' -e 's+^\./++' | sort > subdirs.in
+	for i in `cat subdirs.in`
+	do
+		test "x." = "x$i" && continue;
+
+		dir=`dirname "$i"`
+		file=`basename "$i"`
+		if test "x." = "x$dir" ; then
+			dir=""
+		else
+			dir="$dir/"
+		fi
+		indent=`echo "$dir" | sed -e 's+[^/]*/+\&nbsp;\&nbsp;+g' | sed -e 's+&+\\\&+g'`
+		entryname=`extract_line DOXYGEN_SET_PROJECT_NAME "$top_srcdir/$dir/$file/Makefile.am"`
+		test -z "$entryname" && entryname="$file"
+
+		if grep DOXYGEN_EMPTY "$top_srcdir/$dir/$file/Makefile.am" > /dev/null 2>&1 ; then
+			echo "<li>$indent$file</li>"
+		else
+			echo "<li>$indent<a href=\"@topdir@/$dir$file/html/index.html\">$entryname</a></li>"
+		fi
+	done > subdirs
+
+	doxyndex
+}
+
+### Handle the Doxygen processing of a non-toplevel directory.
+apidox_subdir()
+{
+	echo ""
+	echo "*** Creating apidox in $subdir"
+	echo "*"
+	rm -f "$subdir/Doxyfile"
+	if ! test -d "$top_srcdir/$subdir" ; then
+		echo "* No source (sub)directory $subdir"
+		return
+	fi
+	for i in "$top_srcdir/doc/api/Doxyfile.global" \
+		"$top_srcdir/admin/Doxyfile.global" \
+		"$DOXDATA/Doxyfile.global"
+	do
+		if test -f "$i" ; then
+			cp "$i" "$subdir/Doxyfile"
+			break
+		fi
+	done
+
+
+	test -f "Doxyfile.in" || create_doxyfile_in
+	cat "Doxyfile.in" >> "$subdir/Doxyfile"
+
+	echo "PROJECT_NAME           = \"$subdir\"" >> "$subdir/Doxyfile"
+	echo "INPUT                  = $srcdir" >> "$subdir/Doxyfile"
+	echo "OUTPUT_DIRECTORY       = ." >> "$subdir/Doxyfile"
+	if grep -l "$subdir/" subdirs.in > /dev/null 2>&1 ; then
+		echo "RECURSIVE              = NO" >> "$subdir/Doxyfile"
+	fi
+	echo "HTML_OUTPUT            = $subdir/html" >> "$subdir/Doxyfile"
+	echo "GENERATE_TAGFILE       = $subdir/$subdirname.tag" >> "$subdir/Doxyfile"
+	test -d "$top_srcdir/doc/api" && \
+		echo "IMAGE_PATH             = $top_srcdir/doc/api" >> "$subdir/Doxyfile"
+
+	apidox_htmlfiles ""
+
+	# Makefile.ams may contain overrides to our settings,
+	# so copy them in.
+	grep '^DOXYGEN_SET_' "$srcdir/Makefile.am" | \
+		sed -e 's+DOXYGEN_SET_++' >> "$subdir/Doxyfile"
+	apidox_specials "$srcdir/Makefile.am" "$subdir/Doxyfile"
+
+	excludes=`extract_line DOXYGEN_EXCLUDE`
+	if test -n "$excludes"; then
+		patterns=""
+		dirs=""
+		for item in `echo "$excludes"`; do
+			if test -d "$top_srcdir/$subdir/$item"; then
+				dirs="$dirs $top_srcdir/$subdir/$item/"
+			else
+				patterns="$patterns $item"
+			fi
+		done
+		echo "EXCLUDE_PATTERNS      += $patterns" >> "$subdir/Doxyfile"
+		echo "EXCLUDE               += $dirs" >> "$subdir/Doxyfile"
+	fi
+
+	echo "TAGFILES = \\" >> "$subdir/Doxyfile"
+	## For now, don't support \ continued references lines
+	tags=`extract_line DOXYGEN_REFERENCES`
+	for i in $tags qt ; do
+		tagsubdir=`dirname $i` ; tag=`basename $i`
+		tagpath=""
+		not_found=""
+
+		if test "x$tagsubdir" = "x." ; then
+			tagsubdir=""
+		else
+			tagsubdir="$tagsubdir/"
+		fi
+
+		# Find location of tag file
+		if test -f "$tagsubdir$tag/$tag.tag" ; then
+			file="$tagsubdir$tag/$tag.tag"
+			loc="$tagsubdir$tag/html"
+		else
+			# This checks for dox built with_out_ --no-modulename
+			# in the same build dir as this dox run was started in.
+			file=`ls -1 ../*-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
+
+			if test -n "$file" ; then
+				loc=`echo "$file" | sed -e "s/$tag.tag\$/html/"`
+			else
+				# If the tag file doesn't exist yet, but should
+				# because we have the right dirs here, queue
+				# this directory for re-processing later.
+				if test -d "$top_srcdir/$tagsubdir$tag" ; then
+					echo "* Need to re-process $subdir for tag $i"
+					echo "$subdir" >> "subdirs.later"
+				else
+					# Re-check in $PREFIX if needed.
+					test -n "$PREFIX" && \
+					file=`cd "$PREFIX" && \
+					ls -1 *-apidocs/"$tagsubdir$tag/$tag.tag" 2> /dev/null`
+
+					# If something is found, patch it up. The location must be
+					# relative to the installed location of the dox and the
+					# file must be absolute.
+					if test -n "$file" ; then
+						loc=`echo "../$file" | sed -e "s/$tag.tag\$/html/"`
+						file="$PREFIX/$file"
+						echo "* Tags for $tagsubdir$tag will only work when installed."
+						not_found="YES"
+					fi
+				fi
+			fi
+		fi
+		if test "$tag" = "qt" ; then
+			if test -z "$QTDOCDIR" ; then
+				echo "  $file" >> "$subdir/Doxyfile"
+			else
+				if test -z "$file" ; then
+					# Really no Qt tags
+					echo "" >> "$subdir/Doxyfile"
+				else
+					echo "  $file=$QTDOCDIR" >> "$subdir/Doxyfile"
+				fi
+			fi
+		else
+			if test -n "$file"  ; then
+				test -z "$not_found" && echo "* Found tag $file"
+				echo "  $file=../$top_builddir$loc \\" >> "$subdir/Doxyfile"
+			fi
+		fi
+	done
+
+	apidox_local
+
+	if ! grep '^DOXYGEN_EMPTY' "$srcdir/Makefile.am" > /dev/null 2>&1 ; then
+		doxygen "$subdir/Doxyfile"
+		doxyndex
+	fi
+}
+
+### Run a given subdir by setting up global variables first.
+do_subdir()
+{
+	subdir=`echo "$1" | sed -e 's+/$++'`
+	srcdir="$top_srcdir/$subdir"
+	subdirname=`basename "$subdir"`
+	mkdir -p "$subdir" 2> /dev/null
+	if ! test -d "$subdir" ; then
+		echo "Can't create dox subdirectory $subdir"
+		return
+	fi
+	top_builddir=`echo "/$subdir" | sed -e 's+/[^/]*+../+g'`
+	apidox_subdir
+}
+
+
+### Create installdox-slow in the toplevel
+create_installdox()
+{
+# Fix up the installdox script so it accepts empty args
+#
+# This code is copied from the installdox generated by Doxygen,
+# copyright by Dimitri van Heesch and released under the GPL.
+# This does a _slow_ update of the dox, because it loops
+# over the given substitutions instead of assuming all the
+# needed ones are given.
+#
+cat <<\EOF
+#! /usr/bin/env perl
+
+%subst = () ;
+$quiet   = 0;
+
+if (open(F,"search.cfg"))
+{
+  $_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
+  $_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
+}
+
+while ( @ARGV ) {
+  $_ = shift @ARGV;
+  if ( s/^-// ) {
+    if ( /^l(.*)/ ) {
+      $v = ($1 eq "") ? shift @ARGV : $1;
+      ($v =~ /\/$/) || ($v .= "/");
+      $_ = $v;
+      if ( /(.+)\@(.+)/ ) {
+          $subst{$1} = $2;
+      } else {
+        print STDERR "Argument $_ is invalid for option -l\n";
+        &usage();
+      }
+    }
+    elsif ( /^q/ ) {
+      $quiet = 1;
+    }
+    elsif ( /^\?|^h/ ) {
+      &usage();
+    }
+    else {
+      print STDERR "Illegal option -$_\n";
+      &usage();
+    }
+  }
+  else {
+    push (@files, $_ );
+  }
+}
+
+
+if ( ! @files ) {
+  if (opendir(D,".")) {
+    foreach $file ( readdir(D) ) {
+      $match = ".html";
+      next if ( $file =~ /^\.\.?$/ );
+      ($file =~ /$match/) && (push @files, $file);
+      ($file =~ "tree.js") && (push @files, $file);
+    }
+    closedir(D);
+  }
+}
+
+if ( ! @files ) {
+  print STDERR "Warning: No input files given and none found!\n";
+}
+
+foreach $f (@files)
+{
+  if ( ! $quiet ) {
+    print "Editing: $f...\n";
+  }
+  $oldf = $f;
+  $f   .= ".bak";
+  unless (rename $oldf,$f) {
+    print STDERR "Error: cannot rename file $oldf\n";
+    exit 1;
+  }
+  if (open(F,"<$f")) {
+    unless (open(G,">$oldf")) {
+      print STDERR "Error: opening file $oldf for writing\n";
+      exit 1;
+    }
+    if ($oldf ne "tree.js") {
+      while (<F>) {
+	foreach $sub (keys %subst) {
+          s/doxygen\=\"$sub\:([^ \"\t\>\<]*)\" (href|src)=\"\1/doxygen\=\"$sub:$subst{$sub}\" \2=\"$subst{$sub}/g;
+          print G "$_";
+	}
+      }
+    }
+    else {
+      while (<F>) {
+	foreach $sub (keys %subst) {
+          s/\"$sub\:([^ \"\t\>\<]*)\", \"\1/\"$sub:$subst{$sub}\" ,\"$subst{$sub}/g;
+          print G "$_";
+	}
+      }
+    }
+  }
+  else {
+    print STDERR "Warning file $f does not exist\n";
+  }
+  unlink $f;
+}
+
+sub usage {
+  print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
+  print STDERR "Options:\n";
+  print STDERR "     -l tagfile\@linkName   tag file + URL or directory \n";
+  print STDERR "     -q                    Quiet mode\n\n";
+  exit 1;
+}
+EOF
+}
+
+# Do only the subdirs that match the RE passed in as $1
+do_subdirs_re()
+{
+	RE=`echo "$1" | sed -e 's+/$++'`
+
+	# Here's a queue of dirs to re-process later when
+	# all the rest have been done already.
+	> subdirs.later
+
+	# subdirs.top lists _all_ subdirs of top in the order they
+	# should be handled; subdirs.in lists those dirs that contain
+	# dox. So the intersection of the two is the ordered list
+	# of top-level subdirs that contain dox.
+	#
+	# subdirs.top also doesn't contain ".", so that special
+	# case can be ignored in the loop.
+
+
+	(
+	for i in `grep "^$RE" subdirs.top`
+	do
+		if test "x$i" = "x." ; then
+			continue
+		fi
+		# Calculate intersection of this element and the
+		# set of dox dirs.
+		if grep "^$i\$" subdirs.in > /dev/null 2>&1 ; then
+			echo "$i"
+			mkdir -p "$i" 2> /dev/null
+
+			# Handle the subdirs of this one
+			for j in `grep "$i/" subdirs.in`
+			do
+				echo "$j"
+				mkdir -p "$j" 2> /dev/null
+			done
+		fi
+	done
+
+	# Now we still need to handle whatever is left
+	for i in `cat subdirs.in`
+	do
+		test -d "$i" || echo "$i"
+		mkdir -p "$i" 2> /dev/null
+	done
+	) > subdirs.sort
+	for i in `cat subdirs.sort`
+	do
+		do_subdir "$i"
+	done
+
+	if test -s "subdirs.later" ; then
+		sort subdirs.later | uniq > subdirs.sort
+		for i in `cat subdirs.sort`
+		do
+			: > subdirs.later
+			echo "*** Reprocessing $i"
+			do_subdir "$i"
+			test -s "subdirs.later" && echo "* Some tag files were still not found."
+		done
+	fi
+}
+
+if test "x." = "x$top_builddir" ; then
+	apidox_toplevel
+	create_subdirs
+	create_installdox > installdox-slow
+	if test "x$recurse" = "x1" ; then
+		if test "x$module_name" = "xkdelibs" ; then
+			if test -z "$QTDOCTAG" && test -d "$QTDOCDIR" && \
+				test ! -f "qt/qt.tag" ; then
+				# Special case: create a qt tag file.
+				echo "*** Creating a tag file for the Qt library:"
+				mkdir qt
+				doxytag -t qt/qt.tag "$QTDOCDIR" > /dev/null 2>&1
+			fi
+		fi
+		if test -n "$QTDOCTAG" && test -r "$QTDOCTAG" ; then
+			echo "*** Copying tag file for the Qt library:"
+			mkdir qt
+			cp "$QTDOCTAG" qt/qt.tag
+		fi
+
+		do_subdirs_re "."
+
+	fi
+else
+	if test "x$recurse" = "x1" ; then
+		do_subdirs_re "$subdir"
+	else
+		do_subdir "$subdir"
+	fi
+fi
+
+
+# At the end of a run, clean up stuff.
+if test "YES" = "$cleanup" ; then
+	rm -f subdirs.in  subdirs.later subdirs.sort subdirs.top Doxyfile.in
+	rm -f `find . -name Doxyfile`
+	rm -f qt/qt.tag
+	rmdir qt > /dev/null 2>&1
+fi
+
+
+exit 0
+
--- a/kdiff3/admin/install-sh	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/install-sh	Mon Apr 10 08:40:51 2006 +0000
@@ -1,19 +1,38 @@
 #!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
 #
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
+# Copyright (C) 1994 X Consortium
 #
-# Copyright 1991 by the Massachusetts Institute of Technology
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
 #
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
 # `make' implicit rules from creating a file called install from it
@@ -23,13 +42,11 @@
 # from scratch.  It can only install one file at a time, a restriction
 # shared with many OS's install programs.
 
-
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
 doit="${DOITPROG-}"
 
-
 # put in absolute paths if you don't have them in your path; or use env. vars.
 
 mvprog="${MVPROG-mv}"
@@ -41,236 +58,266 @@
 rmprog="${RMPROG-rm}"
 mkdirprog="${MKDIRPROG-mkdir}"
 
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
 chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+chowncmd=
+chgrpcmd=
+stripcmd=
 rmcmd="$rmprog -f"
 mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
 
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd=$cpprog
-	    shift
-	    continue;;
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
 
-	-d) dir_arg=true
-	    shift
-	    continue;;
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
 
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
 
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
 
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
 
-	-s) stripcmd=$stripprog
-	    shift
-	    continue;;
+    -d) dir_arg=true
+        shift
+        continue;;
 
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
 
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
+    --help) echo "$usage"; exit $?;;
 
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
 done
 
-if [ x"$src" = x ]
-then
-	echo "$0: no input file specified" >&2
-	exit 1
-else
-	:
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
 fi
 
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
 
-	if [ -d "$dst" ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=$mkdirprog
-	fi
-else
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
 
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
 
-	if [ -f "$src" ] || [ -d "$src" ]
-	then
-		:
-	else
-		echo "$0: $src does not exist" >&2
-		exit 1
-	fi
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
 
-	if [ x"$dst" = x ]
-	then
-		echo "$0: no destination specified" >&2
-		exit 1
-	else
-		:
-	fi
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
 
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
 
-	if [ -d "$dst" ]
-	then
-		dst=$dst/`basename "$src"`
-	else
-		:
-	fi
-fi
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+  # Make sure that the destination directory exists.
 
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
 
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-	'
-IFS="${IFS-$defaultIFS}"
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
 
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
+    pathcomp=
 
-pathcomp=''
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
 
-while [ $# -ne 0 ] ; do
-	pathcomp=$pathcomp$1
-	shift
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
 
-	if [ ! -d "$pathcomp" ] ;
-        then
-		$mkdirprog "$pathcomp"
-	else
-		:
-	fi
+  else
+    dstfile=`basename "$dst"`
 
-	pathcomp=$pathcomp/
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
 done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd "$dst" &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		dstfile=`basename "$dst" $transformbasename |
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		:
-	fi
-
-# Make a couple of temp file names in the proper directory.
-
-	dsttmp=$dstdir/#inst.$$#
-	rmtmp=$dstdir/#rm.$$#
-
-# Trap to clean up temp files at exit.
-
-	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
-	trap '(exit $?); exit' 1 2 13 15
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd "$src" "$dsttmp" &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
-
-# Now remove or move aside any old file at destination location.  We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons.  In this case, the final cleanup
-# might fail but the new file should still install successfully.
-
-{
-	if [ -f "$dstdir/$dstfile" ]
-	then
-		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
-		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
-		{
-		  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-		  (exit 1); exit
-		}
-	else
-		:
-	fi
-} &&
-
-# Now rename the file to the real destination.
-
-	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
 
 # The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
 
-{
-	(exit 0); exit
-}
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- a/kdiff3/admin/libtool.m4.in	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/libtool.m4.in	Mon Apr 10 08:40:51 2006 +0000
@@ -15,7 +15,7 @@
 ##
 ## You should have received a copy of the GNU General Public License
 ## along with this program; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 ##
 ## As a special exception to the GNU General Public License, if you
 ## distribute this file as part of a program that contains a
@@ -1273,7 +1273,7 @@
   dynamic_linker=no
   ;;
 
-freebsd*-gnu*)
+kfreebsd*-gnu*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -2094,7 +2094,11 @@
   lt_cv_file_magic_test_file=/shlib/libc.so
   ;;
 
-cygwin* | mingw* | pw32*)
+cygwin*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+  
+mingw* | pw32*)
   # win32_libid is a shell function defined in ltmain.sh
   lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
   lt_cv_file_magic_cmd='win32_libid'
@@ -2115,7 +2119,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd*)
+freebsd* | kfreebsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -2556,18 +2560,29 @@
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     case "$host_os" in
     rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
       ;;
     *) # Darwin 1.3 on
-      test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
+      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+      else
+	case ${MACOSX_DEPLOYMENT_TARGET} in
+	  10.[012])
+	    _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+	    ;;
+	  10.*)
+	    _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+	    ;;
+	esac
+      fi
       ;;
     esac
     output_verbose_link_cmd='echo'
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+    _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -2684,8 +2699,8 @@
   # Check if GNU C++ uses GNU ld as the underlying linker, since the
   # archiving commands below assume that GNU ld is being used.
   if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
     _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -2711,7 +2726,7 @@
     # linker, instead of GNU ld.  If possible, this setting should
     # overridden to take advantage of the native linker features on
     # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $lib'
   fi
 
   # Commands to make compiler produce verbose output that lists
@@ -2805,13 +2820,13 @@
       _LT_AC_SYS_LIBPATH_AIX
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
      else
       if test "$host_cpu" = ia64; then
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
       else
 	# Determine the default libpath from the value encoded in an empty executable.
 	_LT_AC_SYS_LIBPATH_AIX
@@ -2826,7 +2841,7 @@
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
 	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
 	# This is similar to how AIX traditionally builds it's shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
@@ -2843,12 +2858,12 @@
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
     # as there is no search path for DLLs.
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
     _LT_AC_TAGVAR(always_export_symbols, $1)=no
     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
 
     if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
       # If the export-symbols file already is a .def file (1st line
       # is EXPORTS), use it as is; otherwise, prepend...
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -2857,7 +2872,7 @@
 	echo EXPORTS > $output_objdir/$soname.def;
 	cat $export_symbols >> $output_objdir/$soname.def;
       fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      $CC -shared -nostdlib $output_objdir/$soname.def $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
     else
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
@@ -2868,10 +2883,21 @@
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     case "$host_os" in
     rhapsody* | darwin1.[[012]])
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
       ;;
     *) # Darwin 1.3 on
-      test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
+      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+      else
+	case ${MACOSX_DEPLOYMENT_TARGET} in
+	  10.[012])
+	    _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+	    ;;
+	  10.*)
+	    _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+	    ;;
+	esac
+      fi
       ;;
     esac
     lt_int_apple_cc_single_mod=no
@@ -2880,19 +2906,19 @@
       lt_int_apple_cc_single_mod=yes
     fi
     if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
     else
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
     fi
-    _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+    _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
 
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
     if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     fi
-    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -2927,7 +2953,7 @@
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -2949,7 +2975,7 @@
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     aCC)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
@@ -2962,7 +2988,7 @@
       ;;
     *)
       if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
         # FIXME: insert proper C++ library support
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3019,7 +3045,7 @@
 	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
 	  ;;
 	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
 	  ;;
 	esac
 	# Commands to make compiler produce verbose output that lists
@@ -3040,7 +3066,7 @@
 	      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
 	      ;;
 	    *)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
 	      ;;
 	    esac
 	  fi
@@ -3055,7 +3081,7 @@
     case $cc_basename in
       CC)
 	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
 
 	# Archives containing C++ object files must be created using
 	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -3066,9 +3092,9 @@
       *)
 	if test "$GXX" = yes; then
 	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
 	  else
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
 	  fi
 	fi
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3085,8 +3111,8 @@
 	# KCC will only create a shared library if the output file
 	# ends with ".so" (or ".sl" for HP-UX), so rename the library
 	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
 	# Commands to make compiler produce verbose output that lists
 	# what "hidden" libraries, object files and flags are used when
 	# linking a shared library.
@@ -3108,16 +3134,16 @@
 	# Intel C++
 	with_gnu_ld=yes
 	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
 	;;
       cxx)
 	# Compaq C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
 
 	runpath_var=LD_RUN_PATH
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -3174,7 +3200,7 @@
 	# KCC will only create a shared library if the output file
 	# ends with ".so" (or ".sl" for HP-UX), so rename the library
 	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3191,7 +3217,7 @@
 	;;
       cxx)
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3209,7 +3235,7 @@
       *)
 	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3234,7 +3260,7 @@
 	# KCC will only create a shared library if the output file
 	# ends with ".so" (or ".sl" for HP-UX), so rename the library
 	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3250,10 +3276,10 @@
 	;;
       cxx)
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry $objdir/so_locations -o $lib~
+	  $CC -shared$allow_undefined_flag $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry $objdir/so_locations -o $lib~
 	  $rm $lib.exp'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -3272,7 +3298,7 @@
       *)
 	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3329,9 +3355,9 @@
       CC)
 	# Sun C++ 4.2, 5.x and Centerline C++
 	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+	$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
 	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -3365,7 +3391,7 @@
 	;;
       gcx)
 	# Green Hills C++ Compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
 
 	# The C++ compiler must be used to create the archive.
 	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
@@ -3375,9 +3401,9 @@
 	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
 	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
 	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
 
 	    # Commands to make compiler produce verbose output that lists
 	    # what "hidden" libraries, object files and flags are used when
@@ -3386,9 +3412,9 @@
 	  else
 	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	    # platform.
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
 	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
 
 	    # Commands to make compiler produce verbose output that lists
 	    # what "hidden" libraries, object files and flags are used when
@@ -3916,7 +3942,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -4573,7 +4599,7 @@
 	    ;;
 	esac
 	;;
-      freebsd*)
+      freebsd* | kfreebsd*-gnu)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -5058,7 +5084,7 @@
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
 	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
 	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -5068,13 +5094,13 @@
       # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
 	# If the export-symbols file already is a .def file (1st line
 	# is EXPORTS), use it as is; otherwise, prepend...
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -5083,7 +5109,7 @@
 	  echo EXPORTS > $output_objdir/$soname.def;
 	  cat $export_symbols >> $output_objdir/$soname.def;
 	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
+	$CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000  ${wl}--out-implib,$lib'
       else
 	ld_shlibs=no
       fi
@@ -5094,8 +5120,8 @@
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -5113,8 +5139,8 @@
 
 EOF
       elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -5129,8 +5155,8 @@
 
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -5244,13 +5270,13 @@
        # Determine the default libpath from the value encoded in an empty executable.
 	_LT_AC_SYS_LIBPATH_AIX
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	_LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+	_LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
        else
 	if test "$host_cpu" = ia64; then
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
 	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
 	else
 	 # Determine the default libpath from the value encoded in an empty executable.
 	 _LT_AC_SYS_LIBPATH_AIX
@@ -5265,7 +5291,7 @@
 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
 	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
 	  # This is similar to how AIX traditionally builds it's shared libraries.
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
 	fi
       fi
       ;;
@@ -5288,13 +5314,13 @@
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
       # Tell ltmain to make .lib files, not .a files.
       libext=lib
       # Tell ltmain to make .dll files, not .so files.
       shrext=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
@@ -5308,10 +5334,21 @@
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       case "$host_os" in
       rhapsody* | darwin1.[[012]])
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
 	;;
       *) # Darwin 1.3 on
-	test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
+	if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+	else
+	  case ${MACOSX_DEPLOYMENT_TARGET} in
+	    10.[012])
+	      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+	      ;;
+	    10.*)
+	      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+	      ;;
+	  esac
+	fi
 	;;
       esac
     	lt_int_apple_cc_single_mod=no
@@ -5320,18 +5357,18 @@
     	  lt_int_apple_cc_single_mod=yes
     	fi
     	if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-    	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+    	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
     	else
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
       fi
-      _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
         if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         else
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         fi
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -5372,8 +5409,8 @@
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+    freebsd* | kfreebsd*-gnu)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5381,7 +5418,7 @@
 
     hpux9*)
       if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
 	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
@@ -5399,10 +5436,10 @@
       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
 	case "$host_cpu" in
 	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
 	  ;;
 	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
 	  ;;
 	esac
       else
@@ -5449,7 +5486,7 @@
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
@@ -5482,7 +5519,7 @@
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
       else
@@ -5492,7 +5529,7 @@
 	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
 	   ;;
 	 *)
-	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
 	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	   ;;
        esac
@@ -5503,14 +5540,14 @@
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
@@ -5522,7 +5559,7 @@
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       else
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
@@ -5547,9 +5584,9 @@
     solaris*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
       else
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
@@ -5569,7 +5606,7 @@
       if test "x$host_vendor" = xsequent; then
 	# Use $CC to link under sequent, because it throws in some extra .o
 	# files that make .init and .fini sections work.
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
       else
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
       fi
@@ -5629,9 +5666,9 @@
    sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[[78]]* | unixware7*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
       if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
       else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
       fi
       runpath_var='LD_RUN_PATH'
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
--- a/kdiff3/admin/ltmain.sh	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/ltmain.sh	Mon Apr 10 08:40:51 2006 +0000
@@ -17,7 +17,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -1149,6 +1149,19 @@
 	  finalize_command="$finalize_command $qarg"
 	  continue
 	  ;;
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+	        *" $qarg.ltframework "*) ;;
+		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+		   ;;
+              esac
+              ;;
+   	  esac
+	  prev=
+	  continue
+	  ;;
 	*)
 	  eval "$prev=\"\$arg\""
 	  prev=
@@ -1263,9 +1276,6 @@
 	    # These systems don't actually have a C or math library (as such)
 	    continue
 	    ;;
-	  *-*-freebsd*-gnu*)
-	    # prevent being parsed by the freebsd regexp below
-	    ;;
 	  *-*-mingw* | *-*-os2*)
 	    # These systems don't actually have a C library (as such)
 	    test "X$arg" = "X-lc" && continue
@@ -1276,14 +1286,11 @@
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs -framework System"
+	    deplibs="$deplibs System.ltframework"
 	    continue
 	  esac
 	elif test "X$arg" = "X-lc_r"; then
 	 case $host in
-	 *-*-freebsd*-gnu*)
-	   # prevent being parsed by the freebsd regexp below
-	   ;;
 	 *-*-openbsd*)
 	   # Do not include libc_r directly, use -pthread flag.
 	   continue
@@ -1466,6 +1473,11 @@
 	continue
 	;;
 
+      -framework)
+        prev=framework
+	continue
+	;;
+
       # Some other compiler flag.
       -* | +*)
 	# Unknown arguments in both finalize_command and compile_command need
@@ -1883,6 +1895,18 @@
 	    fi
 	  fi
 	  ;; # -l
+	*.ltframework)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test "$linkmode" = lib ; then
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	  fi
+	  continue
+	  ;;
 	-L*)
 	  case $linkmode in
 	  lib)
@@ -2011,6 +2035,13 @@
 	*) . ./$lib ;;
 	esac
 
+	case $host in
+	*-*-darwin*)
+	  # Convert "-framework foo" to "foo.ltframework" in dependency_libs
+	  test -n "$dependency_libs" && dependency_libs=`$echo "X$dependency_libs" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  ;;
+	esac
+
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -2617,6 +2648,15 @@
 		*) continue ;;
 		esac  		  
 		;;
+
+	      *.ltframework)
+		case $host in
+		  *-*-darwin*)
+		    depdepl="$deplib"
+		    ;;
+		esac
+		;;
+
 	      *) continue ;;
 	      esac
 	      case " $deplibs " in
@@ -3058,7 +3098,7 @@
 	tempremovelist=`$echo "$output_objdir/*"`
 	for p in $tempremovelist; do
 	  case $p in
-	    *.$objext)
+	    *.$objext | *$exeext)
 	       ;;
 	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
 	       removelist="$removelist $p"
@@ -3130,17 +3170,11 @@
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs -framework System"
+	    deplibs="$deplibs System.ltframework"
 	    ;;
 	  *-*-netbsd*)
 	    # Don't link with libc until the a.out ld.so is fixed.
 	    ;;
-	  *-*-freebsd*-gnu*)
-	    # Prevent $arg from being parsed by the freebsd regexp below.
-	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
 	  *-*-openbsd* | *-*-freebsd*)
 	    # Do not include libc due to us having libc/libc_r.
 	    test "X$arg" = "X-lc" && continue
@@ -3429,7 +3463,7 @@
 	case $host in
 	*-*-rhapsody* | *-*-darwin1.[012])
 	  # On Rhapsody replace the C library is the System framework
-	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 	  ;;
 	esac
 
@@ -3475,6 +3509,13 @@
 	    fi
 	  fi
 	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	case $host in
+	  *-*-darwin*)
+	    newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	    dependency_libs=`$echo "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	    ;;
+	esac
 	# Done checking deplibs!
 	deplibs=$newdeplibs
       fi
@@ -4057,18 +4098,21 @@
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
 	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 	;;
       esac
 
       case $host in
-      *darwin*)
+      *-*-darwin*)
         # Don't allow lazy linking, it breaks C++ global constructors
         if test "$tagname" = CXX ; then
         compile_command="$compile_command ${wl}-bind_at_load"
         finalize_command="$finalize_command ${wl}-bind_at_load"
         fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
         ;;
       esac
 
@@ -4529,8 +4573,8 @@
 	  *) exeext= ;;
 	esac
 	case $host in
-	  *cygwin* | *mingw* )
-	    cwrappersource=`$echo ${objdir}/lt-${output}.c`
+	  *mingw* )
+	    cwrappersource=`$echo ${output_objdir}/lt-${outputname}.c`
 	    cwrapper=`$echo ${output}.exe`
 	    $rm $cwrappersource $cwrapper
 	    trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15
@@ -4897,8 +4941,10 @@
 	  ;;
 
 	*)
+	  # Need to set LD_LIBRARY_PATH, to the value already
+	  # computed within libtool.
 	  $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
+      LD_LIBRARY_PATH=\"$rpath\" exec \$progdir/\$program \${1+\"\$@\"}
 "
 	  ;;
 	esac
@@ -5623,7 +5669,7 @@
 	      tmpdir="/tmp"
 	      test -n "$TMPDIR" && tmpdir="$TMPDIR"
 	      tmpdir="$tmpdir/libtool-$$"
-	      if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
+	      if $mkdir "$tmpdir" && chmod 700 "$tmpdir"; then :
 	      else
 		$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
 		continue
--- a/kdiff3/admin/missing	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/missing	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -15,8 +19,8 @@
 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -38,18 +42,24 @@
   configure_ac=configure.in
 fi
 
+msg="missing on your system"
+
 case "$1" in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
   shift
   "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
   ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
 
   -h|--h|--he|--hel|--help)
     echo "\
@@ -74,11 +84,15 @@
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
   tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing 0.4 - GNU automake"
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
     ;;
 
   -*)
@@ -87,14 +101,44 @@
     exit 1
     ;;
 
-  aclocal*)
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
        exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
     fi
+    ;;
+esac
 
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
          to install the \`Automake' and \`Perl' packages.  Grab them from
          any GNU archive site."
@@ -102,13 +146,8 @@
     ;;
 
   autoconf)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the
          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
          archive site."
@@ -116,13 +155,8 @@
     ;;
 
   autoheader)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
          to install the \`Autoconf' and \`GNU m4' packages.  Grab them
          from any GNU archive site."
@@ -140,13 +174,8 @@
     ;;
 
   automake*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
          You might want to install the \`Automake' and \`Perl' packages.
          Grab them from any GNU archive site."
@@ -156,16 +185,11 @@
     ;;
 
   autom4te)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
          proper tools for further handling them.
-         You can get \`$1Help2man' as part of \`Autoconf' from any GNU
+         You can get \`$1' as part of \`Autoconf' from any GNU
          archive site."
 
     file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
@@ -185,7 +209,7 @@
 
   bison|yacc)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' $msg.  You should only need it if
          you modified a \`.y' file.  You may need the \`Bison' package
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
@@ -215,7 +239,7 @@
 
   lex|flex)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.l' file.  You may need the \`Flex' package
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
@@ -237,13 +261,8 @@
     ;;
 
   help2man)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
 	 \`Help2man' package in order for those modifications to take
 	 effect.  You can get \`Help2man' from any GNU archive site."
@@ -262,32 +281,30 @@
     ;;
 
   makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
          call might also be the consequence of using a buggy \`make' (AIX,
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
     touch $file
     ;;
 
   tar)
     shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
 
     # We have already tried tar in the generic part.
     # Look for gnutar/gtar before invocation to avoid ugly error
@@ -323,10 +340,10 @@
 
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
          proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
+         it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
          some other package would contain this missing \`$1' program."
     exit 1
@@ -334,3 +351,10 @@
 esac
 
 exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- a/kdiff3/admin/mkinstalldirs	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/mkinstalldirs	Mon Apr 10 08:40:51 2006 +0000
@@ -1,21 +1,33 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+
+scriptversion=2005-06-29.22
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
 # Created: 1993-05-16
-# Public domain
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
 
 errstatus=0
-dirmode=""
+dirmode=
 
 usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
 
 # process command line arguments
 while test $# -gt 0 ; do
   case $1 in
     -h | --help | --h*)         # -h for help
-      echo "$usage" 1>&2
-      exit 0
+      echo "$usage"
+      exit $?
       ;;
     -m)                         # -m PERM arg
       shift
@@ -23,6 +35,10 @@
       dirmode=$1
       shift
       ;;
+    --version)
+      echo "$0 $scriptversion"
+      exit $?
+      ;;
     --)                         # stop option processing
       shift
       break
@@ -50,30 +66,58 @@
   0) exit 0 ;;
 esac
 
+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error.  This is a problem when calling mkinstalldirs
+# from a parallel make.  We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
 case $dirmode in
   '')
-    if mkdir -p -- . 2>/dev/null; then
+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
       echo "mkdir -p -- $*"
       exec mkdir -p -- "$@"
+    else
+      # On NextStep and OpenStep, the `mkdir' command does not
+      # recognize any option.  It will interpret all options as
+      # directories to create, and then abort because `.' already
+      # exists.
+      test -d ./-p && rmdir ./-p
+      test -d ./--version && rmdir ./--version
     fi
     ;;
   *)
-    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+       test ! -d ./--version; then
       echo "mkdir -m $dirmode -p -- $*"
       exec mkdir -m "$dirmode" -p -- "$@"
+    else
+      # Clean up after NextStep and OpenStep mkdir.
+      for d in ./-m ./-p ./--version "./$dirmode";
+      do
+        test -d $d && rmdir $d
+      done
     fi
     ;;
 esac
 
 for file
 do
-  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  case $file in
+    /*) pathcomp=/ ;;
+    *)  pathcomp= ;;
+  esac
+  oIFS=$IFS
+  IFS=/
+  set fnord $file
   shift
+  IFS=$oIFS
 
-  pathcomp=
   for d
   do
-    pathcomp="$pathcomp$d"
+    test "x$d" = x && continue
+
+    pathcomp=$pathcomp$d
     case $pathcomp in
       -*) pathcomp=./$pathcomp ;;
     esac
@@ -84,21 +128,21 @@
       mkdir "$pathcomp" || lasterr=$?
 
       if test ! -d "$pathcomp"; then
-  	errstatus=$lasterr
+	errstatus=$lasterr
       else
-  	if test ! -z "$dirmode"; then
+	if test ! -z "$dirmode"; then
 	  echo "chmod $dirmode $pathcomp"
-    	  lasterr=""
-  	  chmod "$dirmode" "$pathcomp" || lasterr=$?
+	  lasterr=
+	  chmod "$dirmode" "$pathcomp" || lasterr=$?
 
-  	  if test ! -z "$lasterr"; then
-  	    errstatus=$lasterr
-  	  fi
-  	fi
+	  if test ! -z "$lasterr"; then
+	    errstatus=$lasterr
+	  fi
+	fi
       fi
     fi
 
-    pathcomp="$pathcomp/"
+    pathcomp=$pathcomp/
   done
 done
 
@@ -107,5 +151,8 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
 # End:
-# mkinstalldirs ends here
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/oldinclude.m4.in	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,192 @@
+###   -*- autoconf -*-
+
+dnl    This file is part of the KDE libraries/packages
+dnl    Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
+dnl              (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
+
+dnl    This file is free software; you can redistribute it and/or
+dnl    modify it under the terms of the GNU Library General Public
+dnl    License as published by the Free Software Foundation; either
+dnl    version 2 of the License, or (at your option) any later version.
+
+dnl    This library is distributed in the hope that it will be useful,
+dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl    Library General Public License for more details.
+
+dnl    You should have received a copy of the GNU Library General Public License
+dnl    along with this library; see the file COPYING.LIB.  If not, write to
+dnl    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl    Boston, MA 02110-1301, USA.
+
+AC_DEFUN([KDE_CHECK_MICO],
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_MISC_TESTS])
+AC_MSG_CHECKING(for MICO)
+
+if test -z "$MICODIR"; then
+    kde_micodir=/usr/local
+ else
+    kde_micodir="$MICODIR"
+fi
+
+AC_ARG_WITH(micodir,
+  [  --with-micodir=micodir  where mico is installed ],
+  kde_micodir=$withval,
+  kde_micodir=$kde_micodir
+)
+
+AC_CACHE_VAL(kde_cv_mico_incdir,
+[
+  mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
+AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
+
+])
+kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
+
+if test ! -r  $kde_micodir/include/CORBA.h; then
+  AC_MSG_ERROR([No CORBA.h found, specify another micodir])
+fi
+
+AC_MSG_RESULT($kde_micodir)
+
+MICO_INCLUDES=-I$kde_micodir/include
+AC_SUBST(MICO_INCLUDES)
+MICO_LDFLAGS=-L$kde_micodir/lib
+AC_SUBST(MICO_LDFLAGS)
+micodir=$kde_micodir
+AC_SUBST(micodir)
+
+AC_MSG_CHECKING([for MICO version])
+AC_CACHE_VAL(kde_cv_mico_version,
+[
+AC_LANG_C
+cat >conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <mico/version.h>
+int main() {
+
+   printf("MICO_VERSION=%s\n",MICO_VERSION);
+   return (0);
+}
+EOF
+ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
+if AC_TRY_EVAL(ac_compile); then
+  if eval `./conftest 2>&5`; then
+    kde_cv_mico_version=$MICO_VERSION
+  else
+    AC_MSG_ERROR([your system is not able to execute a small application to
+    find MICO version! Check $kde_micodir/include/mico/version.h])
+  fi
+else
+  AC_MSG_ERROR([your system is not able to compile a small application to
+  find MICO version! Check $kde_micodir/include/mico/version.h])
+fi
+])
+
+dnl installed MICO version
+mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "x$1" = "x"; then
+ req_version="2.3.0"
+else
+ req_version=$1
+fi
+
+dnl required MICO version
+req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "$mico_v_maj" -lt "$req_v_maj" || \
+   ( test "$mico_v_maj" -eq "$req_v_maj" && \
+        test "$mico_v_mid" -lt "$req_v_mid" ) || \
+   ( test "$mico_v_mid" -eq "$req_v_mid" && \
+        test "$mico_v_min" -lt "$req_v_min" )
+
+then
+  AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
+at least is required. You should upgrade MICO.])
+else
+  AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
+fi
+
+LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
+AC_SUBST(LIBMICO)
+if test -z "$IDL"; then
+  IDL='$(kde_bindir)/cuteidl'
+fi
+AC_SUBST(IDL)
+IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
+AC_SUBST(IDL_DEPENDENCIES)
+
+idldir="\$(includedir)/idl"
+AC_SUBST(idldir)
+
+])
+
+AC_DEFUN([KDE_CHECK_MINI_STL],
+[
+AC_REQUIRE([KDE_CHECK_MICO])
+
+AC_MSG_CHECKING(if we use mico's mini-STL)
+AC_CACHE_VAL(kde_cv_have_mini_stl,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
+AC_TRY_COMPILE(
+[
+#include <mico/config.h>
+],
+[
+#ifdef HAVE_MINI_STL
+#error "nothing"
+#endif
+],
+kde_cv_have_mini_stl=no,
+kde_cv_have_mini_stl=yes)
+CXXFLAGS="$kde_save_cxxflags"
+AC_LANG_RESTORE
+])
+
+if test "x$kde_cv_have_mini_stl" = "xyes"; then
+   AC_MSG_RESULT(yes)
+   $1
+else
+   AC_MSG_RESULT(no)
+   $2
+fi
+])
+
+])
+
+AC_DEFUN([KDE_CHECK_ANSI],
+[
+])
+
+AC_DEFUN([KDE_CHECK_INSURE],
+[
+  AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
+  [
+  if test $enableval = "no"; dnl
+	then ac_use_insure="no"
+	else ac_use_insure="yes"
+   fi
+  ], [ac_use_insure="no"])
+
+  AC_MSG_CHECKING(if we will use Insure++ to debug)
+  AC_MSG_RESULT($ac_use_insure)
+  if test "$ac_use_insure" = "yes"; dnl
+       then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
+   fi
+])
+
+AC_DEFUN([KDE_CHECK_NEWLIBS],
+[
+
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/admin/pkg.m4.in	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,57 @@
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN([PKG_CHECK_MODULES], [
+  succeeded=no
+
+  if test -z "$PKG_CONFIG"; then
+    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+  fi
+
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        AC_MSG_CHECKING(for $2)
+
+        if $PKG_CONFIG --exists "$2" ; then
+            AC_MSG_RESULT(yes)
+            succeeded=yes
+
+            AC_MSG_CHECKING($1_CFLAGS)
+            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+            AC_MSG_RESULT($$1_CFLAGS)
+
+            AC_MSG_CHECKING($1_LIBS)
+            $1_LIBS=`$PKG_CONFIG --libs "$2"`
+            AC_MSG_RESULT($$1_LIBS)
+        else
+            $1_CFLAGS=""
+            $1_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but 
+            ## do set a variable so people can do so.
+            $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+            ifelse([$4], ,echo $$1_PKG_ERRORS,)
+        fi
+
+        AC_SUBST($1_CFLAGS)
+        AC_SUBST($1_LIBS)
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
+
+  if test $succeeded = yes; then
+     ifelse([$3], , :, [$3])
+  else
+     ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+  fi
+])
+
+
--- a/kdiff3/admin/ylwrap	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/admin/ylwrap	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,11 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
-# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+#
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -15,51 +20,73 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Usage:
-#     ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
-# * INPUT is the input file
-# * OUTPUT is file PROG generates
-# * DESIRED is file we actually want
-# * PROGRAM is program to run
-# * ARGS are passed to PROG
-# Any number of OUTPUT,DESIRED pairs may be used.
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case "$1" in
+  '')
+    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    exit 1
+    ;;
+  --basedir)
+    basedir=$2
+    shift 2
+    ;;
+  -h|--h*)
+    cat <<\EOF
+Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
+
+Wrapper for lex/yacc invocations, renaming files as desired.
+
+  INPUT is the input file
+  OUTPUT is one file PROG generates
+  DESIRED is the file we actually want instead of OUTPUT
+  PROGRAM is program to run
+  ARGS are passed to PROG
+
+Any number of OUTPUT,DESIRED pairs may be used.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v|--v*)
+    echo "ylwrap $scriptversion"
+    exit $?
+    ;;
+esac
+
 
 # The input.
 input="$1"
 shift
 case "$input" in
- [\\/]* | ?:[\\/]*)
+  [\\/]* | ?:[\\/]*)
     # Absolute path; do nothing.
     ;;
- *)
+  *)
     # Relative path.  Make it absolute.
     input="`pwd`/$input"
     ;;
 esac
 
-# The directory holding the input.
-input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
-# Quote $INPUT_DIR so we can use it in a regexp.
-# FIXME: really we should care about more than `.' and `\'.
-input_rx=`echo "$input_dir" | sed -e 's,\\\\,\\\\\\\\,g' -e 's,\\.,\\\\.,g'`
-
-echo "got $input_rx"
-
 pairlist=
 while test "$#" -ne 0; do
-   if test "$1" = "--"; then
-      shift
-      break
-   fi
-   pairlist="$pairlist $1"
-   shift
+  if test "$1" = "--"; then
+    shift
+    break
+  fi
+  pairlist="$pairlist $1"
+  shift
 done
 
 # The program to run.
@@ -67,8 +94,8 @@
 shift
 # Make any relative path in $prog absolute.
 case "$prog" in
- [\\/]* | ?:[\\/]*) ;;
- *[\\/]*) prog="`pwd`/$prog" ;;
+  [\\/]* | ?:[\\/]*) ;;
+  *[\\/]*) prog="`pwd`/$prog" ;;
 esac
 
 # FIXME: add hostname here for parallel makes that run commands on
@@ -79,65 +106,118 @@
 
 cd $dirname
 
-$prog ${1+"$@"} "$input"
-status=$?
+case $# in
+  0) $prog "$input" ;;
+  *) $prog "$@" "$input" ;;
+esac
+ret=$?
 
-if test $status -eq 0; then
-   set X $pairlist
-   shift
-   first=yes
-   # Since DOS filename conventions don't allow two dots,
-   # the DOS version of Bison writes out y_tab.c instead of y.tab.c
-   # and y_tab.h instead of y.tab.h. Test to see if this is the case.
-   y_tab_nodot="no"
-   if test -f y_tab.c || test -f y_tab.h; then
-      y_tab_nodot="yes"
-   fi
+if test $ret -eq 0; then
+  set X $pairlist
+  shift
+  first=yes
+  # Since DOS filename conventions don't allow two dots,
+  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
+  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
+  y_tab_nodot="no"
+  if test -f y_tab.c || test -f y_tab.h; then
+    y_tab_nodot="yes"
+  fi
 
-   while test "$#" -ne 0; do
-      from="$1"
-      # Handle y_tab.c and y_tab.h output by DOS
-      if test $y_tab_nodot = "yes"; then
-	 if test $from = "y.tab.c"; then
-	    from="y_tab.c"
-	 else
-	    if test $from = "y.tab.h"; then
-	       from="y_tab.h"
-	    fi
-	 fi
+  # The directory holding the input.
+  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
+  # Quote $INPUT_DIR so we can use it in a regexp.
+  # FIXME: really we should care about more than `.' and `\'.
+  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
+
+  while test "$#" -ne 0; do
+    from="$1"
+    # Handle y_tab.c and y_tab.h output by DOS
+    if test $y_tab_nodot = "yes"; then
+      if test $from = "y.tab.c"; then
+    	from="y_tab.c"
+      else
+    	if test $from = "y.tab.h"; then
+    	  from="y_tab.h"
+    	fi
       fi
-      if test -f "$from"; then
-         # If $2 is an absolute path name, then just use that,
-         # otherwise prepend `../'.
-         case "$2" in
-	   [\\/]* | ?:[\\/]*) target="$2";;
-	   *) target="../$2";;
-	 esac
+    fi
+    if test -f "$from"; then
+      # If $2 is an absolute path name, then just use that,
+      # otherwise prepend `../'.
+      case "$2" in
+    	[\\/]* | ?:[\\/]*) target="$2";;
+    	*) target="../$2";;
+      esac
 
-	 # Edit out `#line' or `#' directives.  We don't want the
-	 # resulting debug information to point at an absolute srcdir;
-	 # it is better for it to just mention the .y file with no
-	 # path.
-	 sed -e "/^#/ s,$input_rx,," "$from" > "$target" || status=$?
-      else
-	 # A missing file is only an error for the first file.  This
-	 # is a blatant hack to let us support using "yacc -d".  If -d
-	 # is not specified, we don't want an error when the header
-	 # file is "missing".
-	 if test $first = yes; then
-	    status=1
-	 fi
+      # We do not want to overwrite a header file if it hasn't
+      # changed.  This avoid useless recompilations.  However the
+      # parser itself (the first file) should always be updated,
+      # because it is the destination of the .y.c rule in the
+      # Makefile.  Divert the output of all other files to a temporary
+      # file so we can compare them to existing versions.
+      if test $first = no; then
+	realtarget="$target"
+	target="tmp-`echo $target | sed s/.*[\\/]//g`"
       fi
-      shift
-      shift
-      first=no
-   done
+      # Edit out `#line' or `#' directives.
+      #
+      # We don't want the resulting debug information to point at
+      # an absolute srcdir; it is better for it to just mention the
+      # .y file with no path.
+      #
+      # We want to use the real output file name, not yy.lex.c for
+      # instance.
+      #
+      # We want the include guards to be adjusted too.
+      FROM=`echo "$from" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+      TARGET=`echo "$2" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+
+      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
+          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
+
+      # Check whether header files must be updated.
+      if test $first = no; then
+	if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
+	  echo "$2" is unchanged
+	  rm -f "$target"
+	else
+          echo updating "$2"
+          mv -f "$target" "$realtarget"
+        fi
+      fi
+    else
+      # A missing file is only an error for the first file.  This
+      # is a blatant hack to let us support using "yacc -d".  If -d
+      # is not specified, we don't want an error when the header
+      # file is "missing".
+      if test $first = yes; then
+        ret=1
+      fi
+    fi
+    shift
+    shift
+    first=no
+  done
 else
-   status=$?
+  ret=$?
 fi
 
 # Remove the directory.
 cd ..
 rm -rf $dirname
 
-exit $status
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- a/kdiff3/configure.in.in	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/configure.in.in	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 #MIN_CONFIG(3.1)
 
-AM_INIT_AUTOMAKE(kdiff3, 0.9.82)
+AM_INIT_AUTOMAKE(kdiff3, 0.9.89)
 AC_C_BIGENDIAN
 AC_CHECK_KDEMAXPATHLEN
 
--- a/kdiff3/doc/Makefile.am	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 # the SUBDIRS is filled automatically by am_edit. If files are 
 # in this directory they are installed into the english dir
 
-KDE_LANG = en da et it sv
+KDE_LANG = en da de es et fr it nl pt sv
 KDE_DOCS = kdiff3
 SUBDIRS = $(AUTODIRS)  
--- a/kdiff3/doc/README	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/README	Mon Apr 10 08:40:51 2006 +0000
@@ -6,6 +6,10 @@
 It helps me remember certain details. Most users probably aren't 
 interested in these things.
 
+Docbook references:
+http://i18n.kde.org/doc/markup/index.html
+http://opensource.bureau-cornavin.com/crash-course/index.html
+
 Each directory contains the documentation for a different translation.
 The textual information is in the index.docbook of every subdirectory.
 
@@ -19,8 +23,18 @@
 
 meinproc index.docbook
 
-During normal installation on KDE a compressed file is generated.
+If you prefer everything in one big HTML/Postscript/PDF-file:
+   LANG=de_DE meinproc --check index.docbook --stylesheet /opt/kde3/share/apps/ksgmltools2/customization/kde-nochunk.xsl
+   (The LANG=de_DE prevents that meinproc writes the file in UTF-8 encoding, which isn't understood by html2ps.)
+Create ps-file:
+   html2ps -D -u -n index.html >index.ps
+      (For the -D to work add the line "Ghostscript: 1;" in the "package"-section of file /usr/lib/html2ps/html2psrc.)
+Create pdf-file:
+   ps2pdf index.ps index.pdf
 
+The script createpdfdoc does these steps for all subdirectories.
+
+During normal installation on KDE a compressed file is generated:
 meinproc --check --cache index.cache.bz2 index.docbook
 
 
@@ -50,4 +64,16 @@
 Command to retrieve other translations from cvs:
 
 cvs co kde-i18n/subdirs
-for i in `cat kde-i18n/subdirs`; do  cvs co kde-i18n/$i/docs/kdeextragear-1/kdiff3/index.docbook; done
\ No newline at end of file
+for i in `cat kde-i18n/subdirs`; do  cvs co kde-i18n/$i/docs/kdeextragear-1/kdiff3/index.docbook; done
+
+If a new translation is available, 
+- create a new directory, 
+- copy the index.docbook file there,
+- copy a Makefile.am there and correct it, 
+- edit the doc/Makefile.am to include the new subdir,
+- create the links for the graphics,
+- and don't forget to run make -f Makefile.cvs in the top directory.
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/createpdfdoc	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,8 @@
+for i in `find * -maxdepth 0 -type d`; do
+cd $i
+echo $i
+LANG=de_DE meinproc --check index.docbook --stylesheet /opt/kde3/share/apps/ksgmltools2/customization/kde-nochunk.xsl
+html2ps -D -u -n index.html >index.ps
+ps2pdf index.ps ../kdiff3_$i.pdf
+cd ..
+done
--- a/kdiff3/doc/da/index.docbook	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/da/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -27,17 +27,17 @@
 > <affiliation
 ><address
 > <email
->joachim.eibl@gmx.de</email>
+>joachim.eibl snabela gmx.de</email>
 </address
 ></affiliation>
 </author>
 </authorgroup>
 
-<othercredit role="translator"><firstname>Erik Kjær</firstname><surname>Pedersen</surname><affiliation><address><email>erik@binghamton.edu</email></address></affiliation><contrib>Oversætter</contrib></othercredit>
+&erik.kjaer.pedersen.role; 
 
 <copyright>
 <year
->2002-2003</year>
+>2002-2006</year>
 <holder
 >Joachim Eibl</holder>
 </copyright>
@@ -55,16 +55,16 @@
 Do NOT change these in the translation. -->
 
 <date
->2003-12-07</date>
+>2006-03-12</date>
 <releaseinfo
->0.9.80</releaseinfo>
+>0.9.89</releaseinfo>
 
 
 <abstract>
 <para
 ></para>
 <para
->&kdiff3; er et værktøj til sammenligning og sammenfletning af filer og mapper, som: <itemizedlist>
+>&kdiff3; er et værktøj til sammenligning og sammenfletning af filer og mapper, som <itemizedlist>
 <listitem
 ><para
 >sammenligner og fletter to eller tre tekst-inddatafiler eller mapper sammen,</para
@@ -87,12 +87,24 @@
 ></listitem>
 <listitem
 ><para
->har valgmuligheder til at fremhæve eller skjule ændringer i blanke tegn eller kommentarer.</para
+>har valgmuligheder til at fremhæve eller skjule ændringer i blanke tegn eller kommentarer,</para
+></listitem>
+<listitem
+><para
+>understøtter Unicode, UTF-8 og andre tegnsæt,</para
+></listitem>
+<listitem
+><para
+>udskriver forskelle,</para
+></listitem>
+<listitem
+><para
+>understøtter versionshåndteringsnøgleord og historiksammenfletning.</para
 ></listitem>
 </itemizedlist>
 </para
 ><para
->Dette dokument beskriver KDiff3 version 0.9.80. </para>
+>Dette dokument beskriver Kdiff3 version 0.9.98. </para>
 </abstract>
 
 <!-- This is a set of Keywords for indexing by search engines.
@@ -151,9 +163,9 @@
 ><title
 >Endnu en sammenligningsgrænseflade?</title>
 <para
->Der findes flere grafiske sammenligningsværktøjer. Hvorfor skal du vælge KDiff3? Lad mig fortælle dig hvorfor jeg skrev det. </para
+>Der eksisterer flere grafiske sammenligningsværktøjer. Hvorfor skal du vælge &kdiff3;? Lad mig fortælle dig hvorfor jeg skrev det. </para
 ><para
->KDiff3 blev påbegyndt fordi jeg var tvunget til at lave en svær sammenfletning. At sammensætte er nødvendigt når flere personer arbejder med samme fil i et projekt. En sammenfletning kan være delvis automatiseret, når sammenfletningsværktøjet ikke kun har adgang til de nye ændrede filer (som kaldes "grene"), men også originalfilen (som kaldes "basis"). Sammenfletningsværktøjet vælger automatisk en ændring som kun er udført i en gren. Når flere bidragydere ændrer samme linjer, detekterer sammenfletningsværktøjet en konflikt som skal løses manuelt. </para
+>&kdiff3; blev påbegyndt fordi jeg var tvunget til at lave en svær sammenfletning. At sammensætte er nødvendigt når flere personer arbejder med samme fil i et projekt. En sammenfletning kan være delvis automatiseret, når sammenfletningsværktøjet ikke kun har adgang til de nye ændrede filer (som kaldes "grene"), men også originalfilen (som kaldes "basis"). Sammenfletningsværktøjet vælger automatisk en ændring som kun er udført i en gren. Når flere bidragydere ændrer samme linjer, detekterer sammenfletningsværktøjet en konflikt som skal løses manuelt. </para
 ><para
 >Sammenfletningen var svær eftersom en bidragyder havde ændret meget og rettet indrykningen mange steder. Den anden bidragydere havde også ændret meget tekst i samme fil, hvilket forårsagede flere konflikter ved sammenfletningen. </para
 ><para
@@ -165,7 +177,7 @@
 ><para
 >En funktion som krævede en stor anstrengelse var funktionen for mappesammenligning og sammenfletning, som gjorde programmet til en næsten fuldstændig filsøger. </para
 ><para
->Jeg håber at KDiff3 også virker for dig. Hav det sjovt! </para
+>Jeg håber at &kdiff3; også virker for dig. Hav det sjovt! </para
 ><para
 >Joachim Eibl (2003) </para>
 </sect1>
@@ -176,7 +188,7 @@
 <para
 >Dette skærmaftryk viser forskellen mellem to tekstfiler</para>
 <para
->(Med en tidlig version af KDiff3):</para>
+>(Med en tidlig version af &kdiff3;):</para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -185,7 +197,7 @@
 ></screenshot>
 
 <para
->Trevejssammenfletning understøttes fuldstændigt. Det er nyttigt hvis to personer ændrer kode uafhængig af hinanden. Originalfilen (basen) bruges til at hjælpe KDiff3 med automatisk at vælge de rigtige ændringer. Editoren for sammenfletning under sammenligningsvinduerne lader dig løse konflikter, mens den viser dig hvilken udskrift du får. Du kan til og med redigere udskriften. Dette skærmaftryk viser tre inddatafiler som sammensættes: </para
+>Trevejs sammenfletning understøttes fuldstændigt. Dette er nyttigt hvis to personer ændrer kode uafhængig af hinanden. Originalfilen (basen) bruges til  at hjælpe Kdiff3 med automatisk at vælge de rigtige ændringer. Sammenfletningseditoren under diff-vinduerne lader dig løse konflikter, mens uddata du vil få vises. Skærmbilledet viser tre inddatafiler som er ved at blive flettet sammen: </para
 ><para>
 <screenshot
 ><mediaobject>
@@ -196,7 +208,7 @@
 </para>
 
 <para id="dirmergebigscreenshot"
->KDiff3 hjælper dig også med at sammenligne og sammenflette hele mapper. Dette skærmaftryk viser KDiff3 under en mappesammenfletning: </para
+>&kdiff3; hjælper dig også med at sammenligne og sammenflette hele mapper. Dette skærmaftryk viser &kdiff3; under en mappesammenfletning: </para
 ><para>
 <screenshot
 ><mediaobject>
@@ -214,7 +226,7 @@
 ><title
 >Linje-for-linje og tegn-for-tegn sammenligningsvisning</title>
 <para
->Ved at bruge mulighederne en grafisk farveskærm har, viser KDiff3 nøjagtigt hvad forskellene er. Når du skal lave mange kodegennemgange, vil du kunne lide dette. </para>
+>Ved at bruge mulighederne en grafisk farveskærm har, viser &kdiff3; nøjagtigt hvad forskellene er. Når du skal lave mange kodegennemgange, vil du kunne lide dette. </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -257,7 +269,7 @@
 ><title
 >Bekvem sammenfletning af to eller tre inddatafiler</title>
 <para
->KDiff3 kan bruges til at sammenflette to eller tre inddatafiler og sammenfletter automatisk så meget som muligt. Resultatet vises i et redigerbart vindue hvor de fleste konflikter kan løses med et enkelt museklik. Vælg knapperne A/B/C i værktøjslinjen for at vælge kilden som skal bruges. Du kan også vælge mere end en kilde. Eftersom udskriftsvinduet er en editor, kan til og med konflikter som behøver yderligere korrigering løses her uden at kræve et andet værktøj. </para>
+>&kdiff3; kan bruges til at sammenflette to eller tre inddatafiler og sammenfletter automatisk så meget som muligt. Resultatet vises i et redigerbart vindue hvor de fleste konflikter kan løses med et enkelt museklik. Vælg knapperne A/B/C i værktøjslinjen for at vælge kilden som skal bruges. Du kan også vælge mere end en kilde. Eftersom udskriftsvinduet er en editor, kan til og med konflikter som behøver yderligere korrigering løses her uden at kræve et andet værktøj. </para>
 </sect2>
 
 <sect2
@@ -298,7 +310,7 @@
 ></listitem>
    <listitem
 ><para
->Søg efter strenge i alle tekstvinduer. Søg (Ctrl+F) og Søg igen (F3).</para
+>Søg efter strenge i alle tekstvinduer. Find (Ctrl-F) og Find næste (F3).</para
 ></listitem>
    <listitem
 ><para
@@ -318,6 +330,18 @@
 ></listitem>
    <listitem
 ><para
+>Tekstombrydning af lange linjer.</para
+></listitem>
+   <listitem
+><para
+>Støtte for Unicode, UTF-8 og andre kodninger.</para
+></listitem>
+   <listitem
+><para
+>Støtte for sprog som læses fra højre til venstre.</para
+></listitem>
+   <listitem
+><para
 >...</para
 ></listitem>
 </itemizedlist>
@@ -327,7 +351,7 @@
 
 <chapter id="documentation"
 ><title
->Dokumentation af filsammenligning og fletning</title>
+>Filsammenligning og fletning</title>
 
 <sect1 id="commandline"
 ><title
@@ -354,7 +378,7 @@
 > <replaceable
 >fil1 fil2</replaceable
 > -m
-   <command
+<command
 >kdiff3</command
 > <replaceable
 >fil1 fil2</replaceable
@@ -385,11 +409,11 @@
 > <replaceable
 >fil1 fil2 fil3</replaceable
 > -m
-   <command
+<command
 >kdiff3</command
 > <replaceable
 >fil1 fil2 fil3</replaceable
-> -o <replaceable
+>-o <replaceable
 >uddatafil</replaceable
 >
 </screen>
@@ -407,7 +431,7 @@
 ><title
 >Specialtilfælde: Filer med samme navn </title>
 <para
->Hvis alle filer har samme navn men er i forskellige mapper, kan du reducere hvor meget du skal skrive ved kun at angive filnavnet for den første fil. F.eks.: </para>
+>Hvis alle filer har samme navn men er i forskellige mapper, kan du reducere hvor meget du skal skrive ved kun at angive filnavnet for den første fil. &eg;: </para>
 <screen
 ><command
 >kdiff3</command
@@ -427,22 +451,22 @@
 >kdiff3</command
 > <replaceable
 >kat1 kat2</replaceable>
-   <command
+<command
 >kdiff3</command
 > <replaceable
 >kat1 kat2</replaceable
 > -o <replaceable
 >målkat</replaceable>
-   <command
+<command
 >kdiff3</command
 > <replaceable
 >kat1 kat2 kat3</replaceable>
-   <command
+<command
 >kdiff3</command
 > <replaceable
 >kat1 kat2 kat3</replaceable
-> -o <replaceable
->målmappe</replaceable
+>-o <replaceable
+>målkat</replaceable
 >
 </screen>
 <para
@@ -453,12 +477,67 @@
 
 <sect2
 ><title
->For mere information om kommandolinjeflag bruges: </title>
+>Andre kommandolinjeflag</title>
+<para
+>For at se alle tilgængelige kommandolinjeflag, skriv</para>
 <screen
 ><command
 >kdiff3</command
 > --help
 </screen>
+<para
+>Eksempeluddata:</para>
+<screen
+>Vælgare:
+  -m, --merge               Sammenflet inddata.
+  -b, --base file           Eksplicit basisfil. For at virke sammen med visse værktøjer.
+  -o, --output file         Uddatafil. Betyder underforstået -m. F.eks.: -o ny_fil.txt
+  --out file                Uddatafil, igen. (for at virke med visse værktøjer.)
+  --auto                    Ingen grafisk grænseflade hvis alle konflikter kan løses automatisk (kræver -o fil)
+  --qall                    Løs ikke konflikter automatisk. (For at virke med andre værktøjer...)
+  --L1 alias1               Synlig erstatning af navn for inddatafil 1 (basis).
+  --L2 alias2               Synlig erstatning af navn for inddatafil 2.
+  --L3 alias3               Synlig erstatning af navn for inddatafil 3.
+  -L, --fname alias         Alternativ synlig erstatning af navn. Angiv dette en gang for al inddata.
+  --cs string               Sæt en indstilling ud af kraft. Anvend en gang for hver indstilling, f.eks.  --cs "AutoAdvance=1"
+  --confighelp              Vis liste med indstillinger og nuværende værdier.
+  --config file             Anvend en anden indstillingsfil.
+</screen>
+<para
+>Flaget <option
+>-cs</option
+> lader dig justere et indstillingstilvalg som ellers kun kan justeres via indstillingsdialogerne. Men vær klar  over at når Kdiff3 afsluttes opbevares den ændrede værdi sammen med andre indstillinger. Med <option
+>--confighelp</option
+> kan du finde ud af  navnene på tilgængelige tilvalg og nuværende værdier.</para>
+<para
+>Via <option
+>--config</option
+> kan du angive en anden indstillingsfil. Hvis du ofte bruger Kdiff3 med helt forskellige indstillinger tillader dette dig nemt at skifte mellem dem.</para>
+</sect2>
+<sect2
+><title
+>Kommandolinjeflag som ignoreres</title>
+<para
+>Mange personer vil bruge Kdiff3 sammen med et versionshåndteringssystem, men når versionshåndteringssystemet kalder Kdiff3 med kommandolinjeflag som Kdiff3 ikke genkender, afsluttes Kdiff3 med en fejl. Integrationsindstillingerne gør det muligt at angive kommandolinjeflag som skal ignoreres af Kdiff3. De vises i brugshjælpen som i dette eksempel:</para>
+<screen
+>--<replaceable
+>foo</replaceable
+>                     Ignoreres. (brugerdefineret)
+</screen>
+<variablelist>
+  <varlistentry
+><term
+><emphasis
+>Kommandolinjeflag at ignorere:</emphasis
+></term
+><listitem
+><para
+>En liste med flag, adskilte med semikolon ';'. Når et af disse flag findes på kommandolinjen, ignorerer Kdiff3 det og kører uden at rapportere en fejl. (Standard er "u;query;html;abort").</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Hvis dette ikke er nok, anbefales du at skrive et skalscript som udfører oversættelsen af flag.</para>
 </sect2>
 
 </sect1>
@@ -475,53 +554,79 @@
 </mediaobject
 ></screenshot>
 <para
->Åbningsdialogen tillader at filnavnene redigeres i hånden, at en fil vælges via filsøgeren ("Fil...") eller at nyligst brugte filer vælges i dropned-boksen. Hvis du åbner dialogen igen, findes de nuværende navne stadigvæk der. Den tredje inddatafil kræves ikke. Hvis feltet for "C" forbliver tomt, udføres kun en tovejs sammenligninganalyse. </para
+>Åbningsdialogen tillader at filnavnene redigeres i hånden, at en fil vælges via filsøgeren ("Fil...") eller at nyligt brugte filer vælges i dropned-feltet. Hvis du åbner dialogen igen, eksisterer de nuværende navne stadigvæk der. Den tredje inddatafil kræves ikke. Hvis feltet for "C" forbliver tomt, udføres kun en tovejs sammenligninganalyse. </para
 ><para
->Du kan også vælge en mappe med "Mappe...". Hvis en mappe angives for A, starter en mappesammenligning og sammenfletning. Hvis A angiver en fil, men B, C eller udskriften angiver en mappe, bruger KDiff3 filnavnet fra A i de angivne mapper. </para
+>Du kan også vælge en mappe med "Mappe...". Hvis en mappe angives for A, starter en mappesammenligning og sammenfletning. Hvis A angiver en fil, men B, C eller udskriften angiver en mappe, bruger &kdiff3; filnavnet fra A i de angivne mapper. </para
 ><para
 >Hvis "Sammenflet" er valgt, bliver linjen "Udskrift" redigerbar. Det kræves dog ikke at uddatafilens navn angives med det samme. Du kan også vente med dette til du gemmer. </para
 ><para
->Knappen "Indstil" viser indstillingsdialogen, så du kan indstille tilvalgene inden analysen udføres. </para>
+>Knappen "Indstil.." viser indstillingsdialogen, så du kan indstille tilvalgene inden analysen udføres. </para>
 </sect1>
 
 <sect1 id="pasteinput"
 ><title
 >Indsæt eller slip inddata</title>
 <para
->Sommetider vil du sammenligne dele af en tekst som ikke er en egen fil. KDiff3 lader dig også indsætte tekst fra klippebordet i det inddatavindue for sammenligning som har fokus. Sammenligningsanalysen sker så med det samme. I åbningsdialogen behøver du så ikke at angive filer, men kun at lukke den via "Annullér". </para
+>Sommetider vil du sammenligne dele af en tekst som ikke er en egen fil. &kdiff3; lader dig også indsætte tekst fra klippebordet i det inddatavindue for sammenligning som har fokus. Sammenligningsanalysen sker så med det samme. I åbningsdialogen behøver du så ikke at angive filer, men kun at lukke den via "Annullér". </para
 ><para
 >Du kan også bruge træk og slip: Træk en fil fra en filhåndtering eller markeret tekst fra en editor og slip den på et inddatavindue til sammenligning. </para
 ><para
 >Hvad er idéen? Sommetider indeholder en fil to lignende funktioner, men at kontrollere hvor ens de virkelig er bliver en stor anstrengelse hvis du først skal oprette to filer og derefter indlæse dem. Nu kan du helt enkelt kopiere, indsætte og sammenligne de relevante afsnit. </para
 ><para
->Bemærk: For øjeblikket kan du ikke trække noget fra KDiff3. Det understøttes kun at slippe inddata i sammenligningvinduet. </para
+>Bemærk: For øjeblikket kan du ikke trække noget fra &kdiff3;. Det understøttes kun at slippe inddata i sammenligningvinduet. </para
 ><para
 >Advarsel: Visse editorer tolker stadigvæk træk og slip til et andet program som klip ud (i stedet for kopiér) og indsæt. De oprindelige data kan derfor gå tabt. </para>
 </sect1>
 
 <sect1 id="interpretinginformation"
 ><title
->Tolk informationen i inddatavinduet</title>
+>Sammenlign filer og tolke informationen i inddatavinduerne</title>
 <screenshot
 ><mediaobject>
 <imageobject
 ><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
 </mediaobject
 ></screenshot>
-<para
->Længst oppe i hvert tekstvindue findes dets "informationslinje". Informationslinjerne i inddatavinduet indeholder bogstaverne "A", "B" eller "C", filnavnet og linjenummeret for den første synlige linje i vinduet. (Bemærk at vinduet "C" er valgfrit.) Hver informationslinje vises i sin egen farve. (Hvis søgestierne er for lange til at få plads, kan du flytte musen til informationslinjen, så vil et værktøjsvink vise hele navnet.) </para
+<sect2
+><title
+>Informationslinje</title
 ><para
->De tre inddatavinduer tildeles bogstaverne "A", "B" og "C". "A" har blå farve, "B" har grøn farve og "C" magenta. (Det er standardfarverne, men de kan ændres via indstillingsmenuen.) </para
+>Længst oppe i hvert tekstvindue er dets "informationslinje". Informationslinjerne i inddatavinduet indeholder bogstaven "A", "B" eller "C", filnavnet og linjenummeret for den første synlige linje i vinduet. (Bemærk at vinduet "C" er valgfrit.) Hver informationslinje vises i en egen farve. </para
+><para
+>Når du vælger en anden fil ved at bladre eller afslutter at redigere filnavnet her ved at trykke på returtasten, indlæses den nye fil og sammenlignes med filen eller filerne som allerede er indlæste. </para
+></sect2
+><sect2
+><title
+>Farvelægning</title
+><para
+>De tre inddatavinduer tildeles bogstaverne "A", "B" og "C". "A" har blå farve, "B" har grøn farve og "C" har magenta. (Dette er standardfarver, men de kan ændres via menuen Opsætning.) </para
 ><para
 >Når en forskel opdages viser farven hvilken inddatafil som adskiller sig. Når begge de øvrige inddatafiler adskiller sig, er farven som bruges for at udtrykke dette normalt rød ("Konfliktfarve" i indstillingerne). Dette farvelægningsmønster er særlig nyttigt i tilfældet med tre inddatafiler, som ses i næste afsnit (<link linkend="merging"
 >Sammenfletning</link
 >). </para
+></sect2
+><sect2
+><title
+>Sammenfatningssøjle</title
 ><para
 >Til venstre for hver tekst er "sammendragssøjlen". Hvis forskelle opstod på en linje, viser sammendragssøjlen tilsvarende farve. For en forskel som kun består af blanke tegn er sammendraget afkrydset. For programmeringssprog, hvor blanke tegn ikke er så vigtige er det nyttigt at se med et blik om noget af vigtighed er ændret. (For C/C++ er blanke tegn kun interessante inde i strenge, i kommentarer, for præprocessoren og i nogle meget esoteriske situationer.) </para
 ><para
->Den lodrette linje som adskiller sammendragssøjlen og teksten er afbrudt hvis inddatafilen ikke har nogen linjer der. </para
+>Den lodrette linje som adskiller sammendragssøjlen og teksten er afbrudt hvis inddatafilen ikke har nogen linjer der. Når tekstombrydning er aktiveret så vil denne linje se prikket ud for ombrudte linjer. </para
+></sect2
+><sect2
+><title
+>Oversigtssøjle</title
 ><para
->På højre side er en "oversigtssøjle" synlig til venstre for den lodrette rullebjælke. Den viser et komprimeret sammendrag af inddata "A". Alle forskelle og konflikter er synlige med et blik. Når kun to inddatavinduer bruges, ses alle forskelle i rødt her, eftersom alle forskelle også er konflikter. Et sort rektangel indrammer den synlige del af inddata. For meget lange inddatafiler, hvor antallet af inddatalinjer er større end højden på oversigten i billedpunkter, deler flere inddatalinjer en oversigtslinje. En konflikt har prioritet over enkle forskelle, som har prioritet over ingen ændringer, så ingen forskelle eller konflikter går tabte her. Ved at klikke på oversigtssøjlen vises den tilsvarende tekst. </para>
+>På højre side er en "oversigtssøjle" synlig til venstre for den lodrette rullebjælke. Den viser et komprimeret sammendrag af inddata "A". Alle forskelle og konflikter er synlige med et blik. Når kun to inddatavinduer bruges, ses alle forskelle i rødt her, eftersom alle forskelle også er konflikter. Et sort rektangel indrammer den synlige del af inddata. For meget lange inddatafiler, hvor antallet af inddatalinjer er større end højden på oversigten i billedpunkter, deler flere inddatalinjer en oversigtslinje. En konflikt har prioritet over enkle forskelle, som har prioritet over ingen ændringer, så ingen forskelle eller konflikter går tabte her. Ved at klikke på oversigtssøjlen vises den tilsvarende tekst. </para
+></sect2
+><sect2 id="manualdiffhelp"
+><title
+>Justér linjer manuelt</title
+><para
+>Sommetider placerer algoritmen forkerte linjer ved siden af hinanden, eller du vil  sammenligne et stykke tekst med tekst på en helt anden position i den anden fil. I disse tilfælde kan du manuelt fortælle  Kdiff3 at visse linjer skal arrangeres i bestemte linjer linje. Markér teksten som du vil arrangere med musen, som du ville gøre ved kopi og indsæt, i det første diff-vindue og vælg derefter "Tilføj manuel justering af sammenligning" i menuen "Sammenligning" (genvejstasten "Ctrl+Y"). En orange linje vises i sammenfatningssøjlen udfor den markerede tekst. Gentag det for den anden og (hvis tilgængelig) tredje sammenligningsvisning. Kdiff3 genberegner med det samme sammenligningen hver gang du gør det, og justerer de markerede linjer. Naturligvis matcher nogle af linjerne tidligere matchede ikke længere. </para
+><para
+>For øjeblikket understøttes ikke sammenfletning ved brug af manuel hjælp til sammenligning. </para
+></sect2>
 </sect1>
 
 
@@ -535,83 +640,255 @@
 </mediaobject
 ></screenshot>
 <para
->Editorvinduet for sammenfletning af uddata (under inddatavinduet for sammenligning) har også en informationslinje længst oppe som viser "Udskrift", filnavnet og "[Ændret]" hvis du har redigeret noget. Oftest indeholder det en tekst fra de automatiske sammenfletningsfunktioner, men det indeholder også ofte konflikter. </para
+>Editorvinduet for sammenfletning af uddata (under inddatavinduet for sammenligning) har også en informationslinje længst oppe som viser "Uddata", filnavnet og "[Ændret]" hvis du har redigeret noget. Oftest indeholder det en tekst fra de automatiske sammenfletningsfunktioner, men det indeholder også ofte konflikter. </para
 ><para
->!!! Gem er deaktiveret indtil alle konflikter er løst!!! (Brug knapperne "Gå til foregående/næste uløste konflikt" for at finde de tilbageværende konflikter.) </para
+>Gem er deaktiveret indtil alle konflikter er løst!!! (Brug knapperne "Gå til foregående/næste uløste konflikt" for at finde de tilbageværende konflikter.) </para
 ><para
 >Med kun to filer er hver forskel også en konflikt, som skal løses manuelt. </para
 ><para
 >Med tre inddatafiler behandles den første som basis, mens den anden og tredje inddatafil indeholder ændringer. Hvis kun inddata B eller C er ændret for en vis linje, men ikke begge vælges den ændrede kilde automatisk. Kun hvis B og C er ændret på samme linjer, detekterer værktøjet en konflikt som skal løses manuelt. Når B og C er ens, men ikke det samme som A, vælges C.  </para
+><sect2
+><title
+>Sammenfatningssøjlen</title
 ><para
->Editorvinduet for sammenfletning af uddata har også en sammendragssøjle til venstre. Den viser bogstaverne for inddata fra hvilken  linjen valgtes, eller ingenting hvis alle tre kilder var ens for linjen. Ved konflikter viser den et spørgsmølstegn "?" og linjen viser "&lt; Konflikter ved sammenfletning &gt;", alt med rødt. Eftersom det ville tage meget lang tid at løse konflikter linje for linje, grupperes linjer i grupper som har samme forskelle og konfliktkarakter. Konflikter med kun blanke tegn adskilles dog fra andre konflikter for at forbedre sammenfletningen af filer hvor indrykningen er ændret på mange linjer. </para
+>Editorvinduet for sammenfletning af uddata har også en sammendragssøjle til venstre. Den viser bogstaverne for inddata fra hvilken  linjen valgtes, eller ingenting hvis alle tre kilder var ens for linjen. Ved konflikter viser den et spørgsmålstegn "?" og linjen viser "&lt; Konflikter ved sammenfletning &gt;", alt med rødt. Eftersom det ville tage meget lang tid at løse konflikter linje for linje, grupperes linjer i grupper som har samme forskelle og konfliktkarakter. Konflikter med kun blanke tegn adskilles dog fra andre konflikter for at forbedre sammenfletningen af filer hvor indrykningen er ændret på mange linjer. </para
+></sect2
+><sect2 id="synchronise_views"
+><title
+>Indstil nuværende gruppe og synkronisér sammenfletnings- og sammenligningsvisningen position</title
 ><para
->Når du klikker på sammendragssøjlen med venstre museknap i et af vinduerne, så markeres gruppen som hører til denne linje i alle vinduer og gruppens begyndelse vises. (Dette kan indebære et automatisk spring i positionen i vinduerne hvis gruppens begyndelse ikke ses.) Gruppen bliver så til den "aktuelle gruppe". Den markeres med "Baggrundsfarven for aktuelt sammenligninginterval" og en sort linje vises til venstre for teksten. </para
+>Når du klikker på sammenfatningssøjlen med venstre museknap i et af  vinduerne, så markeres gruppen som hører til den linje i alle vinduer og gruppens begyndelse vises. (Dette kan indebære et automatisk skift af position i vinduerne hvis gruppens begyndelse ikke ses.) Gruppen bliver så til den "nuværende gruppe". Den markeres med "Baggrundsfarven for nuværende sammenligningsområde" og en sort linje vises til venstre for teksten. </para
+></sect2
+><sect2
+><title
+>Vælg inddata A, B eller C for nuværende konflikt og redigering</title
 ><para
->Bemærk knapperne for inddatavalg som indeholder bogstaverne "A", "B" og "C" i værktøjslinjen under menulinjen. Når du klikker på en af knapperne for inddatavalg, tilføjes linjerne fra disse inddata til sidst i den markerede gruppe, hvis gruppen ikke allerede indeholdt denne kilde. Ellers fjernes linjerne fra disse inddata. </para
+>Knaplinjen under menulinjen indeholder tre knapper for inddatavalg som indeholder bogstaverne "A", "B" og "C". Klik på knappen for inddatavalg for at indsætte linjer (eller fjerne dem hvis de allerede er indsat) fra de respektive kildefil. For at vælge linjer fra flere inddatafiler klikkes på de respektive knapper i den nødvendige rækkefølge. Hvis du for eksempel ønsker at linjer fra "B" skal havne før linjer fra "A" i uddata, klikkes først på "B" og derefter på "A". </para
 ><para
->Desuden kan du redigere en hvilken som helst linje. Sammendragssøjlen viser "m" for hvert linje der er ændret. </para
+>Hvis du bruger tilvalget automatisk at gå videre (<link linkend="autoadvance"
+>Gå automatisk til næste uløste konflikt efter valg af kilde</link
+>), skal du deaktivere dette inden du vælger linjer fra flere inddatafiler eller hvis du vil redigere linjerne efter du valgt dem. Ellers går Kdiff3 til næste konflikt efter den første inddatafil er valgt. </para
 ><para
->Sommetider, når en linje fjernes enten på grund af automatisk fletning eller ved redigering og ingen andre linjer er tilbage i gruppen, vises teksten &lt;Ingen kildelinjer&gt; på linjen. Det er kun en pladsmarkør for gruppen hvis du ændrer mening og vælger en kilde igen. Teksten ses ikke i gemte filer eller i nogen markeringer som du vil kopiere og indsætte. </para
+>Det er ofte nyttigt direkte at redigere sammenflettet uddata. Sammenfatningssøjlen viser "m" for hver linje som er ændret manuelt. Når forskellene for eksempel justeres på en måde så et enkelt valg af inddata ikke er tilfredsstillende, kan du markere teksten som behøves og bruge normal <link linkend="selections"
+>kopiér og indsæt</link
+> for at placere den i sammenflettet uddata. </para
 ><para
->Teksten "&lt; Konflikter ved indfletning &gt;" vises i klippebordet hvis du kopierer og indsætter noget tekst som indeholder en sådan linje. Men vær stadigvæk forsigtig med at gøre det. </para
+>Sommetider, når en linje fjernes enten på grund af automatisk fletning eller ved redigering og ingen andre linjer er tilbage i gruppen, vises teksten  &lt;No src line&gt; på linjen. Det er kun en pladsmarkør for gruppen hvis du ændrer mening og vælger en kilde igen. Teksten ses ikke i gemte filer eller i nogen markeringer som du vil kopiere og indsætte. </para
 ><para
->Den normale sammenfletning vil starte med at løse simple konflikter automatisk. Men "Flet"-menu sørger for handlinger for andre almindelige behov. Hvis du skal vælge samme kilde for de fleste konflikter, så kan du vælge "A", "B" eller "C" overalt, eller kun for de tiloversblevne uløste konflikter, eller for uløste konflikter med blanke tegn. Hvis du ønsker at afgøre hver lille forskel selv, kan du "Sætte lille forskel til konflikt". Eller hvis du ønsker at vende tilbage de automatiske valg udført af KDiff3 så  vælg "Løs simple konflikter automatisk". KDiff3 starter så sammenfletningen forfra. For handlinger der ændrer dine  tidligere ændringer vil KDiff3 bede om bekræftelse før den går videre. </para
+>Teksten "&lt;Merge Conflict&gt;" vises i klippebordet hvis du kopierer og indsætter noget tekst som indeholder en sådan linje. Men vær satdig forsigtig med at gøre det. </para
+></sect2
+><sect2
+><title
+>Vælg inddata A, B eller C for alle konflikter</title
 ><para
->Bemærk: Når en af kilderne for uløste konflikter med blanke tegn vælges og tilvalgene "Ignorér tal" eller "Ignorér C/C++ kommentarer" bruges så  bliver ændringer i tal eller kommentarer også behandlet som blanke tegn. </para>
+>Den normale sammenfletning vil starte med at løse simple konflikter automatisk. Men "Flet"-menu sørger for handlinger for andre almindelige behov. Hvis du skal vælge samme kilde for de fleste konflikter, så kan du vælge"A", "B" eller "C" overalt, eller kun for de tiloversblevne uløste konflikter, eller for uløste konflikter med blanke tegn. Hvis du ønsker at afgøre hver lille forskel selv, kan du "Sætte lille forskel til konflikt". Eller hvis du ønsker at vende tilbage de automatiske valg udført af &kdiff3; så  vælg "Løs simple konflikter automatisk". &kdiff3; starter så sammenfletningen forfra. For handlinger der ændrer dine  tidligere ændringer vil &kdiff3; bede om bekræftelse før den går videre. </para
+><para
+>Bemærk: Når en af kilderne for uløste konflikter med blanke tegn vælges og tilvalgene "Ignorér tal" eller "Ignorér C/C++ kommentarer" bruges så  bliver ændringer i tal eller kommentarer også behandlet som blanke tegn. </para
+></sect2
+><sect2 id="vcskeywordsmergesupport"
+><title
+>Sammenflet automatisk nøgleord for versionshåndtering og historik (log)</title
+><para
+>Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "$Log$
+>Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "KDiff3 0.9.89
+>Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "" etc.) During the check-in the version control system (VCS) changes these lines. For instance "$Date$" will turn into "$Date$". Since this line will be different in every version of the file, it would require manual interaction during the merge. </para
+><para
+>Kdiff3 tilbyder automatisk sammenfletning af disse indgange. For enkle linjer som matcher tilvalget "Regulært udtryk for automatisk sammenfletning" i alle inddatafiler vælger Kdiff3 linjen fra B, eller om tilgængelig, den fra C. (Desuden er det nødvendigt at linjerne det drejer sig om linjes op i sammenligningen og at foregående linje ikke indeholder en konflikt.) Den automatiske sammenfletning kan enten udføres med det samme når sammenfletningen startes (aktivér tilvalget "Kør automatisk sammenfletning med regulært udtryk når sammenfletning starter") eller senere via "Kør automatisk sammenfletning med regulært udtryk" i menuen Sammenflet. </para
+><para
+>Automatisk sammenfletning for versionshåndteringshistorik (også kaldet "log") understøttes også. Automatisk sammenfletning af historik kan enten udføres med det samme når sammenfletningen startes ved at aktivere tilvalget  "Sammenfletning ifølge versionshåndteringshistorik når sammenfletning starter" eller senere via "Løs automatisk historikkonflikter" i menuen Sammenflet. </para
+><para
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "KDiff3 0.9.89
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "$Log$
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "KDiff3 0.9.89
+>Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "". Hvis samme "indledende kommentar" også findes på følgende linjer inkluderes de også i historikken. </para
+><para
+>Ved hver arkivering skriver VCS en entydig linje som angiver version, dato- og tidsinformation fulgt af linjer med brugerens kommentarer. Disse linjer udgør en historikindgang. Historikafsnittet vokser ved hver arkivering og de seneste indgange vises længst oppe (efter historikkens startlinje). </para
+><para
+>Når to udvikler arkiverer grene af en fil under parallel udvikling, kommer historikken for sammenfletning til at indeholde flere indgange som vises som konflikter under sammefletning af grenene. Eftersom sammenfletning af dem kan blive meget trættende, tilbyder Kdiff3 understøttelse for den med to mulige strategier: Blot indsætte historikinformationen fra begge bidragsyderne længst oppe, eller sortere historikinformationen ifølge en brugerdefineret nøgle. </para
+><para
+>Metoden kun at indsætte alle indgange er nemmest at indstille. Kdiff3 behøver kun en metode til at detektere hvilke linjer som hører til en historikindgang. De fleste VCS indsætter en tom linje efter hver historikindgang. Hvis der ikke findes andre tomme linjer, er det en tilstrækkelig betingelse for Kdiff3. Angiv blot et tomt "Regulært udtryk for historikkens begyndelse". Hvis kriteriet med en tom linje ikke er tilstrækkeligt kan du angive et regulært udtryk for at detektere historikindgangen begyndelse. </para
+><para
+>Hvis du vil sortere historikken skal du angive hvordan sorteringsnøglen skal bygges. Brug parenteser som i "Regulært udtryk for historikindgangens begyndelse" for at gruppere dele af det regulære udtryk som senere skal bruges i sorteringsnøglen. Angiv derefter "Sorteringsnøglernes rækkefølge fra historikindgangens begyndelse" med en liste af tal som refererer til gruppens position i det regulære udtryk adskilt af kommategn ",". </para
+><para
+>Eftersom det ikke er så enkelt at få det rigtigt med det samme, kan du teste  og forbedre det regulære udtryk og nøglegenereringen i en særlig dialog ved at klikke på knappen "Test dine regulære udtryk". </para
+><para
+>Antag at historikken ser ud så her: <screen>
+/**************************************************************************
+** HISTORIK:    $Log$
+** HISTORIK:    Revision 1.2  2006/04/10 08:33:34  joachim99
+** HISTORIK:    KDiff3 0.9.89
+** HISTORIK:
+**
+**     \head\integreringsgren_12   2 Apr 2001 10:45:41   tom
+**  Sammenflettede grenen simongren_15.
+**
+**     \main\henry_felretningsgren_7\1   30 Mar 2001 19:22:05   henry
+**  Forbedrede hastigheden for delrutinen forvandleTil().
+**  Ordnede sammenbrud.
+**************************************************************************/
+</screen
+> Historikkens indledende linje matcher det regulære udtryk ".*\$Log.*\$.*". Derefter følger historikindgangene. </para
+><para
+>Linjen med nøgleordet "$Log$
+>Linjen med nøgleordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Linjen med nøgleordet "KDiff3 0.9.89
+>Linjen med nøgleordet "" begynder med to "*" og derefter følger et mellemrum. Kdiff3 bruger den første streng uden blanke tegn som "indledende kommentar" og antager at historikken slutter med den første linje uden denne indledende kommentar. I eksemplet slutter den sidste linje med en streng som også begynder med to "*", men i stedet for et mellemrum følger flere "*". Derfor afslutter denne linje historikken. </para
+><para
+>Hvis sortering af historikken ikke kræves kan det regulære udtryk for historikindgangens begyndelsen se sådan her ud. (Linjen er delt i to eftersom den ikke ville få plads ellers.) <screen>
+\s*\\main\\\S+\s+[0-9]+ (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ [0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s+.*
+</screen
+> For detaljer om regulære udtryk se <ulink url="http://doc.trolltech.com/3.3/qregexp.html#details"
+>Trolltechs dokumentation af regulære udtryk</ulink
+>. Bemærk at "\s" (med et lille "s") matcher alle blanke tegn og  "\S" (med et stort "S") matcher alle tegn som ikke er blanke. I vort eksempel indeholder historikindgangens begyndelse først versionsinformation med det regulære udtryk "\\main\\\S+", datoen som består af dagen "[0-9]+", månaden "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)" og året "[0-9][0-9][0-9][0-9]", tiden "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]" og til sidst udviklerens brugernavn ".*". Bemærk at den indledende kommentar (i eksemplet "**") allerede er fjernet af Kdiff3 inden matcheforsøget, derfor begynder det regulære udtryk med at matche et eller flere blanke tegn "\s*". </para
+><para
+>Hvis du kræver sorteret historik skal sorteringsnøglen beregnes. For at gøre dette skal relevante dele i det regulære udtryk grupperes med parenteser. (De ekstra parenteser kan også forblive hvis historiksortering deaktiveres.) <screen>
+\s*\\main\\(\S+)\s+([0-9]+) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ ([0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])\s+(.*)
+</screen
+> Parenteserne indeholder nu 1. versionsinformation, 2. dag, 3. måned, 4. år, 5. tid, 6. navn. Men hvis vi vil sortere efter dato og tid skal vi oprette en nøgle med elementerne synlige i en anden rækkefølge: Først året, fulgt af måned, dag, tid, versionsinformation og navn. Derfor skal sorteringsnøglens rækkefølge som angives være  "4,3,2,5,1,6". </para
+><para
+>Eftersom månednavne ikke er gode at sortere efter ("Apr" ville være først) detekterer Kdiff3 hvilken rækkefølge månednavnene angives og bruger dette nummer i stedet  for ("Apr"->"04"). Og hvis et rent nummer findes forvandles det til en fireciffers værdi med indledende nuller for sortering. Endelig bliver den resulterende sorteringsnøgle for den første historikindgangens indledende linje: <screen
+>2001 04 0002 10:45:41 integreringsgren_12   tom 
+</screen>
+</para
+><para
+>For mere information, se også <link linkend="diffmergeoptions"
+>Opsætning af sammenlign og sammenflet</link
+>. </para>
+</sect2>
 </sect1>
 
 <sect1 id="navigation"
 ><title
 >Navigering og redigering</title>
 <para
->Meget navigering gøres med rullebjælkerne og musen, men du kan også navigere med tastaturet. Hvis du klikker på et vindue kan du bruge markørtasterne venstre pil, højre pil, opad pil, nedad pil, Page Up, Page Down, Home, End, Ctrl+Home og Ctrl+End som du kan i andre programmer. </para
+>Meget navigering gøres med rullelisterne og musen, men du kan også navigere med tastaturet. Hvis du klikker på et vindue kan du bruge markørtasterne venstrepil, højrepil, opadpil, nedadpil, Page Up, Page Down, Home, End, Ctrl+Home og Ctrl+End ligesom du kan i andre programmer. Sammenfatningssøjlen ved siden af inddatafilernes lodrette rulleliste kan også bruges til at navigere ved at klikke i den. </para
 ><para
 >Du kan også bruge musehjulet til at rulle opad og nedad. </para
 ><para
->I editoren for fletning kan du også bruge andre taster til redigering. Du kan skifte mellem indsætnings- og erstatningstilstand med tasten Insert. (Normaltilstanden er at indsætte.) </para
+>I editoren for fletning kan du også bruge andre taster til redigering. Du kan skifte mellem indsætnings- og erstatningstilstand med Insert-tasten. (Normaltilstanden er at indsætte.) </para
 ><para
->Et klik med venstre museknap i en sammendragssøjle synkroniserer alle vinduer til at vise begyndelsen af samme gruppe linjer (som forklares i afsnittet <link linkend="merging"
->Fletning</link
+>Et klik med venstre museknap i en sammenfatningssøjle synkroniserer alle vinduer til at vise begyndelsen af samme gruppe af linjer (som forklaret i afsnittet <link linkend="synchronise_views"
+>Indstil nuværende gruppe og synkronisér sammenfletnings- og sammenligningsvisningens position</link
 >). </para
 ><para
->Værktøjslinjen indeholder også syv navigeringsknapper som du kan bruge til at gå til nuværende/første/sidste forskel, til næste/foregående forskel (Ctrl+Nedad pil eller Ctrl+Opad pil), til næste/foregående konflikt (Ctrl+Page Down eller Ctrl+Page Up) eller til næste/foregående uløste konflikt. Bemærk at for KDiff3 forbliver en "konflikt" som ikke automatisk løstes ved start af sammenfletningen altid en "konflikt" også selv om den er løst. Deraf nødvendigheden for at adskille "uløst konflikt". </para
-><para
->Der er også en knap som hedder "Gå automatisk til næste uløste konflikt efter valg af kilde" (automatisk fortsættelse). Hvis du aktiverer dette, så går KDiff3 automatisk frem til næste uløste konflikt når en kilde vælges. Det kan hjælpe når du kun vil vælge en kilde. Når du behøver begge kilder, eller du vil redigere efter valget, bør du formodentlig lukke for dette. Inden KDiff3 fortsætter til næste uløste konflikt, vises effekten af valget en kort tid. Denne forsinkelse kan justeres i indstillingerne under Sammenlign og sammenflet. Du kan angive "Forsinkelse ved automatisk fortsættelse" i millisekunder mellem 0 og 2000. Vink: Træt af mange klik? Brug en kort forsinkelse og genvejstasterne Ctrl+1, Ctrl+2 eller Ctrl+3 for mange konflikter. </para>
+>Værktøjslinjen indeholder også ni navigeringsknapper som du kan bruge til at gå til nuværendel/førsea/sidste forskel, til næste/foregående forskel (Ctrl+Nedadpil eller Ctrl+Opadpil), til næste/foregående konflikt (Ctrl+Page Down eller Ctrl+Page Up) eller til næste/foregående uløste konflikt. Bemærk at for Kdiff3 forbliver en "konflikt" som ikke automatisk blev løst ved start af sammenfletningen altid en "konflikt" også selvom den er løst. Deraf nødvendigheden af at skelne "uløste konflikter". </para>
+<sect2 id="autoadvance"
+><title
+>Automatisk fortsættelse</title>
+<para
+>Der er også en knap som hedder "Gå automatisk til næste uløste konflikt efter valg af kilde" (automatisk fortsættelse). Hvis du aktiverer dette, så går &kdiff3; automatisk til næste uløste konflikt når en kilde vælges. Dette kan hjælpe til når du kun vil vælge en kilde. Når du behøver begge kilder, eller du vil redigere efter valget, bør du formodentlig slå dette fra. Inden &kdiff3; fortsætter til næste uløste konflikt, vises effekten af valget en kort tid. Denne forsinkelse kan justeres i indstillingerne under Sammenlign og sammenflet. Du kan angive <guilabel
+>Forsinkelse ved automatisk fortsættelse</guilabel
+> i millisekunder mellem 0 og 2000. </para>
+</sect2>
 </sect1>
 
 <sect1 id="selections"
 ><title
 >Markér, kopiér og indsæt</title>
 <para
->Inddatavinduerne viser ikke nogen markør, så markeringer skal gøres med musen, ved at klikke med venstre museknap på begyndelsen, holde museknappen nede og gå til slutningen, hvor museknappen slippes igen. Du kan også markere et ord ved at dobbeltklikke på det. I editoren for sammenfletningsuddata kan du også markere med tastaturet, ved at holde tasten "Shift" nede og navigere med piltasterne. </para
+>Inddatavinduerne viser ikke nogen markør, så markeringer skal udføres med musen, ved at klikke med venstre museknap på begyndelsen, holde museknappen nede og gå til slutningen, hvor museknappen slippes igen. Du kan også markere et ord ved at dobbeltklikke på det. I editoren for sammenfletningsuddata kan du også markere med tastaturet, ved at holde shift-tasten nede og navigere med piletasterne. </para
 ><para
->For at kopiere til klippebordet skal du trykke på knappen "Kopiér" (Ctrl+C eller Ctrl+Insert). Men der er et valg som hedder "Kopiér markering automatisk". Hvis det er markeret, kopieres hvad du end vælger med det samme, og du behøver aldrig eksplicit at kopiere. Men vær forsigtig når du bruger dette, eftersom klippebordets indhold kan ødelægges ved en fejl. </para
+>For at kopiere til klippebordet skal du trykke på knappen "Kopiér" (Ctrl+C eller Ctrl+Insert). Men der er et tilvalg som hedder "Kopiér automatisk markering". Hvis det er aktiveret, kopieres hvad du end vælger med det samme, og du behøver aldrig eksplicit kopiere. Men vær forsigtig når du bruger dette, eftersom klippebordets indhold kan ødelægges ved en fejl. </para
 ><para
->"Klip" (Ctrl+X eller Shift+Delete) kopierer til klippebordet og fjerner den markerede tekst, og "Indsæt" (Ctrl+V eller Shift+Insert) indsætter teksten fra klippebordet på markørens position eller over nuværende markering. </para>
+>"Klip ud" (Ctrl+X eller Shift+Delete) kopierer til klippebordet og fjerner markeret tekst, mens "Indsæt" (Ctrl+V eller Shift+Insert) indsætter teksten fra klippebordet på markørpositionen eller over nuværende markering. </para>
 </sect1>
 
 <sect1 id="saving"
 ><title
 >Gemmer</title>
 <para
->At gemme tillades kun når alle konflikter er løste. Hvis filen allerede findes og punktet "Sikkerhedskopiér filer" er markeret, ændres originalversionens navn med tilføjelse af filendelsen ".orig", og hvis en sådan fil allerede findes fjernes den. Når du afslutter eller starter en ny sammenligninganalyse og data ikke er gemt endnu, spørger KDiff3 om du vil gemme, annullere eller fortsætte uden at gemme. (KDiff3 fanger ingen signaler, så hvis du "dræber" KDiff3 går data tabt.) </para
+>At gemme tillades kun når alle konflikter er løste. Hvis filen allerede findes og tilvalget "Sikkerhedskopiér filer" er markeret, ændres originalversionens navn med tilføjelse af filendelsen .orig, og hvis en sådan fil allerede findes fjernes den. Når du afslutter eller starter en ny sammenligningsanalyse og data ikke er gemt endnu, spørger Kdiff3 om du vil gemme, annullere eller fortsætte uden at gemme. (Kdiff3 fanger ingen signaler, så hvis du "dræber" Kdiff3 går data tabt.) </para
 ><para
->Linjeslut gemmes følgende den normale metode i det underliggende operativsystem. For Unix slutter hver linje med et nylinjetegn "\n", mens hver linje for Windows-baserede system slutter med et returtegn og et nylinjetegn "\r\n". KDiff3 beholder ikke linjeslut for inddatafilerne, hvilket også betyder at du ikke skal bruge KDiff3 med binær filer. </para>
+>Linjeslut gemmes ifølge den normale metoden i det underliggende operativsystem. For Unix slutter hver linje med et nylinjetegn "\n", mens for Windows-baserede systemer slutter hvert linje med et returtegn og et nylinjetegn "\r\n". Kdiff3 beholder ikke linjeslut for inddatafilerne, hvilket også betyder at du ikke skal bruge Kdiff3 med binære filer. </para>
 </sect1>
 
 <sect1 id="find"
 ><title
 >Søg efter strenge</title>
 <para
->Du kan søge efter en streng i et hvilket som helst tekstvindue i KDiff3. Kommandoen "Søg..." (Ctrl+F) i menuen Redigér, viser en dialog som lader dig angive strengen at søge efter. Du kan også vælge de vinduer som skal gennemsøges. Søgning starter altid fra begyndelsen. Brug kommandoen "Søg igen" (F3) for at fortsætte til næste forekomst. Hvis du vælger at søge i flere vinduer, gennemsøges det første vindue fra begyndelsen til slutningen inden søgningen fortsætter fra begyndelsen i næste vindue, osv. </para>
+>Du kan søge efter en streng i et hvilket som helst tekstvindue i Kdiff3. Kommandoen "Søg..." (Ctrl+F) i menuen Redigér, viser en dialog som lader dig angive strengen at søge efter. Du kan også vælge de vinduer som skal søges. Søgning starter altid fra begyndelsen. Brug kommandoen "Søg igen" (F3) for at fortsætte til næste forekomst. Hvis du vælger at søge i flere vinduer, gennemsøges det første vindue fra begyndelsen til slutningen inden søgningen fortsætter fra begyndelsen i næste vindue, osv. </para>
 </sect1>
 
+<sect1 id="printing"
+><title
+>Udskrift</title>
+<para
+>Kdiff3 understøtter udskrift af forskelle mellem tekstfiler. Kommandoen "Skriv ud..." (Ctrl+P) i menuen Fil viser en dialog som lader dig vælge printer og justere andre tilvalg. </para
+><para
+>Der er flere muligheder for at justere området. Afhængig af forskellige udskriftsdialoger på forskellige operativsystemer, varierer metoden for at opnå valg af et vist område. </para>
+<variablelist>
+   <varlistentry
+><term
+>Alle:</term
+><listitem
+><para
+>Udskriv alt.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Nuværende:</term
+><listitem
+><para
+>Udskriv en side som begynder på den første synlige linje i vinduet. (På systemer uden dette tilvalg kan dette opnås ved at angive sidenummeret 10000 for udskrift.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Markering:</term
+><listitem
+><para
+>Inden du vælger at udskrive, markeres tekst med musen (som for kopiere og indsætte) i et af sammenligningsvinduerne for at definere start- og slutlinje. Hvis ingen tekst er markeret i et af sammenligningsvinduerne, er dette tilvalg ikke tilgængeligt. (På systemer uden dette tilvalg kan dette opnås ved at angive sidenummeret 9999 for udskrift.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Område:</term
+><listitem
+><para
+>Angiv første og sidste side. </para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Andre vigtige indstillinger for udskrift tages fra de normale indstillinger: </para
+><itemizedlist>
+   <listitem
+><para
+>Skrifttype, tegnstørrelse</para
+></listitem>
+   <listitem
+><para
+>Vis linjenummer</para
+></listitem>
+   <listitem
+><para
+>Linjebrud</para
+></listitem>
+   <listitem
+><para
+>Farver</para
+></listitem>
+   <listitem
+><para
+>osv.</para
+></listitem>
+</itemizedlist>
+<para
+>Landskabsformatering anbefales også for udskrift. </para>
+</sect1>
 
 <sect1 id="options"
 ><title
 >Tilvalg</title>
 <para
->Tilvalg og listen med de nyligste filer gemmes når du afslutter programmet, og indlæses igen når du starter det. (Menuen Opsætning -> Indstil KDiff3...) </para>
+>Tilvalg og listen med nylige filer gemmes når du afslutter programmet, og indlæses igen når du starter det. (Menuen Opsætning->Indstil KDiff3 ...) </para>
 <sect2
 ><title
 >Skrifttype</title>
@@ -725,9 +1002,61 @@
 >Oftest mørkegul.</para
 ></listitem
 ></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farve for manuelt valgte sammenligningsområder:</emphasis
+></term
+><listitem
+><para
+>Oftest orange.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farve for nyeste fil i mappesammenligning:</emphasis
+></term
+><listitem
+><para
+>Oftest grøn.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farve for ældste fil i en mappesammenligning:</emphasis
+></term
+><listitem
+><para
+>Oftest rød.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farve for middelgamle filer i en mappesammenligning:</emphasis
+></term
+><listitem
+><para
+>Oftest mørkegul.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farve for manglende filer i et mappesammenligning:</emphasis
+></term
+><listitem
+><para
+>Oftest sort.</para
+></listitem
+></varlistentry>
 </variablelist>
 <para
->For systemer der kun har 16 eller 256 farver er visse rene farver ikke tilgængelige. For sådanne systemer vælger knappen "Standard" rene farver. </para>
+>At ændre farverne for mappesammenligninger får ikke nogen virkning før end næste mappesammenligning startes. </para>
+<para
+>For systemer med kun 16 eller 256 farver er visse rene farver ikke tilgængelige. For sådanne systemer vælger knappen "Standard" en ren farve. </para>
 </sect2>
 
 <sect2
@@ -761,7 +1090,7 @@
 ></term
 ><listitem
 ><para
->Når du trykker på Enter eller returtasten, bruges de foregående linjers indrykning for den nye linje. </para
+>Når du trykker på Enter eller returtasten, bruges foregående linjes indrykning for den nye linje. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -777,21 +1106,21 @@
    <varlistentry
 ><term
 ><emphasis
->Brug lokalt tegnsæt:</emphasis
+>Stil for linjeafslutning:</emphasis
 ></term
 ><listitem
 ><para
->For at vise specielle tegn. Prøv at ændre dette hvis nogle tegn i dit sprog ikke vises rigtigt. </para
+>Når du gemmer kan du vælge den stil for linjeafslutning du foretrækker. Standardindstillingen er det almindelige valg for det operativsystem der bruges. </para
 ></listitem
 ></varlistentry>
 </variablelist>
 </sect2>
 
-<sect2
+<sect2 id="diffmergeoptions"
 ><title
 >Opsætning af sammenligning og fletning</title>
 <para
->Når filer sammenlignes forsøger KDiff3 først at matche linjer som er ens i alle inddata-filer. Det er kun under dette skridt at blanke tegn kan ignoreres. Det andet skridt sammenligner hver linje. Under dette skridt ignoreres blanke tegn ikke. Under sammenfletning ignoreres blanke tegn heller ikke. </para>
+>Når filer sammenlignes forsøger &kdiff3; først at matche linjer som er ens i alle inddatafiler. Det er kun under dette skridt at blanke tegn kan ignoreres. Det næste skridt sammenligner hver linje. Under dette skridt ignoreres  blanke tegn ikke. Under sammenfletning ignoreres blanke tegn heller ikke. </para>
 
 <variablelist>
    <varlistentry
@@ -801,7 +1130,7 @@
 ></term
 ><listitem
 ><para
->Visse editorer (på visse systemer) gemmer returtegn '\r' og nylinjetegn '\n' i slutningen af linjen, mens andre kun gemmer nylinjetegnet '\n'. Oftest ignorerer KDiff3 returtegnet, men så ser filer som ikke har samme størrelse ens ud ved sammenligning side om side. Når dette tilvalg er markeret, gøres returtegn synlige, men behandles som blanke tegn. Dette skal være slået fra under en sammenfletning. Normalværdien er fra.</para
+>Visse editorer (på visse systemer) gemmer returtegn '\r' og nylinjetegn '\n' i slutningen på linjen, mens andre kun gemmer nylinjetegnet '\n'. Oftest ignorerer &kdiff3; returtegnet, men så ser filer som ikke har samme størrelse ens ud ved sammenligning side for side. Når dette tilvalg  er markeret, gøres returtegn synlige, men behandles som blanke tegn. Dette tilvalg skal være slået fra under en sammenfletning. Standardværdien er fra.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -811,7 +1140,7 @@
 ></term
 ><listitem
 ><para
->Normalværdien er fra. Ciffertegn ('0'-'9','.', '-') ignoreres under første del af analysen når linjematchningen udføres. Forskellene for resultatet vises ikke desto mindre, men de behandles som blanke tegn. </para
+>Standardværdien er fra. Ciffertegn ('0'-'9','.','-') ignoreres under første del af analysen når linjematchningen udføres. Forskellene for resultatet vises alligevel, men de behandles som blanke tegn. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -827,11 +1156,11 @@
    <varlistentry
 ><term
 ><emphasis
->Konvertér til store bogstaver:</emphasis
+>Ignorér versaltype:</emphasis
 ></term
 ><listitem
 ><para
->Normalværdien er fra. Konverterer inddata til store bogstaver under læsning. Altså er sammenligningen ikke versalfølsom. Vær forsigtig under sammenfletning, eftersom versalinformationen også går tabt i sammenfletningsresultatet. </para
+>Standardværdien er fra. Ændringer i versaltilstand for tegn (såsom 'A' eller 'a') håndteres som ændringer i blanke tegn. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -841,7 +1170,9 @@
 ></term
 ><listitem
 ><para
->Når en fil læses, sendes den gennem denne eksterne kommando. Udskriften fra denne kommando vises i stedet for den oprindelige fil. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Brug dette for at fjerne forstyrrende dele af filen, eller for automatisk at korrigere indrykning, osv. </para
+>Se <link linkend="preprocessors"
+>næste afsnit</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -851,7 +1182,9 @@
 ></term
 ><listitem
 ><para
->Når en fil læses, sendes den via denne eksterne kommando. Hvis en præprocessorkommando (se ovenfor) også angives er udskriften fra præprocessoren input til kommandoen for linjematchning. Udskriften bruges kun under linjematchningsfasen af analysen. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Hvert inddatalinje skal have en tilsvarende uddatalinje. </para
+>Se <link linkend="preprocessors"
+>næste afsnit</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -881,7 +1214,106 @@
 ></term
 ><listitem
 ><para
->Løs alle konflikter med blanke tegn ved at vælge den angivne fil. (Normalværdien er manuelt valg.) Nyttigt når blanke tegn virkelig ikke er vigtige i mange filer. Hvis du kun behøver dette af og til er det bedre at bruge "Vælg A/B/C til alle uløste konflikter med blanke tegn" i flet-menuen. Bemærk at hvis du aktiverer enten "Ignorér tal" eller "Ignorér C/C++ kommentarer" så anvendes dette auto-valg også på konflikter i tal eller kommentarer. </para
+>Løs automatisk alle konflikter for blanke tegn ved at vælge angiven fil. (Standardværdien er manuelt valg.) Nyttigt hvis blanke tegn virkelig ikke er vigtige i mange filer. Hvis du kun behøver det ind iblandt, er det bedre at bruge "Vælg A/B/C for uløste konflikter med blanke tegn" i menuen "Sammenflet". Bemærk at hvis du enten aktiverer Ignorér cifre eller "Ignorere C/C++ kommentarer" gælder det automatiske valg også ved konflikter for cifre eller kommentarer. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Regulært udtryk for automatisk sammenfletning:</emphasis
+></term
+><listitem
+><para
+>Regulært udtryk for linjer hvor Kdiff3 automatisk skal vælge en kilde. Se også <link linkend="vcskeywordsmergesupport"
+>Automatisk sammenfletning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kør automatisk sammenfletning med regulært udtryk når sammenfletning starter:</emphasis
+></term
+><listitem
+><para
+>Hvis aktiveret udfører Kdiff3 den automatiske sammenfletning med "Regulært udtryk for automatisk sammenfletning" når en sammenfletning startes. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Regulært udtryk for historikkens begyndelse:</emphasis
+></term
+><listitem
+><para
+>Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "$Log$
+>Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "KDiff3 0.9.89
+>Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "". Standardværdi: ".*\$Log.*\$.*" </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Regulært udtryk for historikindgangens begyndelse:</emphasis
+></term
+><listitem
+><para
+>En historikindgang for sammenfletning består af flere linjer. Angiv det regulære udtryk for at detektere den første linje (uden indledende kommentar). Brug parenteser for at gruppere nøglerne du vil bruge til sortering. Hvis det efterlades tomt, antager Kdiff3 at tomme linjer skiller historikindgangene ad. Se også <link linkend="vcskeywordsmergesupport"
+>Automatisk sammenfletning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sortering af historiksammenfletning:</emphasis
+></term
+><listitem
+><para
+>Aktivér sortering af versionshåndteringshistorik. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sorteringsnøglernes rækkefølge fra historikindgangens begyndelse:</emphasis
+></term
+><listitem
+><para
+>Hver parentes som bruges i det regulære udtrykket for historikkens startindgang grupperer en nøgle som kan bruges til sortering. Angiv listen med nøgler (som nummereres i rækkefølge de optræder med begyndelsen på 1) med ',' som skilletegn (f.eks. "4,5,6,1,2,3,7"). Hvis det efterlades tomt udføres ingen sortering. Se også <link linkend="vcskeywordsmergesupport"
+>Automatisk sammenfletning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sammenfletning ifølge versionshåndteringshistorik når sammenfletningen starter:</emphasis
+></term
+><listitem
+><para
+>Hvis aktiveret udfører Kdiff3 den automatiske sammefletning af historik med tidligere nævnte tilvalg når en sammenfletning startes. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Test dine regulære udtryk</emphasis
+></term
+><listitem
+><para
+>Denne knap viser en dialog som lader dig forbedre og teste det regulære udtryk ovenfor. Kopiér blot de respektive data fra dine filer til eksempellinjerne. "Matcheresultaterne" viser med det samme om det lykkes at matche eller ej. "Sorteringsnøgleresultat" viser nøglen som bruges til sortering ved sammenfletning af historik. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Irrelevant sammenfletningskommando:</emphasis
+></term
+><listitem
+><para
+>Angiv en egen kommando som skal kaldes når Kdiff3 detekterer at filen fra B ikke bidrager med relevant data som ikke allerede findes i filen fra C. Denne kommando kaldes med de tre filnavne som parametre. Data som matches af "Regulært udtryk for automatisk sammenfletning" eller i historikken anses ikke for at være relevant. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -905,7 +1337,7 @@
 ></term
 ><listitem
 ><para
->Når en fil gemmes og en ældre version allerede findes, ændres originalversionens navn med tilføjelse af filendelsen ".orig". Hvis en gammel sikkerhedskopi med filendelsen "orig" allerede findes fjernes den uden sikkerhedskopiering. </para
+>Når en fil gemmes og en ældre version allerede eksisterer, ændres originalversionens navn med tilføjelse af filendelsen ".orig". Hvis en gammel sikkerhedskopi med ".orig" allerede eksisterer slettes den uden sikkerhedskopiering. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -913,6 +1345,84 @@
 
 <sect2
 ><title
+>Indstillinger for region og sprog</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Sprog:</emphasis
+></term
+><listitem
+><para
+>Justér brugergrænsefladens sprog. At ændre dette påvirker ikke programmet som kører. Du skal afslutte og genstarte &kdiff3; for at ændre sprog. (Dette er ikke tilgængeligt i &kde;-versionen af &kdiff3;, eftersom sproget kan justeres i de generelle &kde;-indstillinger.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Brug samme kodning til alt:</emphasis
+></term
+><listitem
+><para
+>Følgende kodningstilvalg kan justeres separat for hvert objekt, eller hvis tilvalget er sandt, indstilles alle værdier til den første værdi. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Lokal kodning:</emphasis
+></term
+><listitem
+><para
+>Ovenfor kodningsvælgerne vises en note som fortæller dig hvad den lokale kodning er (Den kan ikke justeres, men er kun til information hvis du ikke ved hvad den lokale kodning er, men har brug for at kunne vælge den.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning for A/B/C:</emphasis
+></term
+><listitem
+><para
+>Justér filkodningen for inddatafiler. Dette har en effekt på hvordan specialtegn tolkes. Eftersom du kan justere hvert kodning separat, kan du til og med sammenligne og sammenflette filer som blev gemt med forskellige kodninger. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning for sammenflettet uddata og ved at gemme:</emphasis
+></term
+><listitem
+><para
+>Når du har redigeret en fil, kan du justere hvilken kodning som bruges når den gemmes til disk. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning for præprocessorfiler:</emphasis
+></term
+><listitem
+><para
+>Når du definerer præprocessorer, kan de måske ikke håndtere din kodning (eksempelvis hvis dine filer bruger 16-bit Unicode og præprocessoren kun kan håndtere 8-bit ASCII). Med dette kan du definere kodningen for præprocessorens uddata. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Sprog som læses fra højre til venstre</emphasis
+></term
+><listitem
+><para
+>Visse sprog skrives fra højre til venstre. Når dette er aktiveret, tegner &kdiff3; tekst fra højre til venstre i sammenligningsvinduerne og i sammenfletningsvinduet. Bemærk at hvis du starter &kdiff3; med kommandolinjeflaget "--reverse" så vises al layout også fra højre til venstre. (Dette er en funktion som &Qt; sørger for.) Denne dokumentation er skrevet under antagelse af at "Sprog som læses fra højre til venstre" eller omvendt layout ikke er aktiverede. Visse referencer til "venstre" eller "højre" skal erstattes af det modsatte hvis du bruger disse valgmuligheder. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
 >Diverse</title>
 <para
 >(Disse tilvalg og handlinger er tilgængelige i menuerne eller værktøjslinjen.)</para>
@@ -944,7 +1454,27 @@
 ></term
 ><listitem
 ><para
->Slå dette fra for at undertrykke al fremhævning af ændringer der kun er i blanke tegn i teksten eller overblikssøjlerne. (Bemærk at dette også gælder ændringer i tal eller kommentarer hvis tilvalgene "Ignorér tal" eller "Ignorér C/C++ kommentarer" er aktive.)</para
+>Luk af for dette for ikke at vise ændringer af kun blanke tegn i teksten eller oversigtssøjlerne. (Bemærk at dette også gælder ændringer af cifre eller kommentarer hvis valgmulighederne "Ignorér cifre" eller "Ignorér C/C++ kommentarer" er aktive.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Overblikstilvalg:</emphasis
+></term
+><listitem
+><para
+>Disse tilvalg er kun tilgængelige når du sammenligner tre filer. I standardtilstand vises alle forskelle i en farvekodet oversigtssøjle, men sommetider er du især interesseret i forskellene mellem to af de tre filer. Ved at vælge oversigten "A mod B", "A mod C" eller "B mod C" vises en anden oversigtssøjle med den forespurgte information ved siden af den almindelige oversigt. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Tekstombrydning af diff-vinduer:</emphasis
+></term
+><listitem
+><para
+>Ombryd linjer når deres længde ville have været større end vinduets bredde. </para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -954,7 +1484,7 @@
 ></term
 ><listitem
 ><para
->Sommetider vil du bruge skærmpladsen bedre for lange linjer. Skjul vinduer som ikke er vigtige. (I vinduesmenuen.)</para
+>Sommetider vil du gerne bruge skærmpladsen bedre for lange linjer. Skjul vinduer som ikke er vigtige. (I menuen Vinduer.)</para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -964,7 +1494,7 @@
 ></term
 ><listitem
 ><para
->Skift mellem sammenligningvinduer som vises ved siden af hinanden (A til venstre for B til venstre for C) eller ovenover hinanden (A over B over C). Det bør også hjælpe for lange linjer. (I vinduesmenuen.) </para
+>Skift mellem sammenligningsvinduer som vises ved siden af hinanden (A til venstre for B til venstre for C) eller ovenfor hinanden (A over B over C). Dette bør også hjælpe med lange linjer. (I menuen Vinduer.) </para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -978,7 +1508,7 @@
 ><imageobject
 ><imagedata fileref="merge_current.png" format="PNG"/></imageobject
 ></inlinemediaobject
-> "Flet markerede filer" i menuen Flet virker også selvom du kun sammenligner to filer. Et enkelklik starter sammenfletningen og bruger filnavnet på den sidste inddatafil som standard udskriftsfilnavn. (Når dette bruges til at genstarte en sammenfletning, beholdes udskriftsfilnavnet.)</para
+> "Sammenflet denne fil" i menuen Mappe virker også hvis du kun sammenligner to filer. Et enkelklik starter sammenfletningen og bruger filnavnet på den sidste inddatafil som standarduddatafilnavn. (Når dette bruges til at genstarte en sammenfletning, beholdes uddatafilnavnet.)</para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -988,7 +1518,330 @@
 ><title
 >Indstil genvejstaster</title>
 <para
->For øjeblikket understøtter kun KDE-versionen indstillelige genvejstaster (Menuen Opsætning -> Indstil genveje...) </para>
+>For øjeblikket understøtter kun &kde;-versionen indstillelige genvejstaster (Menuen Opsætning->Indstil genveje...) </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Præprocessorkommandoer</title>
+<para
+>&kdiff3; understøtter to præprocessortilvalg. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Præprocessorkommando:</emphasis
+></term
+><listitem
+><para
+>Når en fil læses, sendes den via denne eksterne kommando. Uddata fra denne kommando vises i stedet for den oprindelige fil. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Brug dette til at fjerne forstyrrende dele af filen, eller for automatisk at korrigere indrykning, osv. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Præprocessorkommando for linjematchning:</emphasis
+></term
+><listitem
+><para
+>Når en fil læses, sendes den via denne eksterne kommando. Hvis en præprocessorkommando (se ovenfor) også angives er udskriften fra præprocessoren input til kommandoen for linjematchning. Udskriften bruges kun under linjematchningsfasen af analysen. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Hvert inddatalinje skal have en tilsvarende uddatalinje. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>Idéen er at tillade brugeren større fleksibilitet mens diff-resultatet indstilles. Men dette kræver et eksternt program, og mange brugere ønsker ikke selv at skrive et sådant. Heldigvis er det meget ofte sådan at  <command
+>sed</command
+> or <command
+>perl</command
+> vil kunne klare det. </para>
+<para
+>For eksempel et enkelt tilfælde at teste: Betragt filen a.txt (6 linjer): <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> Og filen b.txt (3 linjer): <screen>
+      cg
+      dg
+      eg
+</screen
+> Uden en præprocessor ville følgende linjer placeres ud for hinanden: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Det er formodentlig ikke det der ønskes eftersom det første bogstav indeholder den interessante information. For at hjælpe matchealgoritmen med at ignorere det andet bogstav kan man bruge en linjematchende præprocessorkommando som erstatter 'g' med 'a': <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Med den kommando bliver resultatet af at matche: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> Internt ser matchealgoritmen filerne efter den linjematchende præprocessor er kørt, men på skærmen er filen uforandret. (Den normale præprocessor ville også ændre data på skærmen.) </para>
+
+<sect2 id="sedbasics"
+><title
+>Basal <command
+>sed</command
+></title>
+<para
+>Dette afsnit introducerer blot nogle meget grundlæggende funktioner i <command
+>sed</command
+>. For mere information se <ulink url="info:/sed"
+>info:/sed</ulink
+> eller <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. En forkompileret version for &Windows; eksisterer på <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Bemærk at følgende eksempel antager at <command
+>sed</command
+> eksisterer i en mappe i miljøvariablen PATH. Hvis dette ikke er tilfældet, skal du angive fuldstændig absolut søgesti til kommandoen.  </para>
+<note
+><para
+>Bemærk også at følgende eksempel bruger enkle citationstegn ('), hvilket ikke virker i Windows. I Windows skal du i stedet bruge dobbelte citationstegn (").</para
+></note>
+<para
+>I denne sammenhæng bruges kun erstatningskommandoen i <command
+>sed</command
+>: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGUDTRYK</replaceable
+>/<replaceable
+>ERSTATNING</replaceable
+>/<replaceable
+>FLAG</replaceable
+>'
+</screen
+> Inden du bruger en ny kommando inde i Kdiff3, bør du først teste den i en terminal. Her er kommandoen <command
+>echo</command
+> nyttig. For eksempel: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Dette eksempel viser en meget enkel sed-kommando som erstatter den første forekomst af "a" med "o". Hvis du vil erstatte alle forekomster behøver du flaget "g": <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Symbolet "|" er en pipe-kommando som overfører uddata fra foregående kommando til inddata i efterfølgende kommando. Hvis du vil teste med en længere fil kan du bruge <command
+>cat</command
+> på Unix-lignende systemer eller <command
+>type</command
+> på Windows-lignende systemer. <command
+>sed</command
+> udfører erstatningen for hver linje. <screen
+><command
+>cat</command
+> <replaceable
+>filnavn</replaceable
+> | <command
+>sed</command
+> <replaceable
+>flag</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Eksempel på brug af <command
+>sed</command
+> i &kdiff3;</title>
+<sect3
+><title
+>Ignorering af andre typer kommentarer</title>
+<para
+>For øjeblikket forstår Kdiff3 kun C/C++ kommentarer. Ved at bruge en linjematchende præprocessorkommando kan du også ignorere andre typer af kommentarer ved at konvertere dem til C/C++ kommentarer. For eksempel for at  ignorere kommentarer som begynder med "#", skulle du ville konvertera dem til "//". Bemærk at du også skal aktivere tilvalget "Ignorér C/C++ kommentarer" for at få nogen virkning. En passende linjematchende præprocessorkommando ville være: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Eftersom tegnet "/" har en særlig betydning i <command
+>sed</command
+>, er det nødvendigt at tilføje tegnet "\" inden hver "/" i erstatningsstrengen. Sommetider behøves "\" for at tilføje eller fjerne en særlig betydning for visse tegn. De enkle citationstegn (') inden og efter erstatningskommandoen er nu vigtige, eftersom skallen ellers ville forsøge at tolke visse specialtegn som '#', '$' eller '\' inden de sendes til <command
+>sed</command
+>. <emphasis
+>Bemærk at i Windows behøver du dobbelte citationstegn (") her. Windows erstatter andre tegn som '%', så du kan få brug for at eksperimentere noget.</emphasis
+> </para>
+</sect3>
+<sect3
+><title
+>Ikke versalfølsom Diff</title>
+<para
+>Brug følgende linjematchende præprocessorkommando til at forvandle al inddata til store bogstaver: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Her er ".*" et regulært udtryk som matcher alle strenge, og i denne sammenhæng matcher alle tegn på linjen. Tegnet "\1" i erstatningsstrengen svarer til den matchede tekst mellem det første par "\(" og "\)". "\U" konverterer den indsatte tekst til store bogstaver. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorering af nøgleord for versionskontrol</title>
+<para
+>CVS og andre versionshåndteringssystemer bruger flere nøgleord til at indsætte automatisk genererede strenge (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Alle følger mønstret "$NØGLEORD genereret tekst$". Nu behøver vi en linjematchende præprocessorkommando som kun fjerner den genererede tekst: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Strengen "\|" skiller de mulige nøgleord ad. Du vil måske ændre listen ifølge dine behov. Tegnet "\" ud for "$" behøves eftersom "$" ellers matcher linjeslut. </para>
+<para
+>Mens du eksperimenterer med <command
+>sed</command
+> kommer du måske til at forstå og endog at kunne lide disse regulære udtryk. De er nyttige fordi der er mange andre programmer der også understøtter lignende ting. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorér cifre</title>
+<para
+>At ignorere tal er i virkeligheden et indbygget tilvalg, men som et andet eksempel, vises hvordan det ville se ud som en linjematchende præprocessorkommando. <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Alle tegn indenfor '[' og ']' matcher og vil blive erstattet af ingenting. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorering af visse søjler</title>
+<para
+>Sommetider er teksten meget strengt formateret, og indeholder søjler som du altid vil ignorere, mens der er andre søjler du vil bevare for analyse. I følgende eksempel ignoreres de fem første søjler (tegn), de følgende ti søjler bevares, derefter ignoreres igen fem søjler og resten af linjen bevares. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Hvert punktum '.' svarer til et hvilket som helst enkelt tegn. Strengene "\1" og "\2" i erstatningsstrengen refererer til den matchende tekst indenfor det første og andre par af  "\(" og "\)" som angiver teksten at bevare. </para>
+</sect3>
+
+<sect3
+><title
+>Kombination af flere substitutioner</title>
+<para
+>Sommetider vil du tilpasse flere erstatninger samtidigt. SÃ¥ kan du bruge semikolon ';' for at skille dem fra hinanden. For eksempel: <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+ -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+>Brug af <command
+>perl</command
+> i stedet for <command
+>sed</command
+></title>
+<para
+>I stællet for <command
+>sed</command
+> måske du vil bruge noget andet som <command
+>perl</command
+>. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGUTTRYCK</replaceable
+>/<replaceable
+>ERSÆTTNING</replaceable
+>/<replaceable
+>FLAGGOR</replaceable
+>'
+</screen
+> Men visse detaljer er anderledes i <command
+>perl</command
+>. Bemærk at hvor <command
+>sed</command
+> behøver "\(" og "\)" kræver <command
+>perl</command
+> det enklare  "(" og ")" uden indledende '\'. Till eksempel: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+  <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Rækkefølge for præprocessor-udførsel</title>
+<para
+>Data sendes gennem alle interne og eksterne præprocessorer i følgende rækkefølge: </para>
+<itemizedlist>
+<listitem
+><para
+>Normal præprocessor,</para
+></listitem>
+<listitem
+><para
+>Præprocessor for linjematchning,</para
+></listitem>
+<listitem
+><para
+>Ignorér versaler (konvertér til store bogstaver),</para
+></listitem>
+<listitem
+><para
+>Detektion af C/C++ kommentarer,</para
+></listitem>
+<listitem
+><para
+>Ignorér cifre,</para
+></listitem>
+<listitem
+><para
+>Ignorér blanke tegn</para
+></listitem>
+</itemizedlist>
+<para
+>Data efter den normale præprocessor vil blive bevaret til visning og indfletning. De andre operationer ændrer kun de data som den linjematchende diff-algoritme ser. </para
+><para
+>I de sjældne tilfælde hvor du bruger en normal præprocessor, bemærk at den linjematchende præprocessor ser uddata fra den normale præprocessor som inddata. </para>
+</sect2>
+
+<sect2
+><title
+>Advarsel</title>
+<para
+>Forbehandlingskommandoer er ofte meget nyttige, men som med alle tilvalg som ændrer teksten eller skjuler visse forskelle automatisk, kan du ved en fejl springe over visse forskelle og i værste fald ødelægge vigtige data. </para
+><para
+>Af denne grund, hvis en normal præprocessorkommando bruges under en sammenfletning, fortæller &kdiff3; dig om det og spørger om det skal deaktiveres eller ej. Men du får ingen advarsel hvis en linjematchende præprocessorkommando er aktiv. Sammenfletningen sker ikke førend alle konflikter er løste. Hvis du deaktiverede "Vis blanke tegn" bliver også forskellene som blev fjernet med den linjematchende præprocessorkommando usynlige. Hvis knappen Gem forbliver inaktiv under en sammenfletning (på grund af tilbageværende konflikter), så sørg for at aktivere "Vis blanke tegn". Hvis du ikke vil sammenflette disse mindre vigtige forskelle manuelt kan du vælge "Vælg [A|B|C] for uløste konflikter med blanke tegn" i menuen "Sammenflet". </para>
 </sect2>
 </sect1>
 </chapter>
@@ -996,14 +1849,14 @@
 
 <chapter id="dirmerge"
 ><title
->Mappesammenligning og sammenfletning med KDiff3</title>
+>Mappesammenligning og sammenfletning med &kdiff3;</title>
 <sect1 id="dirmergeintro"
 ><title
->Indledning</title>
+>Introduktion til mappesammenligning og sammenfletning</title>
 <para
->Ofte skal programmører ændre mange filer i en mappe for at opnå deres formål. For at opnå dette lader KDiff3 dig også sammenligne og sammenflette hele mapper rekursivt! </para
+>Ofte skal programmører ændre mange filer i en mappe for at opnå deres formål. For at opnå dette lader &kdiff3; dig også sammenligne og sammenflette hele mapper rekursivt! </para
 ><para
->Selv om sammenligning og sammenfletning af mapper synes at være ganske selvklart, er der flere detaljer som du bør kende til. Det vigtigste er naturligvis  det faktum at mange filer nu kan påvirkes af hver handling. Hvis du ikke har sikkerhedskopier af originaldata, kan det være meget svært eller til og med umuligt at gå tilbage til originaltilstanden. Så inden du påbegynder en sammenfletning, skal du sørge for at data er sikrede, og at det er muligt at nulstille. Om du laver et arkiv, eller bruger et versionskontrolsystem er din egen beslutning, men til og med erfarne programmører og integratører behøver ind i mellem gammel kildekode. Bemærk også at selvom jeg (forfatteren til KDiff3) forsøger at gøre mit bedste, kan jeg ikke garantere at der ikke er fejl. Ifølge  GNU GPL er der INGEN GARANTI af nogen slags for dette program. Så vær ydmyg, og husk altid: </para>
+>Selvom sammenligning og sammenfletning af mapper synes at være ganske selvklart, er der flere detaljer som du bør kende til. Det vigtigste er naturligvis det faktum at mange filer nu kan påvirkes af hver handling. Hvis du ikke har sikkerhedskopier af originale data, kan det være meget svært eller til og med umuligt at komme tilbage til originaltilstanden. Så inden du påbegynder en sammenfletning, skal du sørge for at data er sikret, og at det er muligt at nulstille. Om du laver et arkiv, eller bruger et versionskontrolsystem er din egen beslutning, men til og med erfarne programmører og integratører behøver sommetider gammel kildekode. Bemærk også at også selvom jeg (forfatteren til &kdiff3;) forsøger at gøre mit bedste, kan jeg ikke garantere at der ikke er fejl. Ifølge GNU GPL er der INGEN GARANTI af nogen slags for dette program. Så hvor ydmyg, og husk altid: </para>
 <blockquote
 ><para>
    <emphasis
@@ -1011,7 +1864,7 @@
 </para
 ></blockquote>
 <para
->Så dette er hvad programmet kan gøre for dig: KDiff3 ... </para>
+>Så dette er hvad programmet kan gøre for dig: &kdiff3; ... </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1039,7 +1892,7 @@
 ></listitem>
      <listitem
 ><para
->... lader dig køre den valgte operation for alle punkter (tasten F7) eller det valgte punkt (tasten F6),</para
+>... lader dig udføre valgt handling for alle punkter (tasten F7) eller markeret punkt (tasten F6),</para
 ></listitem>
      <listitem
 ><para
@@ -1047,7 +1900,7 @@
 ></listitem>
      <listitem
 ><para
->... laver sikkerhedskopier, hvis du vil,med filendelsen ".orig".</para
+>... laver valgfrie sikkerhedskopier, med filendelsen ".orig".</para
 ></listitem>
      <listitem
 ><para
@@ -1074,11 +1927,11 @@
 > <replaceable
 >kat1 kat2</replaceable
 > -o <replaceable
->målmappe</replaceable
+>målkat</replaceable
 >
 </screen>
 <para
->Hvis ingen målmappe angives, anvender KDiff3 <replaceable
+>Hvis ingen målmappe angives, bruger &kdiff3; <replaceable
 >kat2</replaceable
 >. </para>
 </sect2>
@@ -1096,28 +1949,28 @@
 > <replaceable
 >kat1 kat2 kat3</replaceable
 > -o <replaceable
->målmappe</replaceable
+>målkat</replaceable
 >
 </screen>
 <para
 >NÃ¥r tre mapper sammenflettes, bruges <replaceable
 >kat1</replaceable
-> som basis for sammenfletningen. Hvis ingen målmappe angives, bruger KDiff3 <replaceable
+> som basen for sammenfletningen. Hvis ingen målmappe angives, bruger &kdiff3; <replaceable
 >kat3</replaceable
 > som målmappe for sammenfletningen. </para>
 
 <para
->Bemærk at kun sammenligningen startes automatisk, ikke sammenfletningen. For det skal du først vælge et menupunkt eller tasten F7. (Mere information om det senere.) </para>
+>Bemærk at kun sammenligningen startes automatisk, ikke sammenfletningen. For det skal du først vælge et menupunkt eller tasten F7. (Mere information kommer senere.) </para>
 </sect2>
 </sect1>
 
 <sect1 id="dirmergevisible"
 ><title
->Synlig information</title>
+>Katalogsammenfletning af synlig information</title>
 <para
->Mens mapperne læses vises en meddelelsesboks som informerer dig om forløbet. Hvis du afbryder mappesøgningen, vises kun filer som hidtil er sammenlignet. </para
+>Mens mapperne læses vises et meddelelsesfelt som informerer dig om forløbet. Hvis du afbryder mappesøgningen, vises kun filer som hidtil er sammenlignet. </para
 ><para
->Når mappesøgningen er færdig, viser KDiff3 en listeboks med tilbageværende resultater, ... </para>
+>Når mappegennemsøgningen er færdig, viser &kdiff3; et listefelt med tilbageværende resultater, ... </para>
 <screenshot
 ><mediaobject>
 <imageobject
@@ -1141,7 +1994,7 @@
 <para
 >Hver fil og mappe som blev fundet under søgningen vises her i et træ. Du kan vælge et punkt ved at klikke en gang på det med musen. </para
 ><para
->Mapperne er normalt lukkede. Du kan ekspandere og kollapse dem ved at klikke på "+"/"-", eller ved at dobbeltklikke på punktet eller ved at bruge tasterne venstre pil og højre pil. Menuen "Mappe" indeholder også to valgmuligheder "Fold alle undermapper sammen" og "Ekspandér alle undermapper" som du kan bruge til at kollapse eller ekspandere alle mapper på en gang. </para
+>Mapperne er normalt sammentrukket. Du kan ekspandere og trække dem sammen ved at klikke på "+"/"-", ved at dobbeltklikke på punktet eller ved at bruge tasterne "venstrepil" og "højrepil". Menuen "Mappe" indeholder også to tilvalg "Træk alle undermapper sammen" og "Ekspandér alle undermapper" som du kan bruge til at trække sammen eller ekspandere alle mapper på én gang. </para
 ><para
 >Hvis du dobbeltklikker på et filpunkt, udføres filsammenligning og sammenligningvinduet for filer vises. </para>
 <para
@@ -1176,7 +2029,7 @@
 <itemizedlist>
      <listitem
 ><para
->Sort: Dette punkt findes ikke i denne mappe.</para
+>Sort: Dette punkt eksisterer ikke i denne mappe.</para
 ></listitem>
      <listitem
 ><para
@@ -1205,7 +2058,7 @@
 ><title
 >Handlingssøjlen</title>
 <para
->Efter at have sammenlignet mapperne evaluerer KDiff3 også et forslag til en sammenfletningshandling. Det vises i søjlen "Handling". Du kan ændre den ved at klikke på handlingen du vil ændre. En lille menu dukker op og lader dig vælge en handling for punktet. (Du kan også vælge de mest nødvendige operationer via tastaturet. Ctrl+1/2/3/4/Del vil vælge henholdsvis A/B/C/Flet/Slet om muligt.) Handlingen udføres under sammenfletningen. Hvilke handlinger der er tilgængelige afhænger af objektet og sammenfletningstilstanden som bruges. Sammenfletningstilstanden er en af: </para>
+>Efter at have sammenlignet mapperne evaluerer &kdiff3; også et forslag til sammenfletningshandling. Den vises i søjlen "Handling". Du kan ændre den ved at klikke på handlingen du vil ændre. En lille menu dukker op og lader dig vælge en handling for dette punkt. (Du kan også vælge den oftest bruge handling via tastaturet. Ctrl+1/2/3/4/Delete vælger A/B/C/Sammenflet/Slet hvis de er tilgængelige.) Denne handling udføres under sammenfletningen. Hvilke handlinger som er tilgængelige afhænger af punktet og sammenfletningstilstanden som bruges. Sammenfletningstilstanden er en af: </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1217,7 +2070,7 @@
 ></listitem>
      <listitem
 ><para
->Tomappes-synkroniseringstilstand (aktiveres med punktet "Synkronisér mapper").</para
+>To-mappes synkroniseringstilstand (aktiveres med tilvalget "Synkronisér mapper").</para
 ></listitem>
 </itemizedlist>
 <para
@@ -1225,31 +2078,31 @@
 <itemizedlist>
      <listitem
 ><para
->... alle tre mapperne er ens: Kopiér fra C</para
+>... alle tre mapper er ens: Kopiér fra C</para
 ></listitem>
      <listitem
 ><para
->... A og C er ens men B er det ikke: Kopiér fra B (eller hvis B ikke findes, fjern hvis det findes)</para
+>... A og C er ens med B er det ikke: Kopiér fra B (eller hvis B ikke eksisterer, slet målet hvis det eksisterer)</para
 ></listitem>
      <listitem
 ><para
->... A og B er ens men C er det ikke: Kopiér fra C (eller hvis C ikke findes, fjern målet hvis det findes)</para
+>... A og B er ens men C er det ikke: Kopiér fra C (eller hvis C ikke eksisterer, slet målet hvis det eksisterer)</para
 ></listitem>
      <listitem
 ><para
->... B og C er ens men A er det ikke: Kopiér fra C (eller hvis C ikke findes, fjern målet hvis det findes)</para
+>... B og C er ens med A er det ikke: Kopiér fra C (eller hvis C ikke eksisterer, slet målet hvis det eksisterer)</para
 ></listitem>
      <listitem
 ><para
->... kun A findes: Fjern målet (hvis det findes)</para
+>... kun A eksisterer: Slet målet (hvis det eksisterer)</para
 ></listitem>
      <listitem
 ><para
->... kun B findes: Kopiér fra B</para
+>... kun B eksisterer: Kopiér fra B</para
 ></listitem>
      <listitem
 ><para
->... kun C findes: Kopiér fra C</para
+>... kun C eksisterer: Kopiér fra C</para
 ></listitem>
      <listitem
 ><para
@@ -1257,7 +2110,7 @@
 ></listitem>
      <listitem
 ><para
->... A, B og C har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Så længe sådanne objekter findes, kan mappesammenfletningen ikke startes.</para
+>A, B og C har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Så længe sådanne punkter eksisterer, kan mappesammenfletningen ikke startes.</para
 ></listitem>
 </itemizedlist>
 <para
@@ -1269,93 +2122,138 @@
 ></listitem>
      <listitem
 ><para
->... A findes men B ikke: Kopiér fra A</para
+>...A eksisterer men ikke B: Kopiér fra A</para
 ></listitem>
      <listitem
 ><para
->... B findes men A ikke: Kopiér fra B</para
+>... B eksisterer men ikke A: Kopiér fra B</para
 ></listitem>
      <listitem
 ><para
->... A og B findes men er ikke ens: Sammenflet</para
+>... A og B eksisterer men er ikke ens: Sammenflet</para
 ></listitem>
      <listitem
 ><para
->... A og B har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Hvis sådanne objekter findes, kan mappesammenfletningen ikke startes.</para
+>A og B har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Så længe sådanne punkter eksisterer, kan mappesammenfletningen ikke startes.</para
 ></listitem>
 </itemizedlist>
 <para
->Synkroniseringstilstand er kun aktiv hvis to mapper og ingen eksplicit målmappe angives, og hvis punktet "Synkronisér mapper" er aktivt. KDiff3 vælger så en standardhandling så begge mapper er ens bagefter. Hvis for et objekt... </para>
+>Synkroniseringstilstand er kun aktiv hvis to mapper og ingen eksplicit målmappe angives, og hvis tilvalget "Synkronisér mapper" er aktivt. &kdiff3; vælger så en standardhandling så begge mapper er ens bagefter. Hvis for et punkt ... </para>
 <itemizedlist>
      <listitem
 ><para
->... begge mapper er ens: Gøres ingenting.</para
+>... begge mapper er ens: Ingenting gøres.</para
 ></listitem>
      <listitem
 ><para
->... A findes, men B ikke: Kopiér A til B</para
+>... A eksisterer, men ikke B: Kopiér A til B</para
 ></listitem>
      <listitem
 ><para
->... B findes, men A ikke: Kopiér B til A</para
+>... B eksisterer, men ikke A: Kopiér B til A</para
 ></listitem>
      <listitem
 ><para
->... A og B findes, men er ikke ens: Sammenflet og gem resultatet i begge mapper. (For brugeren er det synlige filnavnet for at gemme B, men derefter kopierer KDiff3 også B til A.)</para
+>... A og B eksisterer, men er ikke ens: Sammenflet og opbevar resultatet i begge mapper. (For brugeren er det synlige filnavn for at gemme B, men derefter kopierer &kdiff3; også B til A.)</para
 ></listitem>
      <listitem
 ><para
->... A og B har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Hvis sådanne objekter findes, kan mappesammenfletningen ikke startes.</para
+>A og B har ikke samme filtype (f.eks. A er en mappe, B er en fil): "Fejl: Konflikt i filtyper". Så længe sådanne punkter eksisterer, kan mappesammenfletningen ikke startes.</para
 ></listitem>
 </itemizedlist>
 <para
->Når to mapper sammenflettes og punktet "Kopiér nyere i stedet for at sammenflette" er markeret, kigger KDiff3 på datoen og foreslår at vælge den nyeste fil. Hvis filerne ikke er ens men har samme dato, indeholder handlingen "Fejl: Dato er ens men filerne er det ikke." Hvis sådanne objekter findes, kan mappesammenfletningen ikke startes. </para>
+>Når to mapper sammenflettes og tilvalget "Kopiér nyere i stedet for at sammenflette" er markeret, kigger &kdiff3; på datoen og foreslår at vælge den nyere fil. Hvis filerne ikke er ens men har samme dato, indeholder handlingen "Fejl: Dato er ens men filerne er det ikke." Så længe sådanne punkter eksisterer, kan  mappesammenfletningen ikke startes. </para>
 </sect2>
 
 <sect2 id="status"
 ><title
 >Statussøjlen</title>
 <para
->Under sammenfletningen behandles en fil af gangen. Statussøjlen viser "Færdig" for objekter hvor sammenfletningshandlingen er lykkedes, og en anden tekst hvis noget uventet indtraf. Når en sammenfletning er færdig, bør du lave en sidste kontrol for at se at status for alle objekter er acceptabel. </para>
+>Under sammenfletningen behandles en fil af gangen. Statussøjlen viser "Færdig" for punkter hvor sammenfletningshandlingen er lykkedes, og en anden tekst hvis noget uventet indtraf. Når en sammenfletning er færdig, bør du udføre en sidste kontrol for at se at status for alle punkter er acceptabel. </para>
 </sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Statistiske søjler</title>
+<para
+>Når filsammenligningtilstanden "Fuldstændig analyse" er aktiveret i valgmulighederne, viser &kdiff3; ekstra søjler som indeholder antal uløste, løste, ikke blanke og blanke konflikter. (Søjlen løste vises kun når mapper sammenlignes eller sammenflettes.) </para>
+</sect2>
+
+<sect2 id="selectingvisiblefiles"
+><title
+>Vælg listede filer</title>
+<para
+>Flere tilvalg påvirker hvilke filer som listes her. Nogle er tilgængelige i <link linkend="dirmergeoptions"
+>indstillingsdialogen</link
+>. Menuen Mappe indeholder punkterne: </para
+><para
+><itemizedlist>
+     <listitem
+><para
+>"Vis identiske filer": Filer som er detekteret som ens i alle inddatamapper.</para
+></listitem>
+     <listitem
+><para
+>"Vis forskellige filer": Filer som findes i to eller flere mapper men ikke er ens.</para
+></listitem>
+     <listitem
+><para
+>"Vis kun filer i A": Filer som kun findes i A, men ikke i B eller C.</para
+></listitem>
+     <listitem
+><para
+>"Vis kun filer i B": Filer som kun findes i B, men ikke i A eller C.</para
+></listitem>
+     <listitem
+><para
+>"Vis kun filer i C": Filer som kun findes i C, men ikke i A eller B.</para
+></listitem>
+</itemizedlist
+></para>
+<para
+>Aktivér kun valgmulighederne "Vis" for de punkter du vil liste. Hvis du for eksempel kun vil liste alle punkter som enten findes i A eller i B men ikke i begge, skal du aktivere "Vis kun filer i A" og "Vis kun filer i B" og deaktivere alle andre ("Vis identiske filer", "Vis forskellige filer", "Vis kun filer i C"). Listen opdateres med det samme for at svare til ændringen. </para
+><para
+>Disse tilvalg gælder også for mapper med en undtagelse: At deaktivere "Vis forskellige filer" skjuler ikke hele mapper. Dette fungerer kun for filer inde i dem. </para>
+</sect2>
+
 </sect1>
 
 
 <sect1 id="dothemerge"
 ><title
->Udfør en sammenfletning</title>
+>Udfør en mappesammenfletning</title>
 <para
 >Du kan enten sammenflette det valgte punkt (fil eller mappe), eller alle punkter. Når du har lavet alle valg af handlinger (også i alle undermapper), kan du udføre sammenfletningen. </para
 ><para
->Vær klar over at hvis du ikke eksplicit angav en målmappe, bliver målet "C" i tremappestilstand, "B" i tomappestilstand, og i synkroniseringstilstand er det "A" og/eller "B". </para
+>Vær klar over at hvis du ikke eksplicit angav en målmappe, bliver målet "C" i tre-mappetilstand, "B" i to-mappetilstand, og i synkroniseringstilstand er det "A" og/eller "B". </para
 ><para
->Hvis du også har angivet en målmappe, kontrollér at alle objekter som skal findes i udskriften findes i træet. Der er nogle valgmuligheder som får visse objekter til at blive udeladt fra mappesammenligningen og sammenfletningen. Kontrollér disse valgmuligheder for at undgå ubehagelige overraskelser: </para>
+>Hvis du også har angivet en målmappe, kontrollér at alle objekter som skal eksisterer i udskriften eksisterer i træet. Der er nogle valgmuligheder som får visse objekter til at blive udeladt fra mappesammenligningen og sammenfletningen. Kontrollér disse valgmuligheder for at undgå ubehagelige overraskelser: </para>
 <itemizedlist>
      <listitem
 ><para
->"Rekursive mapper": Hvis det er fra, findes objekter i undermapper ikke.</para
+>"Rekursive mapper": Hvis det er fra, er der ikke punkter i undermapper.</para
 ></listitem>
      <listitem
 ><para
->"Mønster" eller "undtagelsesmønster": Inkludér eller undtag objekter som matcher.</para
+>"Mønster" eller "Undtagelsesmønster": Inkludér eller undtag punkter som matcher.</para
 ></listitem>
      <listitem
 ><para
->"Undtag skjulte filer"</para
+>"Undtag gemte filer"</para
 ></listitem>
      <listitem
 ><para
->"Kun forskelle på listen": Filer som matcher i alle mapper vises ikke i træet, og altså heller ikke i målet.</para
+>"List kun forskelle": Filer som matcher i alle mapper vises ikke i træet, og altså heller ikke i målet.</para
 ></listitem>
 </itemizedlist>
 <para
->(I nuværende version skal du gøre en ekstra skanning selv via menuen "Mappe"->"Skan igen", efter at have ændret tilvalg som påvirker mappeskanningen.) </para
+>(I nuværende version skal du selv udføre en omsøgning via menuen "Mappe"-> "Skan igen", efter at have ændret tilvalg som påvirker mappegennemsøgningen.) </para
 ><para
 >Hvis du er tilfreds indtil videre, er resten enkelt. </para
 ><para
->For at sammenflette alle punkter: Vælg "Start/fortsæt mappesammenfletning" i "Mappe"-menuen eller tryk på F7 (som er genvejstatsen). For kun at flette det  nuværende punkt: Vælg  "Kør operation for dette punkt" eller tryk på F6. </para
+>For at sammenflette alle punkter: Vælg "Start eller fortsæt mappesammenfletning"  i menuen "Mappe" eller tryk på F7 (som er genvejstasten). For kun at sammenflette nuværende punkt: Vælg "Udfør handling for nuværende punkt" eller tryk på F6. </para
 ><para
->Hvis visse objekter med ugyldige filtyper stadigvæk findes, på grund af filtyper med konflikter, vises en meddelelseboks og objektet udpeges, så du kan vælge en gyldig handling for objektet. </para
+>Hvis visse objekter med ugyldige filtyper stadigvæk eksisterer, på grund af filtyper med konflikter, vises et meddelelsefelt og objektet udpeges, så du kan vælge en gyldig handling for objektet. </para
 ><para
 >Hvis du sammenfletter alle punkter vises en dialog som giver dig valgmulighederne "Gør det", "Simulér det" og "Annullér". </para>
 <itemizedlist>
@@ -1365,28 +2263,28 @@
 ></listitem>
      <listitem
 ><para
->Ellers vælges "Gør det" for virkelig at udføre sammenfletningen.</para
+>Vælg ellers "Gør det" for virkelig at udføre sammenfletningen.</para
 ></listitem>
 </itemizedlist>
 <para
->Derefter kører KDiff3 den angivne handling for alle objekter. Hvis manuel interaktion kræves (sammenfletning af en enkelt fil), vises et sammenfletningsvindue (<link linkend="dirmergebigscreenshot"
+>Derefter udfører &kdiff3; den angivne handling for alle punkter. Hvis manuel interaktion kræves (sammenfletning af enkelt fil), vises et sammenfletningsvindue (<link linkend="dirmergebigscreenshot"
 >se det store skærmaftryk</link
 >). </para
 ><para
->Når du er klar med en fil, vælges igen "Start eller fortsæt mappesammenfletning" eller der trykkes på F7. Hvis du ikke har gemt endnu, beder en dialog dig om at gøre det. Derefter fortsætter KDiff3 til næste objekt. </para
+>Når du er færdig med en fil, vælges igen "Start eller fortsæt mappesammenfletning"  eller tryk på F7. Hvis du ikke har gemt endnu, beder en dialog dig om at gøre det. Derefter fortsætter &kdiff3; til næste punkt. </para
 ><para
->Når KDiff3 støder på et fejl, meddeles dette og udførlig statusinformation vises. Længst nede på listen er der nogle fejlmeddelelser som bør hjælpe dig til at forstå grunden til problemet. Når du fortsætter sammenfletningen (tasten F7), giver KDiff3 dig valget mellem at forsøge igen eller hoppe over objektet som forårsagede problemet. Det betyder at du kan vælge en anden handling, eller løse problemet på anden måde, inden du fortsætter. </para
+>Når &kdiff3; støder på en fejl, meddeles det og udførlig statusinformation vises. Længst nede i listen er der nogen fejlmeddelelser som bør hjælpe dig til at forstå problemets grund. Når du fortsætter sammenfletningen (tasten F7), giver &kdiff3; dig valget at forsøge igen eller springe over punktet som forårsagede problemet. Dette betyder at du kan vælge en anden handling, eller løse problemet på anden måde, inden du fortsætter. </para
 ><para
->Når sammenfletningen er færdig, informerer KDiff3 dig med en meddelelsesboks. </para
+>Når sammenfletningen er færdig, informerer &kdiff3; dig med et meddelelsesfelt. </para
 ><para
->Hvis nogen punkter blev sammenflettet individuelt så husker KDiff3 dette (mens denne flette-session er igang), og fletter dem ikke igen når den senere fletning for alle punkter foregår. Selv når sammenfletningen blev sprunget over eller intet blev gemt tæller disse punkter som færdige. Kun når du ændrer indfletningsoperationen vil punktet blive sammenflettet igen. </para>
+>Hvis visse punkter sammenflettedes individuelt, husker &kdiff3; det (mens sammenfletningssessionen er i gang), og sammenfletter dem ikke igen når sammenfletningen for alle punkter udføres. Selv når sammenfletningen springes over eller ingenting gemmes regnes disse punkter som færdige. Kun når sammenfletningshandlingen ændres, sammenflettes punkterne igen. </para>
 </sect1>
 
 <sect1 id="dirmergeoptions"
 ><title
 >Tilvalg for at sammenligne og sammenflette mapper</title>
 <para
->Indstilling af KDiff3 (menuen "Opsætning" -&gt; "Indstil KDiff3") har nu en side som hedder "Mappesammenfletning" med følgende punkter: </para>
+>Indstilling af &kdiff3; (menuen "Opsætning"-&gt;"Indstil KDiff3") har nu en side som hedder "Mappesammenfletning" med følgende tilvalg: </para>
 
 <variablelist>
    <varlistentry
@@ -1406,7 +2304,7 @@
 ></term
 ><listitem
 ><para
->Kun filer som matcher et mønstret her tilføjes til træet. Mere end et mønster kan angives ved at bruge semikolon ";" som skilletegn. Gyldige jokertegn: '*' og '?'. (f.eks. "*.cpp;*.h"). Normalværdien er "*". Mapper behøver ikke at  matche mønstret.</para
+>Kun filer som matcher et mønster her tilføjes i træet. Mere end et mønster kan angives ved at bruge semikolon ";" som skilletegn. Gyldige jokertegn: "*" og "?". (f.eks. "*.cpp;*.h"). Standardværdien er "*". Mapper behøver ikke at matche mønstret.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1416,7 +2314,7 @@
 ></term
 ><listitem
 ><para
->Filer og mapper som matcher et mønster undtages fra træet. Mere end et mønster kan angives ved at bruge semikolon ";" som skilletegn. Gyldige jokertegn: '*' og '?'. (f.eks. "*.cpp;*.h"). Normalværdien er "*.orig;*.o".</para
+>Filer og mapper som matcher et mønster undtages fra træet. Mere end et mønster kan angives ved at bruge semikolon ";" som skilletegn. Gyldige jokertegn: '*' og '?'. Standardværdien er "*.orig;*.o".</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1426,7 +2324,7 @@
 ></term
 ><listitem
 ><para
->Ignorér filer og mapper som også skulle ignoreres af CVS. Mange automatisk genererede filer ignoreres af CVS. Den store fordel er at dette kan være mappespecifikt via en lokal ".cvsignore" fil. (Se <ulink url="info:/cvs/cvsignore"
+>Ignorér filer og mapper som også ville blive ignoreret af CVS. Mange automatisk genererede filer ignoreres af CVS. Den store fordel er at dette kan være mappespecifikt via en lokal ".cvsignore" fil. (Se <ulink url="info:/cvs/cvsignore"
 >info:/cvs/cvsignore</ulink
 >.)</para
 ></listitem
@@ -1438,7 +2336,7 @@
 ></term
 ><listitem
 ><para
->For visse filsystemer har filer en "Skjult"-attribut. For andre systemer skjules et filnavn som begynder med et punktum. Denne valgmulighed lader dig bestemme om disse filer skal indgå i træet eller ej. Normalværdien er til.</para
+>For visse filsystemer har filer egenskaben "Skjult". For andre systemer skjules et filnavn som begynder med et punktum ("."). Dette lader dig bestemme om disse filer skal indgå i træet eller ej. Standardværdien er til.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1458,9 +2356,10 @@
 ></term
 ><listitem
 ><para
->For link til mapper: Hvis det er deaktiveret, sammenlignes symbolske link. Hvis det er aktiveret behandles linket som en mappe og skannes rekursivt. (Bemærk at programmet ikke kontrollerer om linket er "rekursivt". En mappe som indeholder et link til samme mappe vil forårsage en uendelig løkke, og efter en vis tid når stakken bliver fuld eller hukommelsen er slut, bryder programmet sammen.) Normalværdien er fra.</para
+>For link til mapper: Hvis deaktiveret, sammenlignes symbolske link. Hvis aktiveret behandles linket som et mappe og gennemsøges rekursivt. (Bemærk at programmet ikke kontrollerer om linket er "rekursivt". En mappe som indeholder et link til samme mappe vil forårsage en uendelig løkke, og efter en vis tid når stakken bliver fuld eller hukommelsen løber ud, bryder programmet sammen.) Standardværdien er fra.</para
 ></listitem
-></varlistentry>
+></varlistentry
+>   
    <varlistentry
 ><term
 ><emphasis
@@ -1471,6 +2370,38 @@
 >Kun objekter som ikke er ens i alle inddatamapper er på listen, og kun ændrede filer er synlige. Derfor kopieres filer ikke som er ens i alle mapper ved en sammenfletning og hvis målmappen ikke indeholder filerne før sammenfletningen, kan du muligvis senere mangle nogle filer. (Tilvalget bliver formodentlig ændret i en senere version.) Normalværdien er fra.</para
 ></listitem
 ></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Filsammenligningstilstand:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Binær sammenligning:</emphasis
+></term
+><listitem
+><para
+>Dette er standardsammenligningstilstanden. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Fuld analyse:</emphasis
+></term
+><listitem
+><para
+>Udfør en fuld analyse for hver fil og vis de statistiske informationssøjler. (Antal løste, uløste, ikke blanke og blanke konflikter.) Den fulde analyse er langsommere end en simpel binær analyse, og meget langsommere når den bruges på filer der ikke indeholder tekst. (Angiv de passende fil-antimønstre.) </para
+></listitem
+></varlistentry
+>         
    <varlistentry
 ><term
 ><emphasis
@@ -1491,6 +2422,11 @@
 >Ligesom at stile på ændringsdatoen. Ingen egentlig sammenligning foregår. To filer betragtes som ens hvis deres filstørrelser er ens. Dette er nyttigt når filkopieringsoperationen ikke bevarer ændringsdatoen. Brug dette med forsigtighed. Normalværdien er fra.</para
 ></listitem
 ></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
    <varlistentry
 ><term
 ><emphasis
@@ -1518,7 +2454,7 @@
 ></term
 ><listitem
 ><para
->Hvis en fil eller hel mappe erstattes af en anden eller fjernes, så ændres originalversionens navn med tilføjelsen af filendelsen ".orig". Hvis en gammel sikkerhedskopi med filendelsen "orig" allerede findes slettes den uden sikkerhedskopiering. Dette gælder også normal sammenfletning af enkelte filer, ikke kun sammenfletningstilstand for mapper. Normalværdien er til.</para
+>Hvis en fil eller hel mappe erstattes med en anden eller slettes, så ændres originalversionens navn med tilføjelse af filendelsen ".orig". Hvis en gammel sikkerhedskopi med filendelsen ".orig" allerede eksisterer slettes den uden sikkerhedskopiering. Dette gælder også normal sammenfletning af enkelte filer, ikke kun sammenfletningstilstand for mapper. Standardværdien er til.</para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -1526,21 +2462,33 @@
 
 <sect1 id="other"
 ><title
->Øvrige funktioner</title>
+>Andre funktioner i mappesammenfletningsvinduet</title>
 <sect2
 ><title
 >Opdelt eller fuldskærmstilstand</title>
 <para
->Sædvanligvis forbliver listevinduet for mappesammenfletning synligt mens en enkelt fil sammenlignes eller sammenflettes. Du kan flytte linjen som opdeler fillisten fra vinduet for tekstsammenligning med musen. Hvis du ikke vil gøre dette, kan du deaktivere "Opdelt skærmvisning" i menuen "Vindue" for at skifte mellem fillisten og vinduet for tekstsammenligning, som så optager hele vinduet. </para>
+>Sædvanligvis forbliver listevinduet for mappesammenfletning synligt mens en enkelt fil sammenlignes eller sammenflettes. Du kan flytte linjen som opdeler fillisten fra vinduerne til tekstsammenligning med musen. Hvis du ikke vil gøre dette, kan du deaktivere "Opdelt skærmvisning" i menuen "Mappe". Derefter kan du bruge "Skift visning" i menuen "Mappe" til at skifte mellem fillisten og vinduerne til tekstsammenligning, som så optager hele vinduet. </para>
 </sect2>
 <sect2
 ><title
 >Sammenlign og sammenflette en enkelt fil</title>
 <para
->Du foretrækker formodentlig et almindeligt dobbeltklik på musen for at sammenligne en fil. Ikke desto mindre er der også en valgmulighed i menuen "Mappe". Du kan også sammenflette en enkelt fil direkte, uden at starte mappesammenfletningen via "Sammenflet markerede filer" i menuen "Sammenflet". Når resultatet gemmes, sættes status til klar, og filen sammenflettes ikke igen hvis en mappesammenfletning startes. </para
+>Du foretrækker formodentlig et almindeligt dobbeltklik på musen for at sammenligne en fil. Ikke desto mindre er der også en indgang i menuen "Mappe". Du kan også direkte sammenflette en enkelt fil, uden at starte mappesammenfletning via "Sammenflet markerede filer" i menuen "Mappe". Når resultatet gemmes, sættes status til færdig, og filen sammenflettes ikke igen hvis en mappesammenfletning startes. </para
 ><para
->Men bemærk at statusinformationen går tabt når du kører en mappeskanning igen: "Skan igen" i menuen "Mappe". </para>
+>Men observér at statusinformationen går tabt når du kører en mappegennemsøgning igen: "Mappe"-menuen "Skan igen". </para>
 </sect2>
+<sect2
+><title
+>Sammenlign og sammenflet filer med forskellige navne</title>
+<para
+>Sommetider behøver du at sammenligne eller sammenflette filer med forskellige navne (f.eks. nuværende fil og sikkerhedskopi i samme mappe). </para
+><para
+>Markér den nøjagtige fil ved at klikke på ikonen i søjlen A, B eller C. Filen som først markeres på den måde markeres med "A", den anden og tredje med "B" og "C" uafhængig af hvilken søjle de findes i. Kun op til tre filer kan markeres på denne måde. </para
+><para
+>Fortsæt ved at vælge "Sammenlign eksplicit markerede filer" eller "Sammenflet eksplicit markerede filer" fra menuen "Mappe". Af bekvemmelighedsgrunder findes også menuvalgmulighederne som en sammenhængsafhængig menu som vises når du klikker på den senest markerede fil. </para
+><para
+>Sammenligningen eller sammenfletningen af en fil sker i samme vindue. Hvis denne metode bruges for mapper åbnes et nyt vindue. </para
+></sect2>
 </sect1>
 </chapter>
 
@@ -1554,7 +2502,7 @@
 ><title
 >I/O-slaver</title>
 <para
->KDE understøtter netværksgennemsigtighed via I/O-slaver. KDiff3 bruger dem til at indlæse indddatafiler og gennemsøge mapper. Det betyder at du kan angive filer og mapper på lokal- og fjern-ressourcer via URL'er. </para
+>&kde; understøtter netværkstransparens via I/O-slaver. &kdiff3; bruger dem til at indlæse datafiler og gennemsøge mapper. Det betyder at du kan angive filer og mapper på lokal- og fjern-ressourcer via &URL;'er. </para
 ><para
 >Eksempel: </para
 ><para>
@@ -1568,7 +2516,7 @@
 </screen>
 </para>
 <para
->Den første linje sammenligner en lokal fil med en fil på en FTP-server. Den anden linje sammenligner en mappe i et komprimeret arkiv med en lokal mappe. </para
+>Den første linje sammenligner en lokal fil med en fil på en &FTP;-server. Den anden linje sammenligner en mappe i et komprimerat arkiv med en lokal mappe. </para
 ><para
 >Andre I/O-slaver som er interessante er: </para>
 <itemizedlist>
@@ -1609,21 +2557,21 @@
 
 <sect2
 ><title
->Hvordan man skriver URL'er</title>
+>Hvordan man skriver &URL;'er</title>
 <para
->En URL har en anderledes syntaks sammenlignet med søgestier til lokale filer og mapper. Der skal tages hensyn til visse ting: </para>
+>En &URL; har en anderledes syntaks sammenlignet med søgestier til lokale filer og mapper. Visse ting skal der tages hensyn til: </para>
 <itemizedlist>
 <listitem
 ><para
->En søgesti kan være relativ, og kan indeholde "." eller "..". Det er ikke muligt for URL'er, som altid er absolutte. </para
+>En søgesti kan være relativ, og kan indeholde "." eller "..". Dette er ikke muligt for &URL;'er, som altid er absolutte. </para
 ></listitem
 ><listitem
 ><para
->Specialtegn skal skrives med særlige "escape". ("#" -> "%23", mellemrum -> "%20", osv.) For eksempel skulle en fil med navnet "/#foo#" have URL'en "file:/%23foo%23". </para
+>Specialtegn skal skrives med særlige "escape". ("#"->"%23", mellemrum bliver til "%20", osv.) For eksempel ville en fil med navnet "/#foo#" have &URL; "file:/%23foo%23". </para
 ></listitem
 ><listitem
 ><para
->Når URL'er ikke virker som forventet, så forsøg at åbne dem i Konqueror først. </para
+>Når &URL;'er ikke virker som ventet, så forsøg at åbne dem i &konqueror; først. </para
 ></listitem>
 </itemizedlist>
 
@@ -1633,7 +2581,7 @@
 ><title
 >Muligheder med I/O-slaver</title>
 <para
->Netværksgennemsigtighed har en bagdel: Ikke alle ressourcer har samme muligheder. </para
+>Netværkstransparens har en bagdel: Ikke alle ressourcer har samme muligheder. </para
 ><para
 >Sommetider skyldes det serverens filsystem, sommetider protokollen. Her er en kort liste med begrænsninger: </para>
 <itemizedlist>
@@ -1655,7 +2603,7 @@
 ></listitem
 ><listitem
 ><para
->Ingen mulighed at ændre rettigheder eller ændringstid, så rettigheder eller tiden for en kopi adskiller sig fra originalen. (Se tilvalget "Stol på størrelse".) (Kun muligt for lokale filer.) </para
+>Ingen mulighed at ændre rettigheder eller ændringstid, så rettigheder eller tiden for en kopi adskiller sig fra originalen. (Se tilvalget "Stol på størrelse".)  (At ændre af tilladelser eller ændringstidspunkt er kun muligt for lokale filer.) </para
 ></listitem>
 </itemizedlist>
 </sect2>
@@ -1667,15 +2615,15 @@
 <para
 >&kdiff3; er en Kpart. For øjeblikket implementeres grænsefladen KParts::ReadOnlyPart. </para
 ><para
->Hovedbrugen er til forskelsvisning i KDevelop. KDevelop starter altid den interne forskelsvisning først. For at bruge KDiff3, klikkes med højre museknap i forskelsvisningens vindue og "Vis i KDiff3Part" vælges i den sammenhængsafhængige menu. </para
+>Hovedanvendelsen er til forskelsvisning i KDevelop. KDevelop starter altid den interne forskelsvisning først. For at bruge &kdiff3;, klik med højre museknap i forskelsvisningens vindue og vælg "Vis i KDiff3-part" i den sammenhængsafhængige menuen. </para
 ><para
->KDiff3 kræver normalt to fuldstændige filer som inddata. Når den bruges som en part, antager KDiff3 at inddatafilen er en patch-fil med det forenede format. KDiff3 henter derefter originalfilernes navne i patch-filen. I det mindste en af de to filer skal være tilgængelig. KDiff3 starter så kommandoen <command
+>&kdiff3; kræver normalt to fuldstændige filer som inddata. Når det bruges som en part, antager &kdiff3; at inddatafilen er en programrettelsesfil i forenet format. &kdiff3; henter derefter originalfilernes navn i programrettelsesfilen. I det mindste en af de to filer skal være tilgængelig. &kdiff3; starter så kommandoen <command
 >patch</command
 > for at genoprette den anden fil. </para
 ><para
->Du kan vælge en patch-fil i Konqueror og vælge "Forhåndsvis i" - "Kdiff3Part" i den sammenhængsafhængige menu. Vær klar over om at det ikke virker hvis ingen af originalfilerne er tilgængelige, og er ikke tilforladeligt hvis originalfilen eller filerne er ændret siden patch-filen blev oprettet. </para
+>Du kan vælge en programrettelsesfil i &konqueror; og vælge "Forhåndsvis i"-"Kdiff3-part"i den sammenhængsafhængige menu. Vær klar over at dette ikke virker hvis ingen af originalfilerne er tilgængelige, og er ikke tilforladeligt hvis originalfilen eller filerne er ændret siden programrettelsesfilen blev oprettet. </para
 ><para
->Når den kører som en Kpart sørger KDiff3 kun for sammenligning mellem to filer, en meget lille værktøjslinje og menu. Sammenfletning eller mappesammenligning understøttes ikke i dette tilfælde. </para>
+>Når det kører som en Kpart sørger &kdiff3; kun for sammenligning mellem to filer, en meget lille værktøjslinje og menu. Sammenfletning eller mappesammenligning understøttes ikke. </para>
 </sect1>
 </chapter>
 
@@ -1687,22 +2635,22 @@
 <qandaentry
 ><question
 ><para
->Hvorfor hedder den "KDiff3"? </para
+>Hvorfor kaldes det &kdiff3;? </para
 ></question
 ><answer
 ><para
->Værktøjer som hedder "KDiff" og "KDiff2" (som nu hedder "Kompare") fandtes allerede. Desuden skal "KDiff3" antyde at programmet kan sammenflette ligesom værktøjet "diff3" fra samlingen med diff-værktøj. </para
+>Værktøjer som hedder "KDiff" og "KDiff2" (som nu kaldes &kompare;) fandtes allerede. Desuden skal &kdiff3; antyde at programmet kan sammenflette ligesom værktøjet "diff3" fra samlingen med diff-værktøjer. </para
 ></answer
 ></qandaentry>
 
 <qandaentry
 ><question
 ><para
->Hvorfor er licensen GPL? </para
+>Hvorfor udgives det under GPL? </para
 ></question
 ><answer
 ><para
->Jeg har brugt GPL-programmer i meget lang tid nu, og lært mig meget ved at kigge på en hel del af kildekoden. Altså er dette min "tak" til alle de programmører som også gjorde dette eller vil gøre det samme. </para
+>Jeg har brugt GPL-programmer i meget lang tid nu, og lært mig meget ved at kigge på en hel del af kildekoden. Altså er dette min "tak" til alle programmører som også gjorde eller kommer til at gøre det samme. </para
 ></answer
 ></qandaentry>
 
@@ -1713,7 +2661,7 @@
 ></question
 ><answer
 ><para
->Du kompilerede fra kildekode, men angav formodentlig ikke det rigtige KDE-præfiks med configure. Normalt vil configure installere i /usr/local, men så kan KDE ikke finde ressourcefilerne for brugergrænsefladen (dvs. kdiff3ui.rc). Filen README indeholder mere information om rigtig præfiks. </para
+>Du kompilerede fra kildekode, men angav formodentlig ikke rigtigt &kde;-præfiks med 'configure'. Som standard vil configure installere i /usr/local, men så kan &kde; ikke finde ressourcefilerne for brugergrænsefladen (dvs. kdiff3ui.rc). README-filen indeholder mere information om rigtig præfiks. </para
 ></answer
 ></qandaentry>
 
@@ -1724,7 +2672,9 @@
 ></question
 ><answer
 ><para
->Linjer hvor kun antal blanke tegn er forskellige behandles som "ens" i første omgang, mens blot et anderledes blankt tegn gør at linjerne er "forskellige". Hvis lignende linjer er ved siden af hinanden, er dette i virkeligheden et tilfælde men det sker heldigvis som regel ikke. </para
+>Linjer hvor kun antal blanke tegn er forskellige behandles først som "ens", mens kun et andet slags blankt tegn gør at linjerne er "forskellige". Hvis lignende linjer er ved siden af hinanden, er dette i virkeligheden et tilfælde men det er heldigvis ofte noget der sker. Se også manualen <link linkend="manualdiffhelp"
+>Diff Help</link
+>. </para
 ></answer
 ></qandaentry>
 
@@ -1742,7 +2692,20 @@
 <qandaentry
 ><question
 ><para
->Hvorfor har editoren i resultatvinduet for sammenfletning ikke en "fortryd"-funktion? </para
+>Hvordan kan jeg synkronisere sammenligningsvisningen og sammenfletningsvisningen så alle visninger viser samme tekstposition? </para
+></question
+><answer
+><para
+>Klik på sammenfatningssøjlen til venstre for teksten. (<link linkend="synchronise_views"
+>Se også her.</link
+>) </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Hvorfor har editoren i resultatvinduet for sammenfletning ikke en "fortryde"-funktion? </para
 ></question
 ><answer
 ><para
@@ -1753,22 +2716,37 @@
 <qandaentry
 ><question
 ><para
->Da jeg fjernede noget tekst, vistes pludseligt "&lt;Ingen kildelinje&gt;" og det kan ikke fjernes. Hvad betyder det og hvordan kan man fjerne det? </para
+>NÃ¥r jeg fjernede en del tekst, vistes pludselig "&lt;Ingen kildelinje&gt;" og dette kan ikke slettes. Hvad betyder det og hvordan kan man fjerne det? </para
 ></question
 ><answer
 ><para
->For hvert ens eller forskelligt afsnit husker editoren i vinduet med sammenfletningsresultatet hvor det begynder og slutter. "&lt;Ingen kildelinje&gt;" betyder at der ikke er noget tilbage i et afsnit, ikke engang et nylinjetegn. Dette kan indtræffe enten ved automatisk sammenfletning eller efter redigering. Det er ikke noget problem, eftersom denne information ikke er med i den gemte fil. Hvis du vil have originalkilden tilbage, markeres kilden blot (klik på sammendragssøjlen til venstre) og klik derefter på kildeknappen med indholdet som ønskes (A, B eller C). </para
+>For hvert afsnit der er ligedan eller anderledes husker editoren i vinduet med sammenfletningsresultatet hvor det begynder og slutter. "&lt;Ingen kildelinje&gt;" betyder at der ikke er noget tilbage i et afsnit, ikke engang et nylinjetegn. Dette kan indtræffe enten ved automatisk sammenfletning eller efter redigering. Det er intet problem, eftersom denne information ikke eksisterer i den gemte fil. Hvis du vil have  originalkilden igen, markeres kilden blot (klikke på sammenfatningssøjlen til venstre) og klik derefter på kildeknappen med indholdet som ønskes (A, B eller C). </para
 ></answer
 ></qandaentry>
 
 <qandaentry
 ><question
 ><para
->Hvorfor understøtter KDiff3 ikke syntaksfremhævning? </para
+>Hvorfor understøtter &kdiff3; ikke syntaksfremhævning? </para
 ></question
 ><answer
 ><para
->KDiff3 bruger allerede mange farver til fremhævning af sammenligninger. Yderligere farvelægning ville være forvirrende. Brug en anden editor til dette. </para
+>&kdiff3; bruger allerede mange farver til fremhævning af sammenligninger. Yderligere frem,hævning ville være forvirrende. Burg en anden editor til dette. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Kan jeg bruge Kdiff3 til at sammenligne filer fra OpenOffice.Org, Word, Excel, PDF, og så videre? </para
+></question
+><answer
+><para
+>Selvom Kdiff3 kan analysere alle slags filer, vil resultatet formodentlig ikke være særligt tilfredsstillende for dig. </para
+><para
+>Kdiff3 blev lavet til at sammenligne rene tekstfiler. OpenOffice, Word, Excel, og så videre, opbevarer meget mere information i filerne (om skrifttype, billeder, sider, farver, osv.), som Kdiff3 ikke kender til. Altså viser Kdiff3 dig indholdet i filen tolket som ren tekst, men det er ikke den visning du er vant til. </para
+><para
+>Eftersom de fleste programmer nu om dage opbevarer deres indhold i XML-format, kan du måske læse det som ren tekst. Hvis ændringen kun var lille, kan Kdiff3 måske stadigvæk hjælpe dig. </para
 ></answer
 ></qandaentry>
 
@@ -1794,18 +2772,18 @@
 <para
 >&kdiff3;: Værktøj til sammenligning og sammenfletning af filer og mapper </para>
 <para
->Program ophavsret 2002-2003 Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Program ophavsret 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
 > </para>
 <para
 >Flere fede idéer og fejlrapporter kom fra kolleger og mange personer ude på www. Tak! </para>
 
 <para
->Dokumentation ophavsret &copy; 2002-2003 Joachim Eibl <email
->joachim. eibl@gmx.de</email
+>Dokumentation ophavsret &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
 > </para>
 
-<para>Dansk oversættelse Erik Kjær Pedersen <email>erik@binghamton.edu</email></para>
+&erik.kjaer.pedersen.credit; 
 &underFDL; &underGPL; </chapter>
 
 <appendix id="installation">
@@ -1817,11 +2795,11 @@
 >Hvordan får man fat på &kdiff3;</title>
 
 <para
->Du kan hente den nyeste version af KDiff3 fra hjemmesiden <ulink url="http://kdiff3.sourceforge.net"
+>Du kan hente seneste version af &kdiff3; fra hjemmesiden <ulink url="http://kdiff3.sourceforge.net"
 >http://kdiff3.sourceforge.net</ulink
 >. </para
 ><para
->KDiff3 er også tilgængelig for andre platforme. Se hjemmesiden for detaljer. </para>
+>&kdiff3; er også tilgængelig for andre platforme. Se hjemmesiden for detaljer. </para>
 
 
 </sect1>
@@ -1831,16 +2809,13 @@
 >Krav</title>
 
 <para
->For at skal lykkes at bruge alle funktioner i &kdiff3;, har du brug for du &kde; 
-> 3.1. Sammenligningsværktøjet fra <ulink url="http://www.gnu.org/software/diffutils/diffutils.html"
->GNU-diff-utils</ulink
-> anbefales for bedste resultat. </para
+>For at bruge alle funktioner i &kdiff3; med godt resultat har du brug for &kde; 3.1 eller nyere. </para
 ><para
->For information om hvordan KDiff3 kan køres på andre platforme end KDE, se <ulink url="http://kdiff3.sourceforge.net"
+>For information om hvordan &kdiff3; kan køres på andre platforme uden &kde;, se <ulink url="http://kdiff3.sourceforge.net"
 >hjemmesiden</ulink
 >. </para
 ><para
->Du kan finde en liste med ændringer på <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+>Du finder en liste med ændringer på <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
 >http://kdiff3.sourceforge.net/ChangeLog</ulink
 > eller i filen "ChangeLog" i kildekodepakken. </para>
 </sect1>
@@ -1850,7 +2825,7 @@
 >Kompilering og installation</title>
 
 <para
->For at kompilere og installere &kdiff3; på et system med KDE, skrives følgende i basismappen for &kdiff3;'s distribution:</para>
+>For at kompilere og installere &kdiff3; på et system med KDE, skriv følgende i basismappen for distributionen af &kdiff3;:</para>
 
 <screen
 ><prompt
@@ -1858,7 +2833,7 @@
 > <userinput
 ><command
 >./configure --prefix=<replaceable
->kde-dir</replaceable
+>kde-mappe</replaceable
 ></command
 ></userinput>
 <prompt
@@ -1877,14 +2852,18 @@
 </screen>
 <para
 ><replaceable
->kde-dir</replaceable
-> angiver mappen hvor KDE findes på systemet. Hvis du ikke er sikker, læs filen README for detaljer. </para>
+>kde-mappe</replaceable
+> angiver mappen som indeholder KDE på dit system. Hvis du ikke er sikker, læs filen README for detaljer. </para>
+<para
+>Hvis du ikke bruger KDE, så brug ikke <command
+>configure</command
+> men følg instruktionerne for systemer som kun bruger Qt i filen README.</para>
 <para
 >Eftersom &kdiff3; bruger <command
 >autoconf</command
 > og <command
 >automake</command
-> bør du ikke have nogen problemer med at kompilere den. Skulle du støde på problemer, så vær venlig at rapportere dem til &kde;'s e-postlister.</para>
+> skulle du ikke have problemer med at kompilere det. Skulle du støde på problemer, så rapportér dem gerne til &kde;'s e-mail-lister.</para>
 
 </sect1>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/de/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,4 @@
+KDE_DOCS = kdiff3
+KDE_LANG = de
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/de/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2430 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+  <!ENTITY kdiff3 "<application
+>KDiff3</application
+>">
+  <!ENTITY kappname "&kdiff3;">
+  <!ENTITY package "kdeextragear-1">
+  <!ENTITY % addindex "IGNORE">
+  <!ENTITY % German "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Das Handbuch zu &kdiff3;</title>
+
+<authorgroup>
+<author
+><firstname
+>Joachim</firstname
+> <surname
+>Eibl</surname
+> <affiliation
+><address
+> <email
+>joachim.eibl at gmx.de</email>
+</address
+></affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>Thomas</firstname
+><surname
+>Reitelbach</surname
+><affiliation
+><address
+><email
+>tr@erdfunkstelle.de</email
+></address
+></affiliation
+><contrib
+>Deutsche Übersetzung</contrib
+></othercredit
+> 
+
+<copyright>
+<year
+>2002-2005</year>
+<holder
+>Joachim Eibl</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook
+     and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-01-30</date>
+<releaseinfo
+>0.9.87</releaseinfo>
+
+
+<abstract>
+<para
+></para>
+<para
+>&kdiff3; ist ein Programm zum Anzeigen von Unterschieden und zum Zusammenführen von Dateien und Ordnern. &kdiff3; <itemizedlist>
+<listitem
+><para
+>vergleicht zwei oder drei Textdateien bzw. Ordner und führt sie zusammen,</para
+></listitem>
+<listitem
+><para
+>kann Unterschiede zeilenweise und sogar Zeichen für Zeichen anzeigen,</para
+></listitem>
+<listitem
+><para
+>hat eine Funktion zum automatischen Zusammenführen,</para
+></listitem>
+<listitem
+><para
+>enthält einen speziellen komfortablen Editor zum Auflösen von Konflikten beim Zusammenführen,</para
+></listitem>
+<listitem
+><para
+>ist mit Hilfe von KIO Netzwerktransparent,</para
+></listitem>
+<listitem
+><para
+>kann Unterschiede in "weißen" Zeichen oder Kommentaren besonders hervorheben oder verstecken.</para
+></listitem>
+<listitem
+><para
+>unterstützt Unicode, UTF-8 und weitere Dateikodierungen.</para
+></listitem>
+</itemizedlist>
+</para
+><para
+>Dieses Dokument beschreibt &kdiff3; in der Version 0.9.87. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear</keyword>
+<keyword
+>kdiff3</keyword>
+<keyword
+>vergleichen</keyword>
+<keyword
+>zusammenführen</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>dreifach-vergleichen</keyword>
+<keyword
+>vergleichen</keyword>
+<keyword
+>Dateien</keyword>
+<keyword
+>Ordner</keyword>
+<keyword
+>Versionskontrolle</keyword>
+<keyword
+>Drei-Wege-Zusammenführen</keyword>
+<keyword
+>Unterschiede innerhalb einer Zeile</keyword>
+<keyword
+>synchronisieren</keyword>
+<keyword
+>kpart</keyword>
+<keyword
+>kio</keyword>
+<keyword
+>netzwerktransparent</keyword>
+<keyword
+>Editor</keyword>
+<keyword
+>"weißes" Zeichen</keyword>
+<keyword
+>Kommentare</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction"
+><title
+>Einführung</title>
+<sect1 id="why"
+><title
+>Noch eine Oberfläche zu Diff?</title>
+<para
+>Es gibt viele graphische Werkzeuge zum Vergleichen. Warum also &kdiff3;? Lassen Sie mich kurz erklären, warum ich &kdiff3; ins Leben gerufen habe. </para
+><para
+>&kdiff3; wurde programmiert, weil ich eine sehr komplizierte Zusammenführung durchzuführen hatte. Zusammenführen wird dann nötig, wenn mehrere Personen an der gleichen Datei in einem Projekt arbeiten. Wenn das verwendete Werkzeug zum Zusammenführen nicht nur die geänderten Dateien ("Branch" genannt), sondern auch die Originale ("Basis") zur Verfügung hat, kann das Zusammenführen gewissermaßen automatisiert werden. Das Programm wird dann automatisch die in der Branch gemachten Änderungen auswählen. Doch wenn mehrere Beitragende die gleichen Zeilen ändern, wird ein Konflikt erkannt. Solch ein Konflikt muss dann von Hand aufgelöst werden. </para
+><para
+>Die Zusammenführung war sehr kompliziert, weil einer der Beitragenden viele Änderungen vorgenommen und gleichzeitig an vielen Stellen die Einrückung korrigiert hatte. Ein weiterer Programmierer hatte in der gleichen Datei viel Text verändert. Das Ergebnis waren zahlreiche Konflikte beim Zusammenführen. </para
+><para
+>Das von mir benutzte Programm zeigte mir nur die geänderten Zeilen an, ich konnte aber nicht sehen, was genau sich innerhalb dieser Zeilen geändert hatte. Und es gab keinerlei Hinweise auf die Stellen, wo sich vielleicht nur die Einrückung geändert hatte. Das Zusammenführen dieser Änderungen war ein kleiner Albtraum. </para
+><para
+>Das war also der Beginn. Die erste Version von &kdiff3; konnte Unterschiede innerhalb einer Zeile und Änderungen an "weißen" Zeichen darstellen. Später wurden noch jede Menge weiterer nützlicher Funktionen hinzugefügt. </para
+><para
+>Wenn Sie zum Beispiel schnell Text vergleichen möchten, kopieren Sie ihn einfach in die Zwischenablage und fügen ihn in eines der Vergleichsfenster ein. </para
+><para
+>Eine Funktion die viel Arbeit machte, war das Vergleichen und Zusammenführen von Ordnern. Diese Funktion verwandelte &kdiff3; beinahe in einen vollwertigen Datei-Browser. </para
+><para
+>Ich hoffe, dass Sie viel Nutzen an &kdiff3; haben und wünsche Ihnen viel Freude! </para
+><para
+>Joachim Eibl (2003) </para>
+</sect1>
+
+<sect1 id="screenshots"
+><title
+>Bildschirmphotos und Funktionen</title>
+<para
+>Dieses Bildschirmphoto zeigt die Unterschiede zwischen zwei Textdateien</para>
+<para
+>(Unter Verwendung einer frühen Version von &kdiff3;):</para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para
+>Auch 3-Wege-Zusammenführen wird vollständig unterstützt. Dies ist nützlich, wenn zwei Personen unabhängig voneinander an einem Stück Kode arbeiten und Änderungen vornehmen. Die Originaldatei (die Basis) hilft &kdiff3; beim automatischen Auswählen der jeweils korrekten Änderungen. Der Zusammenführungs-Editor unter den Unterschiede-Fenstern ermöglicht das Auflösen von Konflikten und zeigt gleichzeitig das zu erwartende Ergebnis an. In diesem Editor können Sie das Ergebnis sogar direkt bearbeiten. Das Bildschirmphoto zeigt drei Quell-Dateien beim Zusammenführen: </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+
+<para id="dirmergebigscreenshot"
+>&kdiff3; hilft Ihnen auch beim Vergleichen und Zusammenführen kompletter Ordner. Dieses Bildschirmphoto zeigt &kdiff3; beim Ordner-Zusammenführen: </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="dirmergebig.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+</sect1>
+
+<sect1 id="features"
+><title
+>Weitere Funktionen</title>
+<sect2
+><title
+>Zeilen- und sogar Zeichenweises Darstellen von Unterschieden</title>
+<para
+>&kdiff3; zeigt die exakten Unterschiede an und bediehnt sich dazu der Möglichkeiten heutiger Farbmonitore. Wenn Sie häufig Kode überprüfen müssen, werden Sie diese Funktion mögen. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="letter_by_letter.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Erkennen von Unterschieden in "weißen" Zeichen auf einen Blick</title>
+<para
+>Unterschiede in "weißen" Zeichen und Tabulatoren werden sichtbar dargestellt. Wenn sich Zeilen nur in einer gewissen Anzahl an "weißen" Zeichen unterscheiden, kann man das auf einen Blick an der Zusammenfassung in der Spalte an der linken Seite sehen. (Kein Ärger mehr, wenn Jemand die Einrückung ändert.) </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="white_space.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>3-Wege-Vergleichen</title>
+<para
+>Man kann drei Dateien analysieren und sehen, an wo sie sich unterscheiden. </para
+><para
+>Das linke/mittlere/rechte Fenster hat den Namen A/B/C und ist entsprechend blau/grün/magenta eingefärbt. </para
+><para
+>Wenn eine Datei gleich ist, und die andere sich in einer Zeile unterscheidet, dann zeigt die Farbe an, welche Datei unterschiedlich ist. Rote Farbe bedeutet, dass beide sich Dateien unterscheiden. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="triple_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Komfortables zusammenführen von zwei oder drei Dateien</title>
+<para
+>Mit &kdiff3; kann man zwei oder drei Dateien zusammenführen. Dabei führt &kdiff3; so viel wie möglich automatisch zusammen. Das Ergebnis wird in einem editierbaren Fenster angezeigt; dort können die meisten Konflikte schon mit einem einfachen Mausklick gelöst werden: Wählen Sie zwischen den Knöpfen A/B/C um die zu benutzende Quelle auszuwählen. Sie können auch mehr als eine Quelle wählen. Weil das Fenster im Grunde ein Editor ist, können hier selbst Konflikte, die eine weitere Bearbeitung erfordern, einfach aufgelöst werden. Sie benötigen dazu keine weiteren Hilfsmittel. </para>
+</sect2>
+
+<sect2
+><title
+>Und ...</title>
+<itemizedlist>
+   <listitem
+><para
+>Schnelle Navigation über Knöpfe.</para
+></listitem>
+   <listitem
+><para
+>Ein Mausklick in die Zusammenfassungs-Spalte gleicht alle Fenster ab, so dass alle die gleiche Stelle anzeigen.</para
+></listitem>
+   <listitem
+><para
+>Kopieren Sie eine Auswahl aus irgendeinem Fenster einfach in das Ergebnisfenster.</para
+></listitem>
+   <listitem
+><para
+>Die Übersichtsspalte zeigt an, wo sich Änderungen und Konflikte befinden.</para
+></listitem>
+   <listitem
+><para
+>Die Farben sind an Ihre Bedürfnisse anpassbar.</para
+></listitem>
+   <listitem
+><para
+>Die Größe von Unterfenstern ist veränderbar.</para
+></listitem>
+   <listitem
+><para
+>Es gibt die Option, anstelle von Tabulatoren Leerzeichen einzufügen.</para
+></listitem>
+   <listitem
+><para
+>Bequemes Öffnen von Dateien über einen Dialog oder über die Kommandozeile.</para
+></listitem>
+   <listitem
+><para
+>Suchen (Strg-F) und Weitersuchen (F3) nach bestimmten Zeichenketten in allen Textfenstern.</para
+></listitem>
+   <listitem
+><para
+>Anzeigen der Zeilennummer zu jeder Zeile. </para
+></listitem>
+   <listitem
+><para
+>Einfügen aus der Zwischenablage oder das Ziehen von Text in ein Vergleichsfenster.</para
+></listitem>
+   <listitem
+><para
+>Netzwerktransparenz durch KIO.</para
+></listitem>
+   <listitem
+><para
+>&kdiff3; kann als Anzeigemodul in KDevelop 3 genutzt werden um Unterschiede anzuzeigen.</para
+></listitem>
+   <listitem
+><para
+>Zeilenumbruch für lange Zeilen</para
+></listitem>
+   <listitem
+><para
+>Unterstützung für Unicode, UTF-8 und weitere Kodierungen.</para
+></listitem>
+   <listitem
+><para
+>Unterstützung für Sprachen, die von rechts nach links geschrieben werden.</para
+></listitem>
+   <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="documentation"
+><title
+>Dokumentation zum Vergleichen und Zusammenführen von Dateien</title>
+
+<sect1 id="commandline"
+><title
+>Kommandozeilen-Optionen</title>
+
+<sect2
+><title
+>Vergleichen von zwei Dateien: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>datei1 datei2</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Zusammenführen von zwei Dateien: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>datei1 datei2</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>datei1 datei2</replaceable
+> -o <replaceable
+>ausgabedatei</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Vergleichen von drei Dateien: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>datei1 datei2 datei3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Zusammenführen von drei Dateien: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>datei1 datei2 datei3</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>datei1 datei2 datei3</replaceable
+> -o <replaceable
+>ausgabedatei</replaceable
+>
+</screen>
+<para
+>Beachten Sie, dass <replaceable
+>datei1</replaceable
+> als Basis für <replaceable
+>datei2</replaceable
+> und <replaceable
+>datei3</replaceable
+> verwendet wird. </para>
+</sect2>
+
+<sect2
+><title
+>Spezialfall: Dateien mit gleichem Namen </title>
+<para
+>Wenn alle Dateien den gleichen Namen haben, aber in verschiedenen Ordnern liegen, dann können Sie sich die Tipparbeit erleichtern indem Sie nur den Dateinamen der ersten Datei vollständig ausschreiben. Beispiel: </para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>Ordner1/Dateiname Ordner2 Ordner3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Kommandozeile zum Vergleichen bzw. Zusammenführen von Ordnern: </title>
+<para
+>Das Vorgehen ist hier sehr ähnlich, doch nun geht es um Ordner.</para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2</replaceable
+> -o <replaceable
+>Zielordner</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2 Ordner3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2 Ordner3</replaceable
+> -o <replaceable
+>Zielordner</replaceable
+>
+</screen>
+<para
+>Zum Vergleichen bzw. Zusammenführen von Ordnern lesen Sie bitte <link linkend="dirmerge"
+>hier</link
+> weiter.</para>
+</sect2>
+
+<sect2
+><title
+>Mehr Informationen zu den Kommandozeilen-Optionen erhalten Sie mit diesem Befehl: </title>
+<screen
+><command
+>kdiff3</command
+> --help
+Options:
+  -m, --merge               Quellen zusammenführen.
+  -b, --base file           Explizite Basisdatei. Für Kompatibilität mit anderen Programmen.
+  -o, --output datei        Ausgabe-Datei. Impliziert -m. Z. B.: -o neueDatei.txt
+  --out file                Ausgabe-Datei. (Für Kompatibilität mit anderen Programmen.)
+  --auto                    Keine graphische Oberfläche, wenn alle Konflikte automatisch aufgelöst werden können. (Benötigt -o datei)
+  --qall                    Konflikte nicht automatisch auflösen. (Aus Kompatibilitätsgründen.)
+  --L1 alias1               Sichtbarer Namensersatz für Quelldatei 1 (Basis).
+  --L2 alias2               Sichtbarer Namensersatz für Quelldatei 2.
+  --L3 alias3               Sichtbarer Namensersatz für Quelldatei 3.
+  -L, --fname alias         Alternativer sichtbarer Namensersatz. Für jede Quelldatei einmal angeben.
+  -u                        Hat keine Wirkung. Für Kompatibilität mit anderen Programmen.
+</screen>
+</sect2>
+
+</sect1>
+
+<sect1 id="opendialog"
+><title
+>Öffnen-Dialog</title>
+<para
+>Weil mehrere Dateien auszuwählen sind, hat &kdiff3; einen besonderen Dialog zum Öffnen von Dateien: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="open_dialog.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>Der Öffnen-Dialog ermöglicht das manuelle Eintippen von Dateinamen, die Auswahl über den Datei-Browser ("Datei...") oder das Auswählen einer zuletzt geöffneten Datei aus der Aufklappliste. Der Öffnen-Dialog merkt sich Ihre Auswahl und zeigt sie beim nächsten Mal wieder an. Sie müssen keine dritte Datei angeben; wenn Sie den Eintrag für "C" leer lassen, wird die Analyse der Unterschiede mit zwei Dateien durchgeführt. </para
+><para
+>Über den Knopf "Ordner..." können Sie auch einen Ordner auswählen. Wenn Sie einen Ordner wählen, wird das Vergleichen bzw. Zusammenführen von Ordnern eingeleitet. Wenn für "A" eine Datei ausgewählt wird, für "B" und "C" jedoch ein Ordner, dann benutzt &kdiff3; den Dateinamen aus "A" in den beiden anderen Ordnern. </para
+><para
+>Wenn "Zusammenführen" angekreuzt ist, wird das Eingabefeld für "Ziel" aktiv und lässt sich bearbeiten. Es ist allerdings nicht unbedingt erforderlich, sofort eine Ausgabedatei festzulegen. Sie können diesen Schritt auch später beim Speichern erledigen. </para
+><para
+>Der "Einrichten"-Knopf öffnet einen Dialog mit Einstellungen. Hier können Sie Optionen festlegen bevor Sie mit dem Vergleichen/Zusammenführen beginnen. </para>
+</sect1>
+
+<sect1 id="pasteinput"
+><title
+>Einfügen und Ablegen von Text</title>
+<para
+>Manchmal möchte man nicht eine ganze Datei, sondern nur Teile eines Textes vergleichen. &kdiff3; ermöglicht Ihnen, Textteile aus der Zwischenablage in das aktive Vergleichsfenster zu ziehen. Der Vergleich beginnt dann sofort. Im Öffnen-Dialog müssen Sie keine Dateien auswählen, Sie können den Dialog einfach mit dem "Abbrechen"-Knopf schließen. </para
+><para
+>Sie können auch "Ziehen und Ablegen" benutzen: Ziehen Sie einfach eine Datei aus einem Dateimanager oder ausgewählten Text aus einem Editor und lassen Sie ihn über einem Vergleichsfenster fallen. </para
+><para
+>Welcher Gedanke steckt dahinter? Manchmal enthält eine Datei z. B. mehrere ähnliche Funktionen. Wenn Sie herausfinden möchten, wie ähnlich sich diese Funktionen sind, wäre das ein relativ großer Aufwand. Sie müssten erst zwei entsprechende Dateien erstellen, sie in &kdiff3; laden und diese dann vergleichen. Jetzt können Sie die relevanten Abschnitte einfach kopieren, einfügen und dann vergleichen. </para
+><para
+>Anmerkung: Zur Zeit können Sie nichts aus &kdiff3; herausziehen. Nur das Fallenlassen von Text in ein Vergleichsfenster wird unterstützt. </para
+><para
+>Warnung: Einige Editoren interpretieren das Ziehen und Ablegen von Text in ein anderes Programm als Ausschneiden und Einfügen (anstelle von Kopieren und Einfügen). In einem solchen Fall könnten Ihre Originaldaten verloren gehen. </para>
+</sect1>
+
+<sect1 id="interpretinginformation"
+><title
+>Interpretieren der angezeigten Informationen in den Quellfenstern</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>Im oberen Teil jedes Textfensters befindet sich die Info-Zeile. Die Info-Zeile der Quellfenster enthält die Zeichen "A", "B" oder "C", den Dateinamen und die Zeilennummer der ersten sichtbaren Zeile im Fenster. (Beachten Sie, dass Fenster "C" optional ist.) Jede Info-Zeile hat eine unterschiedliche Farbe. (Wenn der Pfad zu einer Datei zu lang ist, lassen Sie die Maus eine Weile über der Zeile ruhen. Dann wird ein kleines Hilfsfenster den vollständigen Namen anzeigen.) </para
+><para
+>Den drei Quellfenstern sind die Buchstaben "A", "B" und "C" zugeordnet. "A" hat die Farbe Blau, "B" die Farbe Grün und "C" ist magenta. (Diese Voreinstellungen können über das Einstellungen-Menü geändert werden.) </para
+><para
+>Wenn ein Unterschied erkannt wird, sieht man an der Farbe, welche Datei sich unterscheidet. Wenn sich beide Dateien unterscheiden, ist die Voreingestellte Farbe dafür Rot. ("Farbe für Konflikte" in den Einstellungen). Das Farbschema ist besonders nützlich, wenn Sie drei Dateien vergleichen. Das ist im nächsten Abschnitt (<link linkend="merging"
+>Zusammenführen</link
+>) gut zu sehen. </para
+><para
+>Links neben dem Text befindet sich die Zusammenfassungs-Spalte. Wenn Unterschiede gefunden wurden, zeigt die Spalte die entsprechende Farbe an. Bei Unterschieden in "weißen" Zeichen wird die Farbe gerastert angezeigt. Bei einigen Programmiersprachen wo "weiße" Zeichen nicht so wichtig sind, ist es nützlich, nur die relevanten Änderungen zu sehen. (Bei C/C++ z. B. sind "weiße" Zeichen nur in Zeichenketten und Kommentaren, für den Preprozessor und in wenigen, seltenen Einzelfällen relevant.) </para
+><para
+>Die vertikale Linie, die die Zusammenfassungs-Spalte vom Text trennt, wird an den Stellen unterbrochen, wo die jeweilige Quelldatei keine Zeilen hat. Wenn der Zeilenumbruch aktiviert ist, wird die Linie an umgebrochenen Zeilen gepunktet dargestellt. </para
+><para
+>An der rechten Seite befindet sich eine Übersichts-Spalte, direkt links neben der vertikalen Bildlaufleiste. Sie zeigt eine komprimierte Zusammenfassung des gesamten Fenster "A". Alle Unterschiede und Konflikte sind hier auf einen Blick erkennbar. Wenn nur zwei Quellfenster genutzt werden, dann erscheinen alle Unterschiede rot, denn dann ist jeder Unterschied gleichzeitig auch ein Konflikt. Der aktuell sichtbare Bereich der Quelltexte wird durch ein schwarzes Rechteck umrandet. Bei sehr langen Quelldateien mit mehr Zeilen als die Übersichts-Spalte in Pixeln anzeigen kann, teilen sich mehrere Zeilen jeweils eine Zeile in der Übersichts-Spalte. Ein Konflikt hat gegenüber einfacher Unterschiede die höchste Priorität. Unterschiede wiederum haben eine höhere Priorität als "keine Änderungen". So gehen keine Konflikte oder Unterschiede verloren. Durch einen Klick in die Übersichts-Spalte wird der zugehörige Text angezeigt. </para>
+</sect1>
+
+
+<sect1 id="merging"
+><title
+>Zusammenführen und das editierbare Ergebnisfenster</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>Das Ergebnisfenster (unter den Vergleichsfenstern) hat auch eine Info-Zeile mit der Aufschrift "Ausgabe:", dem Dateinamen und "[Geändert]" wenn Sie das Ergebnis bearbeitet haben. Üblicherweise enthält es durch das automatische Zusammenführen bereits Text, aber oft enthält es auch Konflikte. </para
+><para
+>!!! Bis alle Konflikte aufgelöst sind, ist das Speichern deaktiviert !!! (Benutzen Sie die Knöpfe "Springe zu nächstem gelösten/ungelösten Konflikt" um die noch verbleibenden Konflikte zu finden.) </para
+><para
+>Wenn nur zwei Vergleichsfenstern benutzt werden, ist jeder Unterschied gleichzeitig auch ein Konflikt der manuell gelöst werden muss. </para
+><para
+>Bei drei Vergleichsfenstern wird die erste Datei als Basis verwendet, und die zweite und dritte Datei enthalten die Änderungen. Wenn eine Zeile nur in Datei B oder C geändert wurde, aber nicht in beiden, dann wird automatisch die richtige Änderung ausgewählt. Wenn B und C allerdings Änderungen in der gleichen Zeile enthalten, erkennt &kdiff3; einen manuell zu lösenden Konflikt. Wenn B und C identisch sind, sich aber von A unterscheiden, dann wird C als Quelle ausgewählt. </para
+><para
+>Das Ergebnisfenster hat auch eine Zusammenfassungs-Spalte an der linken Seite. Sie zeigt entweder den Buchstaben des Vergleichsfensters an von dem eine Zeile stammt, oder sie ist leer, wenn alle drei Quellen an der Stelle identisch sind. Konflikte werden mit einem roten Fragezeichen "?" und dem Text &lt;Zusammenführungskonflikt&gt; dargestellt. Weil das zeilenweise Auflösen von Konflikten sehr lange dauern würde, werden Zeilen mit gleichem Unterschied und Charakteristika gruppiert. Konflikte mit "weißen" Zeichen und Konflikte mit "nicht-weißen" Zeichen werden getrennt dargestellt, um das Zusammenführen von Dateien mit vielen Einrückungsänderungen zu vereinfachen. </para
+><para
+>Durch einen Klick mit der linken Maustaste in die Zusammenfassungs-Spalte in einem der Fenster wird die zu der Zeile gehörende Gruppe in allen Fenstern markiert und die erste Zeile der Gruppe wird angezeigt. (Dadurch wird auch ein Sprung der Position in den Fenstern verursacht, wo der Anfang der Gruppe sonst nicht sichtbar wäre.) Diese Gruppe wird dann die "aktuelle Gruppe". Sie wird mit der Farbe "Hintergrundfarbe für aktuellen Bereich" hervorgehoben und jeweils zur Linken erscheint ein schwarzer Balken. </para
+><para
+>Beachten Sie die Knöpfe zur Auswahl der Quelle mit der Beschriftung "A", "B" und "C" unterhalb der Menüleiste. Wenn Sie auf einen der Knöpfe klicken, werden die Zeilen aus dem entsprechenden Fenster an das Ende der ausgewählten Gruppe im Ergebnisfenster angehängt (wenn sie nicht bereits vorhanden sind). Falls die Zeilen bereits vorhanden sind, werden sie beim Klicken auf den Knopf entsprechend wieder entfernt. </para
+><para
+>Hinweis: Sie können auch jede Zeile manuell bearbeiten. Die Zusammenfassungs-Spalte zeigt dann ein "m" in jeder Zeile, die Sie von Hand bearbeitet haben. </para
+><para
+>Manchmal bleibt durch das automatische Zusammenführen oder durch manuelles Bearbeiten keine weitere Zeile mehr in der Gruppe übrig; dann wird in diesen Zeilen der Text &lt;Keine Zeile in der Quelle&gt; angezeigt. Das ist nur ein Platzhalter für den Fall, dass Sie Ihre Meinung ändern und vielleicht doch wieder eine andere Quelle wählen. Dieser Text erscheint weder in der endgültigen gespeicherten Datei, noch in einer Markierung die Sie vielleicht kopieren und woanders einfügen. </para
+><para
+>Der Text &lt;Zusammenführungskonflikt&gt; erscheint allerdings in der Zwischenablage, wenn Sie solchen Text aus dem Ergebnisfenster kopieren. Gehen Sie vorsichtig mit dieser Funktion um. </para
+><para
+>Das normale Zusammenführen startet mit dem automatischen Lösen einfacher Konflikte. Das "Zusammenführen"-Menü enthält einige häufig verwendete Funktionen. Wenn Sie bei den meisten Konflikten die gleiche Quelle auswählen müssen, können Sie z. B. überall "A", "B" oder "C" auswählen. Die gleiche Möglichkeit gibt es auch für die noch verbleibenden ungelösten Konflikte oder sogar für die noch verbleibenden ungelösten Konflikte in "weißen" Zeichen. Wenn Sie solche Entscheidungen nicht zusammengefasst für eine Gruppe, sondern sogar für jeden einzelnen Unterschied im Detail treffen möchten, dann wählen Sie "Alle Unterschiede zu Konflikten machen". Sie können wieder zur automatischen Auswahl von &kdiff3; zurück, indem Sie "Automatisch einfache Konflikte lösen" wählen. &kdiff3; startet das Zusammenführen dann erneut. &kdiff3; fragt nach, bevor Ihre eventuell gemachten Änderungen verloren gehen. </para
+><para
+>Hinweis: Wenn beim Auswählen der Quellen die Optionen "Zahlen ignorieren" oder "Ignoriere C/C++ Kommentare" aktiviert sind, werden Änderungen in Zahlen oder Kommentaren auch wie "weiße" Zeichen behandelt. </para>
+</sect1>
+
+<sect1 id="navigation"
+><title
+>Navigieren und Bearbeiten</title>
+<para
+>Navigiert wird hauptsächlich mit den Bildlaufleisten und der Maus, aber Sie können dazu auch die Tastatur benutzen. Wenn Sie in eines der Fenster klicken, können Sie die Pfeiltasten links, rechts, hoch, runter, Seite auf, Seite ab, Anfang, Ende, Strg-Anfang und Strg-Ende benutzen, siw wie Sie es auch von anderen Programmen gewohnt sind. Die Übersichts-Spalte neben der vertikalen Bildlaufleiste kann durch hineinklicken auch zum Navigieren benutzt werden. </para
+><para
+>Ausserdem können Sie das Rädchen Ihrer Maus zum hoch- und runterblättern benutzen. </para
+><para
+>Im Augabefenster können Sie auch die anderen Tasten zum Bearbeiten verwenden. Mit der "Einfügen"-Taste können Sie zwischen Einfüge- und Überschreibmodus wechseln. (Voreingestellt ist der Einfügemodus.) </para
+><para
+>Ein Klick mit der linken Maustaste in eine der Zusammenfassungs-Spalten synchronisiert die Ansicht aller Fenster auf den Anfang der jeweiligen Gruppe (wie bereits im Abschnitt <link linkend="merging"
+>"Zusammenführen und das editierbare Ausgabefenster"</link
+> erklärt wurde). </para
+><para
+>Die Werkzeugleiste enthält sieben Knöpfe zur Navigation mit denen Sie zum aktuellen/ersten/letzten Unterschied, zum nächsten/vorigen Unterschied (Strg-unten/Strg-oben), zum nächsten/vorigen Konflikt (Strg-Bild Aufwärts/Strg-Bild Abwärts) oder zum nächsten/vorigen ungelösten Konflikt springen können. Beachten Sie, dass &kdiff3; alle nicht automatisch gelösten Konflikte auch nach dem manuellen lösen weiterhin als Konflikt betrachtet. Daher muss zwischen gelösten und ungelösten Konflikten unterschieden werden. </para
+><para
+>Es gibt auch einen Knopf "Automatisch zum nächsten ungelösten Konflikt weiterspringen". Wenn Sie dies aktivieren, wird &kdiff3; nach der ersten Auswahl der Quelle automatisch zum nächsten ungelösten Konflikt weiterspringen und ihn lösen. Das ist hilfreich, wenn Sie immer nur eine Quelle wählen möchten. Wenn Sie beide Quellen brauchen, oder das Ergebnis nach der Auswahl noch bearbeiten möchten, dann sollten Sie diese Funktion ausschalten. Bevor &kdiff3; zum nächsten ungelösten Konflikt weiterspringt, wird das Ergebnis der Auswahl für eine Kurze Zeit angezeigt. Die Verzögerungszeit kann im Abschnitt "Vergleich und Zusammenführung" in den Einstellungen eingestellt werden: Geben Sie für "Automatisch-Weiterspringen-Verzögerung" einen Wert zwischen 0 und 2000 Millisekunden an. Tipp: Wenn Sie sich viele Mausklicks sparen möchten, dann benutzen Sie eine kurze Verzögerungszeit und die Tastenkürzel Strg-1/2/3 uum Auswählen der Quelle A/B/C. </para>
+</sect1>
+
+<sect1 id="selections"
+><title
+>Markieren, Kopieren und Einfügen</title>
+<para
+>In den Vergleichsfenstern wird kein Cursor angezeigt, daher müssen Markierungen mit der Maus gemacht werden. Drücken Sie am Beginn der Markierung die linke Maustaste und halten Sie sie gedrückt, ziehen Sie die Maus dann bis zum Ende der Markierung und lassen Sie hier die Maustaste wieder los. Ein einzelnes Wort kann auch einfach durch einen Doppelklick darauf markiert werden. Im Ergebnisfenster können Sie zum Markieren auch die Tastatur benutzen. Drücken Sie dazu die Umschalt-Taste und verändern Sie die Markierung mit den Pfeiltasten. </para
+><para
+>Um die Markierung in die Zwischenablage zu kopieren, müssen Sie den "Kopieren"-Knopf (Strg-C oder Strg-Einfügen) drücken. Es gibt auch die Option "Auswahl automatisch kopieren". Wenn diese aktiviert ist, wird, was immer Sie markieren, automatisch in die Zwischenablage kopiert und das manuelle Kopieren entfällt. Seien Sie mit dieser Option aber vorsichtig, denn Sie könnten so den Inhalt der Zwischenablage versehentlich überschreiben. </para
+><para
+>"Ausschneiden" (Strg-X oder Umschalt-Entfernen) kopiert in die Zwischenablage und löscht den markierten Text. "Einfügen" (Strg-V oder Umschalt-Einfügen) fügt den Text aus der Zwischenablage an der aktuellen Cursorposition ein bzw. ersetzt die aktuelle Markierung. </para>
+</sect1>
+
+<sect1 id="saving"
+><title
+>Speichern</title>
+<para
+>Speichern ist erst möglich, wenn alle Konflikte gelöst sind. Falls die Datei bereits existiert und die Option "Sicherungskopie erstellen" aktiviert ist, dann erhält die bestehende Datei die Endung ".orig". Wenn bereits eine ".orig"-Datei existiert, wird diese überschrieben. Wenn Sie einen weiteren Vergleich starten bzw. beenden und noch nicht gespeichert haben, dann fragt &kdiff3;, ob Sie Speichern, Abbrechen oder ohne zu speichern fortfahren möchten. (KDiff3 fängt allerdings keine System-Signale ab. Wenn Sie &kdiff3; also mit dem Signal "kill" beenden, gehen Ihre ungespeicherten Daten verloren.) </para
+><para
+>Zeilenenden werden entsprechend dem zugrundeliegenden Betriebssystem gespeichert. Unix-Varianten verwenden ein Zeilenvorschub-Zeichen "\n", und Win32-basierte Systeme benutzen Wagenrücklauf + Zeilenvorschub "\r\n". KDiff3 behält die Zeilenenden der Quelldateien nicht bei, darum sollten Sie &kdiff3; auch nicht mit Binärdateien verwenden. </para>
+</sect1>
+
+<sect1 id="find"
+><title
+>Suchen und Finden von Zeichenketten</title>
+<para
+>Sie können in jedem Textfenster von &kdiff3; nach einer Zeichenkette suchen. Die "Suchen..."-Funktion (Strg-F) im Bearbeiten-Menü öffnet einen Dialog, in dem Sie die zu suchende Zeichenkette eingeben können. Eine Suche beginnt immer am Anfang. Mit der Funktion "Weitersuchen" (F3) können Sie zum nächsten Vorkommen der gesuchten Zeichenkette springen. Wenn Sie eine Suche über mehrere Fenster aktiviert haben, wird erst das erste Fenster vom Beginn bis zum Ende durchsucht, danach das nächste Fenster, u. s. w. </para>
+</sect1>
+
+
+<sect1 id="options"
+><title
+>Optionen</title>
+<para
+>Die Optionen und die Liste der zuletzt verwendeten Dateien wird beim Beenden automatisch gespeichert und beim nächsten Start wiederhergestellt. (Menü Einstellungen->KDiff3 einrichten...) </para>
+<sect2
+><title
+>Schriftart</title>
+<para
+>Wählen Sie eine Schrift mit fester Breite. (Auf einigen Systemen stellt der Dialog auch Schriften mit variabler Breite zur Auswahl, Sie sollten diese aber nicht benutzen.) </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Kursivschrift bei Unterschieden:</emphasis
+></term
+><listitem
+><para
+>Wenn Sie diese Option aktivieren, werden Unterschiede in kursiver Schrift dargestellt. Wenn die gewählte Schrift diese Darstellung nicht unterstützt, passiert gar nichts.</para>
+   </listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Farbe</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Vordergrundfarbe:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise Schwarz. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Hintergrundfarbe:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise Weiß. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Hintergrundfarbe bei Unterschieden:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise helles Grau. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farbe für A:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise dunkles Blau. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farbe für B:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise dunkles Grün. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farbe für C:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise dunkles Magenta. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Farbe für Konflikte:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise Rot.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Hintergrundfarbe für aktuellen Bereich:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise helles Gelb.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Hintergrundfarbe für Unterschiede im aktuellen Bereich:</emphasis
+></term
+><listitem
+><para
+>Üblicherweise dunkles Gelb.</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>An Systemen mit nur 16 oder 256 Farben könnten einige Farben nicht in ihrer reinen Form verfügbar sein sondern würden gerastert dargestellt werden. An diesen Systemen stellt der Knopf "Voreinstellungen" automatisch eine ungerasterte Farbe ein. </para>
+</sect2>
+
+<sect2
+><title
+>Editor</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Tabulator fügt Leerzeichen ein:</emphasis
+></term
+><listitem
+><para
+>Wenn diese Option aktiviert ist, wird beim Drücken der Tabulator-Taste die entsprechende Anzahl an Leerzeichen eingefügt. Ansonsten wird ein Tabulator-Zeichen eingefügt.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Tabulator Länge:</emphasis
+></term
+><listitem
+><para
+>Kann nach Ihren persönlichen Vorstellungen eingestellt werden. Voreingestellt ist 8. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Automatisch einrücken:</emphasis
+></term
+><listitem
+><para
+>Wenn Sie Eingabe oder Return drücken, wird die Einrückung der vorangehenden Zeile automatisch auch für die nächste Zeile verwendet. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Auswahl automatisch kopieren:</emphasis
+></term
+><listitem
+><para
+>Wenn diese Option aktiviert ist, wird jede Auswahl automatisch in die Zwischenablage kopiert. Das manuelle kopieren in die Zwischenablage entfällt dann. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Zeilenende-Typ:</emphasis
+></term
+><listitem
+><para
+>Sie können auswählen, welchen Zeilenende-Typ Sie zum Speichern bevorzugen. Der voreingestellte Wert ist die allgemein übliche Auswahl auf dem verwendeten Betriebssystem. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Verwendung der lokalen Codetabelle:</emphasis
+></term
+><listitem
+><para
+>Zum Anzeigen ausländischer Zeichen. Ändern Sie diese Option, wenn ausländische Zeichen nicht korrekt angezeigt werden. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Vergleich und Zusammenführung</title>
+<para
+>Beim Vergleichen von Dateien versucht &kdiff3; zuerst, alle vollständig identischen Zeilen in den Quelldateien zu finden. Nur während diesem ersten Schritt können "weiße" Zeichen ignoriert werden. Der zweite Schritt vergleicht jede Zeile. In diesem Schritt werden "weiße" Zeichen nicht ignoriert. Auch beim Zusammenführen werden "weiße" Zeichen nicht ignoriert. </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Wagenrücklaufzeichen anzeigen:</emphasis
+></term
+><listitem
+><para
+>Manche Editoren (auf manchen Systemen) speichern ein Wagenrücklaufzeichen '\r' und einen Zeilenvorschub '\n' am Ende einer Zeile, andere wiederum speichern nur einen Zeilenvorschub '\n'. Üblicherweise ignoriert &kdiff3; das Wagenrücklaufzeichen, aber dann könnten Dateien mit unterschiedlichen Größen im Seite-an-Seite-Vergleich identisch aussehen, obwohl sie unterschiedlich sind. Wenn diese Option aktiviert ist, werden Wagenrücklaufzeichen sichtbar gemacht, jedoch wie ein "weißes" Zeichen behandelt. Während dem Zusammenführen muss diese Option deaktiviert sein. In der Voreinstellung ist dies deaktiviert.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Zahlen ignorieren:</emphasis
+></term
+><listitem
+><para
+>In der Voreinstellung ist diese Option deaktiviert. Im ersten Teil der Analyse werden Zahlen und zugehörige Zeichen ('0'-'9', '.', '-') ignoriert. Im Ergebnis werden die Unterschiede dennoch angezeigt, aber sie werden wie "weiße" Zeichen behandelt. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ignoriere C/C++ Kommentare:</emphasis
+></term
+><listitem
+><para
+>In der Voreinstellung ist diese Option deaktiviert. Änderungen in Kommentaren werden wie Änderungen in "weißen" Zeichen behandelt. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Groß-/Kleinschreibung ignorieren:</emphasis
+></term
+><listitem
+><para
+>In der Voreinstellung ist diese Option deaktiviert. Underschiede in einzelnen Zeichen (wie z. B. 'A' und 'a') werden wie Unterschiede in "weißen" Zeichen behandelt. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Vorverarbeitungsbefehl:</emphasis
+></term
+><listitem
+><para
+>Siehe <link linkend="preprocessors"
+>nächster Abschnitt</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Vorverarbeitungsbefehl nur für Zeilenabgleich:</emphasis
+></term
+><listitem
+><para
+>Siehe <link linkend="preprocessors"
+>nächster Abschnitt</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Aufwändig suchen (langsamer):</emphasis
+></term
+><listitem
+><para
+>Intensiv nach noch kleineren Unterschieden suchen. Die Option ist in der Voreinstellung aktiviert. Sie ist effektiv bei komplizierten und großen Dateien, aber langsam bei sehr großen Dateien. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Automatisch-Weiterspringen-Verzögerung (ms):</emphasis
+></term
+><listitem
+><para
+>Im Automatisch-Weiterspringen-Modus bestimmt diese Einstellung, wie lange das Ergebnis der Auswahl angezeigt wird, bevor zum nächsten ungelösten Konflikt weitergesprungen wird. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>"Weiße" Zeichen Autoauswahl bei 2/3 Dateien:</emphasis
+></term
+><listitem
+><para
+>Löst automatische alle Konflikte in "weißen" Zeichen indem die gewählte Datei als Quelle benutzt wird. (Voreingestellt ist manuelle Auswahl.) Das ist nützlich, wenn "weiße" Zeichen in vielen Dateien weniger wichtig sind. Wenn Sie dies nur von Zeit zu Zeit benötigen, dann nutzen Sie besser die Funktionen "Wähle A/B/C für alle ungelösten "weißen" Konflikte" aus dem Zusammenführen-Menü. Beachten Sie, dass die Automatische Auswahl auch Konflikte in Zahlen oder Kommentaren betrifft, wenn die Optionen "Zahlen ignorieren" oder "Ignoriere C/C++-Kommentare" aktiviert sind. </para
+></listitem
+></varlistentry>
+</variablelist>
+
+</sect2>
+
+<sect2
+><title
+>Verzeichnis-Zusammenführung</title>
+<para
+>Diese Optionen werden im Kapitel zum Scannen von Ordnern und Durchführen einer Zusammenführung behandelt. Schauen Sie für Details unter <link linkend="dirmergeoptions"
+>Dokumentation zum Verzeichnis-Vergleich und Zusammenführung</link
+> nach. </para
+><para
+>Es gibt hier dennoch eine Option die auch beim Speichern von einzelnen Dateien relevant ist: </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Sicherungskopie erstellen (.orig):</emphasis
+></term
+><listitem
+><para
+>Wenn eine Datei gespeichert wird und bereits eine ältere Version existiert, dann wird der Originalversion das Suffix ".orig" angehängt. Wenn bereits eine solche Backupdatei mit dem Suffix ".orig" existiert, wird diese ohne weitere Sicherung gelöscht. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Regional- und Spracheinstellungen</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Sprache:</emphasis
+></term
+><listitem
+><para
+>Passt die Sprache der Benutzeroberfläche an. Das Ändern dieser Option betrifft nicht das aktuell laufende Programm. Sie müssen &kdiff3; beenden und neu starten, damit die Änderung aktiv wird. (Diese Option ist in der KDE-Version von &kdiff3; nicht verfügbar, weil die Sprache dort global über das Kontrollzentrum eingestellt wird.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Die gleiche Kodierung für alles verwenden:</emphasis
+></term
+><listitem
+><para
+>Die folgenden Kodierungseinstellungen können für jeden Eintrag separat eingestellt werden. Wenn man diese Option aktiviert, wird für alle Einträge die obere Einstellung verwendet. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Lokale kodierung:</emphasis
+></term
+><listitem
+><para
+>Über den Auswahlfeldern für die Kodierung erscheint ein kurzer Hinweis, was die lokale Kodierung ist. (Dies kann hier nicht geändert werden und hat für Sie rein informellen Charakter.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Datei-Kodierung für A/B/C:</emphasis
+></term
+><listitem
+><para
+>Passen Sie die Datei-Kodierung für Quelldateien an. Dies beeinflusst, wie Sonderzeichen behandelt und interpretiertwerden. Da die Kodierung für jede Datei einzeln einstellbar ist, können selbst Dateien mit unterschiedlicher Kodierung verglichen und zusammengeführt werden. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Datei-Kodierung für die Zusammenführen-Ausgaben und zum Speichern:</emphasis
+></term
+><listitem
+><para
+>Wenn Sie eine Datei bearbeitet haben, können Sie hier festlegen, welche Kodierung zum Speichern verwendet werden soll. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Datei-Kodierung für Preprozessor-Dateien:</emphasis
+></term
+><listitem
+><para
+>Wenn Sie Vorverarbeitungsbefehle definieren, könnten sie eventuell nicht mit Ihrem Codec funktionieren. (Z. B. könnten Ihre Dateien 16-Bit Unicode sein, aber der Vorverarbeitungsbefehl kann nur mit 8-Bit ASCII umgehen.) Mit dieser Option kann man die Kodierung der Ausgabe von Vorverarbeitungsbefehelen festlegen. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Rechts-nach-Links-Sprache:</emphasis
+></term
+><listitem
+><para
+>Einige Sprachen werden von Rechts nach Links geschrieben. Wenn diese Option aktiviert ist, zeigt &kdiff3; den Text in Vergleichs- und Zusammenführen-Fenstern von Rechts nach Links an. Wenn Sie &kdiff3; mit der Option "--reverse" starten, wird das gesamte Layout der Programmoberfläche von Rechts nach Links angezeigt. (Dies ist eine Funktion von Qt.) Diese Dokumentation wurde unter der Annahme geschrieben, dass "Rechts-nach-Links Sprache" und umgedrehtes Layout abgeschaltet sind. Wenn Sie diese Optionen verwenden, müssen Sie also Referenzen auf "Rechts" und "Links" entsprechend umkehren. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
+>Verschiedenes</title>
+<para
+>(Diese Optionen und Aktionen sind in den Menüs oder den Werkzeugleisten zu finden.)</para>
+<variablelist>
+  <varlistentry
+><term
+><emphasis
+>Zeige Zeilennummern:</emphasis
+></term
+><listitem
+><para
+>Sie können wählen, ob in den Quelldateien die Zeilennummern angezeigt werden sollen.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Zeige Leerzeichen und Tabulator-Zeichen in Unterschieden:</emphasis
+></term
+><listitem
+><para
+>Manchmal sind sichtbare Leerzeichen und Tabulatoren störend. Sie können die Anzeige dieser Zeichen abschalten.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Zeige "weiße" Zeichen:</emphasis
+></term
+><listitem
+><para
+>Schalten Sie dies ab, um Hervorhebungen von Änderungen in "weißen" Zeichen in den Text- oder Übersichtsspalten zu unterdrücken. (Hinweis: Dies gilt auch für Änderungen in Zahlen oder Kommentaren, wenn die Optionen "Zahlen ignorieren" oder "Ignoriere C/C++-Kommentare" aktiviert sind.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Übersichts-Optionen:</emphasis
+></term
+><listitem
+><para
+>Dieses Auswahl ist nur verfügbar, wenn Sie drei Dateien vergleichen. Im normalen Modus werden alle Unterschiede in einer farblich kodierten Übersichts-Spalte angezeigt. Aber manchmal möchten Sie vielleicht nur die Unterschiede zwischen zwei von drei Dateien sehen. Nach Auswahl von "A &lt;-&gt; B", "A &lt;-&gt; C" oder "B &lt;-&gt; C" wird neben der normalen noch eine zweite Übersichts-Spalte mit den benötigten Informationen angezeigt. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Zeilenumbruch in Diff-Fenstern:</emphasis
+></term
+><listitem
+><para
+>Aktiviert den Zeilenumbruch in Diff-Fenstern, wenn die Länge einer Zeile die Breite des Fensters überschreitet. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Zeige Fenster A/B/C:</emphasis
+></term
+><listitem
+><para
+>Manchmal möchte man den verfügbaren Platz auf dem Bildschirm lieber für lange Zeilen benutzen. Verstecken Sie einfach die weniger wichtigen Fenster. (Diese Option befindet sich im Fenster-Menü.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Ausrichtung der Fensterteilung wechseln:</emphasis
+></term
+><listitem
+><para
+>Ordnet die Vergleichfenster nebeneinander oder übereinander an. Dies kann auch zum Anzeigen von langen Zeilen nützlich sein. (Diese Option befindet sich im Fenster-Menü.) </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Aktuelle Datei zusammenführen:</emphasis
+></term
+><listitem
+><para
+>Manchmal betrachten Sie die Unterschiede und entscheiden sich dann unvermittelt, die Dateien zusammenzuführen. <inlinemediaobject
+><imageobject
+><imagedata fileref="merge_current.png" format="PNG"/></imageobject
+></inlinemediaobject
+>"Aktuelle Datei zusammenführen" im Zusammenführen-Menü funktioniert auch dann, wenn Sie nur zwei Dateien vergleichen. Ein einfacher Klick startet die Zusammenführung und benutzt den Dateinamen der letzten Quelldatei als voreingestellten Namen für die Ausgabedatei. (Wenn diese Funktion benutzt wird, um das Zusammenführen erneut zu starten, dann wird der Name der zuletzt benutzten Ausgabedatei beibehalten.)</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="shortcuts"
+><title
+>Kurzbefehle festlegen</title>
+<para
+>Zur Zeit unterstützt nur die KDE-Version benutzerdefinierbare Kurzbefehle (Menü Einstellungen->Kurzbefehle festlegen...) </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Vorverarbeitungsbefehle:</title>
+<para
+>KDiff3 unterstützt zwei Vorverarbeitungsbefehle. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Vorverarbeitungsbefehl:</emphasis
+></term
+><listitem
+><para
+>Beim Lesen einer Datei wird sie zuerst diesem externen Kommando übergeben. In &kdiff3; wird dann die Ausgabe des Kommandos sichtbar, und nicht die Datei selbst. Sie können Ihren eigenen Präprozessor schreiben, der genau Ihren Ansprüchen entspricht. Sie können diese Funktion z. B. zum herausschneiden störender Teile oder zum korrigieren der Einrückung verwenden. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Vorverarbeitungsbefehl nur für Zeilenabgleich:</emphasis
+></term
+><listitem
+><para
+>Beim Lesen einer Datei wird sie zuerst diesem externen Kommando übergeben. Wenn auch ein normaler Vorverarbeitungsbefehl angegeben wurde (siehe oben), dann ist die Ausgabe des Befehls die Eingabe dieses Vorverarbeitungsbefehls. Die Ausgabe des Kommandos wird nur beim Zeilenabgleich verwendet. Sie können Ihren eigenen Präprozessor schreiben, der genau Ihren Ansprüchen entspricht. Jede Eingabe-Zeile muss eine zugehörige Ausgabe-Zeile haben. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>Der Gedanke dahinter ist, dem Anwender mehr Flexibilität beim Einrichten der Diff-Ergebnisse zu ermöglichen. Doch dafür wird ein externes Programm benötigt, und die meisten Anwender möchten das nicht selbst programmieren. Die Gute Nachricht ist allerdings, dass in dem meisten Fällen <command
+>sed</command
+> oder <command
+>perl</command
+> vollkommen ausreichen. </para>
+<para
+>Beispiel: Ein einfacher Testfall. Wie nehmen eine Datei a.txt (6 Zeilen):<screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> Und eine Datei b.txt (3 Zeilen): <screen>
+      cg
+      dg
+      eg
+</screen
+>  Ohne Preprozessor würden die folgenden Zeilen nebeneinander stehen: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Dies ist allerdings nicht das gewünschte Ergebnis, weil der erste Buchstabe die interessante Information darstellt. Um den Suchalgorythmus beim Abgleich zu unterstützen, ignorieren wir den zweiten Buchstaben. Dazu kann folgender Zeilen-Preprozessor verwendet werden, der "g" durch "a" ersetzt: <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Mit diesem Kommando würde das Ergebnis so aussehen: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+>  Programmintern "sieht" der Vergleichsalgorythmus die Dateien erst nach dem Durchlauf des Zeilen-Preprozessors, auf dem Bildschirm jedoch erscheinen die Dateien unverändert. (Der normale Preprozessor würde auch die Daten auf dem Bildschirm ändern.) </para>
+
+<sect2 id="sedbasics"
+><title
+><command
+>sed</command
+>-Grundlagen</title>
+<para
+>Dieser Abschnitt führt Sie nur in einige sehr grundlegende Funktionen von <command
+>sed</command
+> ein. Weiterführende Informationen finden Sie unter <ulink url="info:/sed"
+>info:/sed</ulink
+> oder <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Eine vorkompilierte Version für Windows finden Sie unter <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Beachten Sie, dass die folgenden Beispiele voraussetzen, dass das Kommando <command
+>sed</command
+> sich in einem Ordner in der PATH-Variable befindet. Falls das nicht der Fall sein sollte, müssen Sie den vollständigen Pfad zu <command
+>sed</command
+> angeben. Außerdem nutzen die Beispiele einfache Hochkommas ('), die allerdings unter Windows nicht funktionieren. Unter Windows müssen Sie doppelte Hochkommas (") verwenden. </para>
+<para
+>In diesem Kontext wird nur das <command
+>sed</command
+>-Substitute-Kommando benutzt: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>ERSATZ</replaceable
+>/<replaceable
+>SCHALTER</replaceable
+>'
+</screen
+> Bevor Sie in KDiff3 ein neues Kommando benutzen, sollten Sie es zuerst in der Konsole testen. Hier kann der <command
+>echo</command
+>-Befehl sehr hilfreich sein. Beispiel: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Dieses Beispiel zeigt ein einfaches <command
+>sed</command
+>-Kommando, das das erste Vorkommen von "a" durch "o" ersetzt. Wenn Sie alle Vorkommen ersetzen möchten, müssen Sie den Schalter "g" benutzen: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Das "|"-Symbol ist das Pipe-Kommando, es übergibt die Ausgabe des ersten Kommandos an die Eingabe des folgenden Kommando. Wenn Sie Ihr <command
+>sed</command
+>-Kommando mit einer längeren Datei testen möchten, dann können Sie unter Unix <command
+>cat</command
+> und unter Window <command
+>type</command
+> dazu benutzen. <command
+>sed</command
+> wird die Ersetzung in jeder Zeile der Datei durchführen. <screen
+><command
+>cat</command
+> <replaceable
+>dateiname</replaceable
+> | <command
+>sed</command
+> <replaceable
+>optionen</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Beispielanwendungen von <command
+>sed</command
+> in KDiff3</title>
+<sect3
+><title
+>Ignorieren weiterer Kommentartypen</title>
+<para
+>Zur Zeit unterstützt KDiff3 nur C/C++-Kommentare. Mit Hilfe des Vorverarbeitungsbefehl nur für Zeilenabgleich können Sie auf andere Kommentar-Arten unterstützen. Dafür wandeln Sie diese in C/C++-Kommentare um. Beispiel: Um Kommentare zu ignorieren, die mit "#" beginnen, würden Sie diese zu "//" umwandeln. Außerdem muss natürlich die Option "C/C++-Kommentare ignorieren" aktiviert sein damit dies etwas bewirkt. Ein passendes Kommando für den Vorverarbeitungsbefehl nur für Zeilenabgleich wäre zum Beispiel: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Weil das Zeichen "/" für <command
+>sed</command
+> ein Sonderzeichen ist, muss jedem "/" ein "\" vorangestellt werden. Manchmal wird dies benötigt, um einem Sonderzeichen die besondere Bedeutung zu "entziehen". Außerdem sind die einfachen Anführungszeichen (') vor und hinter dem Ersetzungskommando wichtig, weil die Shell sonst versucht, einige der Zeichen wie '#', '$' oder '\' zu ersetzen bevor sie an <command
+>sed</command
+> weitergereicht werden. Unter Windows müssen Sie doppelte Anführungszeichen verwenden ("). Windows ersetzt Zeichen wie '%' grundsätzlich, hier müssen Sie eventuell ein wenig experimentieren. </para>
+</sect3>
+<sect3
+><title
+>Diff ohne Beachtung der Groß-/ Kleinschreibung</title>
+<para
+>Verwenden Sie diesen Vorverarbeitungsbefehl für Zeilenabgleich um die Eingabe in Großbuchstaben umzuwandeln: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Das ".*" ist ein ergulärer Ausdruck der auf jede Zeichenkette passt und in diesem Zusammenhang daher alle Zeichen in einer Zeile erfasst. Die "\1" in der Ersetzungs-Zeichenkette bezieht sich auf den gefundenen Text im ersten Klammernpaar. Das "\U" wandelt den gefundenen Text in Großbuchstaben um. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorieren von Schlüsselwörtern aus Versionskontrolle-Systemen</title>
+<para
+>CVS und andere Versionskontrolle-Systeme verwenden einige Schlüsselwörter um automatisch erzeugte Zeichenketten einzufügen (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Alle folgen dem selben Muster "$SCHLÜSSELWORT erzeugter Text$". Nun wird also ein Vorverarbeitungsbefehl für Zeilenabgleich benötigt, der den automatisch erzeugten Text entfernt: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Das "\|" trennt die möglichen Schlüsselwörter. Sie können die Liste nach Bedarf ändern. Das "\" vor dem "$" ist nötig, weil "$" ein Sonderzeichen ist und "Ende der Zeile" bedeuten würde. </para>
+<para
+>Während Sie mit <command
+>sed</command
+> experimentieren, beginnen Sie vielleicht, es zu verstehen und vielleicht mögen Sie diese regulären Ausdrücke sogar. Sie sind sehr nützlich weil es viele Programme gibt, die sehr ähnliche Dinge unterstützen. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorieren von Zahlen</title>
+<para
+>Das Ignorieren von Zahlen ist eigentlich eine bereits eingebaute Funktion in KDiff3. Aber sie ist gut als Beispiel für einen weiteren Vorverarbeitungsbefehl für Zeilenabgleich geeignet. <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Jedes Zeichen zwischen '[' und ']' ist ein Treffer, und jeder Treffer wird durch nichts ersetzt, also quasi gelöscht. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorieren von bestimmten Spalten</title>
+<para
+>Manchmal ist ein Text nach strengen Regeln formatiert und enthält Spalten, die Sie grundsätzlich ignorieren möchten, und andere Spalten, die Sie für die Analyse heranziehen möchten. Im folgenden Beispiel werden die ersten fünf Spalten (Zeichen) ignoriert, dann 10 Spalten beibehalten, dann wieder fünf Spalten ignoriert und der Rest der Zeile wird beibehalten. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Jeder Punkt '.' passt auf genau ein Zeichen. Die "\1" und "\2" in der Ersetzungs-Zeichenkette beziehen sich auf den gefundenen Text im ersten und zweiten Klammernpaar und markieren so den beizubehaltenden Text. </para>
+</sect3>
+
+<sect3
+><title
+>Mehrere Ersetzungen kombinieren</title>
+<para
+>Manchmal möchten Sie vielleicht mehrere Ersetzungen auf einmal durchführen. Dann können Sie das Semikolon ';' benutzen, um die Ersetzungen voneinander zu trennen. Beispiel: <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+><command
+>perl</command
+> statt <command
+>sed</command
+> benutzen</title>
+<para
+>Statt <command
+>sed</command
+> können Sie auch etwas anderes wie z. B. <command
+>perl</command
+> verwenden. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>ERSETZUNG</replaceable
+>/<replaceable
+>SCHALTER</replaceable
+>'
+</screen
+> Allerdings sind bei <command
+>perl</command
+> einige Details anders. Wo <command
+>sed</command
+> "\(" und "\)" benötigt, braucht <command
+>perl</command
+> nur noch "(" und ")" ohne das vorangestellte '\'. Beispiel: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Reihenfolge der Ausführung von Preprozessoren</title>
+<para
+>Die Daten werden durch interne und externe Preprozessoren in dieser Reihenfolge durchgeschleust: </para>
+<itemizedlist>
+<listitem
+><para
+>Normaler Preprozessor,</para
+></listitem>
+<listitem
+><para
+>Vorverarbeitungsbefehl für Zeilenabgleich,</para
+></listitem>
+<listitem
+><para
+>Groß-/Kleinschreibung ignorieren (Umwandlung in Großbuchstaben),</para
+></listitem>
+<listitem
+><para
+>Erkennung von C/C++ Kommentaren,</para
+></listitem>
+<listitem
+><para
+>Zahlen ignorieren,</para
+></listitem>
+<listitem
+><para
+>"weiße" Zeichen ignorieren</para
+></listitem>
+</itemizedlist>
+<para
+>Die Daten nach dem normalen Preprozessor werden für die Anzeige und zum Zusammenführen beibehalten. Die weiteren Operationen verändern nur die Daten, die der Zeilenabgleich-Algorythmus "sieht". </para
+><para
+>Beachten Sie: In seltenen Fällen wenn Sie einen normalen Preprozessor verwenden, sieht der Zeilenabgleich-Preprozessor die Ausgabe des normalen Preprozessors als Eingabe. </para>
+</sect2>
+
+<sect2
+><title
+>Warnung</title>
+<para
+>Die Preprozessor-Kommandos sind sehr nützlich, aber wie bei jeder Funktion, die Text verändert oder Unterschiede versteckt, können Sie versehentlich bestimmte Unterschiede nicht bemerken und im schlimmsten Fall wichtige Daten zerstören. </para
+><para
+>Beim Zusammenführen werden Sie daher von KDiff3 gewarnt, falls ein Preprozessor-Kommando benutzt wurd. Sie werden gefragt, ob dieser deaktiviert werden soll oder nicht. Sie werden allerdings nicht gewarnt, wenn ein Vorverarbeitungsbefehl für den Zeilenabgleich benutzt wird. Das Zusammenführen ist nicht abgeschlossen bevor nicht alle Konflikte aufgelöst wurden. Falls Sie "Weiße" Zeichen anzeigen deaktiviert haben, dann sind die vom Zeilenabgleich-Preprozessor entfernten Unterschiede ebenfalls unsichtbar. Wenn der Knopf "Speichern" während dem Zusammenführen deaktiviert bleibt (durch nicht aufgelöste Konflikte), dann aktivieren Sie "weiße" Zeichen anzeigen. Falls diese weniger wichtigen Unterschiede nicht zusammengeführt werden sollen, können Sie auch "Wähle [A|B|C] für alle ungelöste Konflikte" im Menü Zusammenführen-Menü auswählen. </para>
+</sect2>
+</sect1>
+</chapter>
+
+
+<chapter id="dirmerge"
+><title
+>Mit &kdiff3; Ordner Vergleichen und Zusammenführen</title>
+<sect1 id="dirmergeintro"
+><title
+>Einführung</title>
+<para
+>Oftmals müssen Programmierer in einem Ordner viele Dateien bearbeiten. Aus diesem Grund können Sie mit &kdiff3; komplette Ordner rekursiv vergleichen und zusammenführen. </para
+><para
+>Auch wenn das Vergleichen und Zusammenführen von ganzen Ordnern recht naheliegend und einleuchtend erscheint, gibt es einige Details, die Sie wissen sollten. Der wichtigste Punkt ist natürlich, dass sich jeder Durchlauf dieser Funktion gleich auf viele Dateien auswirkt. Wenn Sie keine Sicherungskopie der Originaldaten haben, könnte es schwer oder gar unmöglich werden, den Originalstand wiederherzustellen. Bevor Sie das Zusammenführen starten, sollten Sie also sicherstellen, dass Ihre Daten gesichert sind und das Sie alles rückgängig machen können. Ob Sie ein Archiv erstellen oder ein System zur Versionskontrolle benutzen, ist Ihre Entscheidung; selbst erfahrene Programmierer und Integratoren benötigen hin und wieder die alten Quelltexte. Bitte beachten Sie auch, dass selbst ich (der Autor von &kdiff3;) keine Garantie geben kann, dass das Programm fehlerlos ist. Entsprechend der GNU-GPL gibt es für dieses Programm KEINE GARANTIE. Also denken Sie daran: </para>
+<blockquote
+><para>
+   <emphasis
+>Irren ist menschlich, aber um etwas wirklich durcheinander zu bringen braucht man schon einen Computer ;-)</emphasis>
+</para
+></blockquote>
+<para
+>All diese Dinge kann &kdiff3; für Sie erledigen: &kdiff3;... </para>
+<itemizedlist>
+     <listitem
+><para
+>... liest und vergleicht rekursiv zwei oder drei Ordner,</para
+></listitem>
+     <listitem
+><para
+>... behandelt symbolische Links besonders vorsichtig,</para
+></listitem>
+     <listitem
+><para
+>... lässt Sie Ihre Dateien per Mausklick durchsuchen,</para
+></listitem>
+     <listitem
+><para
+>... macht für jedes Objekt einen Vorschlag zum Zusammenführen; Sie können den Vorschlag vor dem Start anpassen,</para
+></listitem>
+     <listitem
+><para
+>... kann das Zusammenführen simulieren und zeigt die simulierten Änderungen an, ohne sie wirklich durchzuführen,</para
+></listitem>
+     <listitem
+><para
+>... führt letztendlich die Zusammenführung durch und lässt Sie (wenn nötig) eingreifen,</para
+></listitem>
+     <listitem
+><para
+>... führt ausgewählte Aktionen entweder mit allen (F7-Taste), oder nur mit den ausgewählten Objekten (F6-Taste) aus,</para
+></listitem>
+     <listitem
+><para
+>... setzt das Zusammenführen nach einem manuellen Eingriff fort (F7-Taste),</para
+></listitem>
+     <listitem
+><para
+>... erzeugt optional Sicherungskopien mit der Erweiterung".orig",</para
+></listitem>
+     <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect1>
+
+<sect1 id="startingdirmerge"
+><title
+>Ordnervergleich oder -zusammenführung starten</title>
+<para
+>Dies ist dem Vergleichen und Zusammenführen von einzelnen Dateien sehr ähnlich. Sie müssen nur Ordner auf der Kommandozeile oder im "Datei öffnen"-Dialog angeben. </para>
+<sect2
+><title
+>Vergleichen/Zusammenführen von zwei Ordnern: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2</replaceable
+> -o <replaceable
+>Zielordner</replaceable
+>
+</screen>
+<para
+>Wenn kein Zielordner angegeben wurde, benutzt &kdiff3; <replaceable
+>Ordner2</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Vergleichen/Zusammenführen von drei Ordnern: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2 Ordner3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>Ordner1 Ordner2 Ordner3</replaceable
+> -o <replaceable
+>Zielordner</replaceable
+>
+</screen>
+<para
+>Wenn drei Ordner zusammengeführt werden, dann wird <replaceable
+>Ordner1</replaceable
+> als Basis benutzt. Wenn kein Zielordner angegeben wurde, verwendet &kdiff3; <replaceable
+>Ordner3</replaceable
+> als Zielordner. </para>
+
+<para
+>Beachten Sie, dass nur der Vergleich von Ordnern automatisch startet, nicht das Zusammenführen. Um das Zusammenführen zu starten, müssen Sie den entsprechenden Menüeintrag auswählen oder die F7-Taste drücken. (Weitere Details folgen.) </para>
+</sect2>
+</sect1>
+
+<sect1 id="dirmergevisible"
+><title
+>Sichtbare Informationen</title>
+<para
+>Während dem Einlesen der Ordner informiert Sie ein kleines Nachrichtenfenster über den aktuellen Fortschritt. Wenn Sie das Scannen der Ordner abbrechen, werden nur die Dateien aufgelistet, die bis dahin verglichen wurden. </para
+><para
+>Wenn das Scannen der Ordner abgeschlossen ist, zeigt &kdiff3; ein Listenfenster mit den Ergebnissen auf der linken Seite, ... </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="dirbrowser.png" format="PNG"/></imageobject
+> <!--alt="Image of the directory browser."-->
+</mediaobject
+></screenshot>
+<para
+>... und den Details zu dem jeweils ausgewählten Objekt auf der rechten Seite: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="iteminfo.png" format="PNG"/></imageobject>
+   <!--alt="Image with information about the selected item."-->
+</mediaobject
+></screenshot>
+
+<sect2 id="name"
+><title
+>Die Spalte "Name"</title>
+<para
+>Jede Datei und jeder Ordner der während dem Scan gefunden wurde, wird hier in einem Baum dargestellt. Sie können ein Objekt mit einem einfachen Mausklick auswählen. </para
+><para
+>Die Ordnerstruktur wird normalerweise zusammengeklappt dargestellt. Sie können einen Ordner aufklappen, indem Sie auf das "+"/"-" klicken, oder auf das Objekt doppelklicken oder indem Sie die Pfeiltasten für links/rechts benutzen. Das "Verzeichnis"-Menü enthält zwei Funktionen "Alle Unterverzeichnisse einklappen" und "Alle Unterverzeichnisse aufklappen" mit denen Sie alle Ordner auf- bzw. zuklappen können. </para
+><para
+>Wenn Sie auf eine Datei doppelklicken, wird der Dateivergleich gestartet und es erscheint ein Vergleichsfenster. </para>
+<para
+>Das Symbol in der Spalte "Name" spiegelt den Dateityp im ersten Ordner ("A") wieder. Diese Typen sind möglich: </para>
+<itemizedlist>
+     <listitem
+><para
+>Normale Datei</para
+></listitem>
+     <listitem
+><para
+>Normaler Ordner (Ordner-Symbol)</para
+></listitem>
+     <listitem
+><para
+>Link auf eine Datei (Datei-Symbol mit einem Link-Pfeil)</para
+></listitem>
+     <listitem
+><para
+>Link auf einen Ordner (Ordner-Symbol mit einem Link-Pfeil)</para
+></listitem>
+</itemizedlist>
+<para
+>Wenn der Dateityp in den anderen Ordnern unterschiedlich ist, dann ist dies in den Spalten A/B/C und in dem Detailfenster zu dem ausgewählten Objekt sichtbar. In einem solchen Fall kann die Zusammenführ-Aktion nicht automatisch gewählt werden. Wenn das Zusammenführen gestartet wird, werden Sie über Probleme dieser Art nochmals informiert. </para>
+</sect2>
+
+<sect2 id="coloring"
+><title
+>Die Spalten A/B/C und das Farbschema</title>
+<para
+>Wie in dem obigen Bild zu sehen ist, werden in den Spalten A/B/C die Farben Rot, Grün, Gelb und Schwarz verwendet. </para>
+<itemizedlist>
+     <listitem
+><para
+>Schwarz: Dieser Eintrag existiert nicht in diesem Ordner.</para
+></listitem>
+     <listitem
+><para
+>Grün: Neuester Eintrag.</para
+></listitem>
+     <listitem
+><para
+>Gelb: Älter als grün, neuer als rot.</para
+></listitem>
+     <listitem
+><para
+>Rot: Ältester Eintrag.</para
+></listitem>
+</itemizedlist>
+<para
+>Bei identischen Einträgen ist die Farbe allerdings auch identisch, auch wenn das Alter der Einträge unterschiedlich ist. </para
+><para
+>Ordner werden als identisch betrachtet, wenn ihr gesamter Inhalt identisch ist. Dann haben auch Ordner die gleiche Farbe. Bei Ordnern ist das Alter unerheblich für seine Farbe. </para
+><para
+>Die Idee zu diesem Farbschema basiert auf <ulink url="http://samba.org/cgi-bin/cvsweb/dirdiff"
+>dirdiff</ulink
+>. Die Farben spiegeln die Farben eines Blattes wieder, welches erst grün ist, dann gelb wird und später, wenn es alt ist, rot wird. </para>
+
+</sect2
+><sect2 id="operation"
+><title
+>Die Aktions-Spalte</title>
+<para
+>Nach dem Vergleichen der Ordner schlägt &kdiff3; eine Zusammenführ-Aktion vor. Dieser Vorschlag wird in der Aktions-Spalte angezeigt. Sie können den Vorschlag ändern, indem Sie auf den entsprechenden Eintrag klicken. Daraufhin erscheint ein kleines Menü, in dem Sie eine Aktion auswählen können. (Die häufigsten Aktionen können Sie auch mit der Tastatur auswählen. Strg+1/2/3/4/Entf wählt entsprechend A/B/C/Zusammenführen/Löschen aus.) Die Aktion wird dann während dem Zusammenführen ausgeführt. Welche Aktionen möglich sind, hängt von dem Eintrag und dem aktuellen Zusammenführ-Modus ab. Mögliche Zusammenführ-Modi sind </para>
+<itemizedlist>
+     <listitem
+><para
+>Drei-Ordner-Zusammenführen ("A" wird als die ältere Basis für die beiden anderen herangezogen).</para
+></listitem>
+     <listitem
+><para
+>Zwei-Ordner-Zusammenführen.</para
+></listitem>
+     <listitem
+><para
+>Zwei-Ordner-Synchronisieren-Modus (aktivieren Sie diesen Modus mit der Option "Verzeichnisse Synchronisieren").</para
+></listitem>
+</itemizedlist>
+<para
+>Beim Zusammenführen von drei Ordnern sind diese Aktions-Vorschläge möglich: Wenn für ein Objekt... </para>
+<itemizedlist>
+     <listitem
+><para
+>... alle drei Ordner identisch sind: Kopieren von C</para
+></listitem>
+     <listitem
+><para
+>... A und C identisch sind, aber nicht B: Kopieren von B (oder falls B nicht existiert, löschen des Ziels, falls es existiert)</para
+></listitem>
+     <listitem
+><para
+>... A und B identisch sind, aber nicht C: Kopieren von C (oder falls C nicht existiert, löschen des Ziels, falls es existiert)</para
+></listitem>
+     <listitem
+><para
+>... B und C identisch sind, aber nicht A: Kopieren von A (oder falls A nicht existiert, löschen des Ziels, falls es existiert)</para
+></listitem>
+     <listitem
+><para
+>... nur A existiert: Löschen des Ziels (falls es existiert)</para
+></listitem>
+     <listitem
+><para
+>... nur B existiert: Kopieren von B</para
+></listitem>
+     <listitem
+><para
+>... nur C existiert: Kopieren von C</para
+></listitem>
+     <listitem
+><para
+>... A, B und C nicht identisch sind: Zusammenführen</para
+></listitem>
+     <listitem
+><para
+>... A, B und C nicht den gleichen Dateityp haben (z. B. wenn A ein Ordner und B eine Datei ist): "Fehler: Widersprüchliche Dateitypen". Solange solche fehlerhaften Objekte existieren, kann das Zusammenführen nicht gestartet werden.</para
+></listitem>
+</itemizedlist>
+<para
+>Beim Zusammenführen von zwei Ordnern sind diese Aktions-Vorschläge möglich: Wenn für ein Objekt... </para>
+<itemizedlist>
+     <listitem
+><para
+>... beide Ordner gleich sind: Kopieren von B</para
+></listitem>
+     <listitem
+><para
+>... A existiert, aber nicht B: Kopieren von A</para
+></listitem>
+     <listitem
+><para
+>... B existiert, aber nicht A: Kopieren von B</para
+></listitem>
+     <listitem
+><para
+>... A und B existieren aber nicht identisch sind: Zusammenführen</para
+></listitem>
+     <listitem
+><para
+>... A und B nicht den gleichen Dateityp haben (z. B. wenn A ein Ordner und B eine Datei ist): "Fehler: Widersprüchliche Dateitypen". Solange solche fehlerhaften Objekte existieren, kann das Zusammenführen nicht gestartet werden.</para
+></listitem>
+</itemizedlist>
+<para
+>Der Modus zum Synchronisieren ist aktiv, wenn nur zwei Ordner und kein expliziter Zielordner angegeben wurden und wenn die Option "Verzeichnisse synchronisieren" aktiv ist. Dann wählt &kdiff3; die nötige Aktion aus, damit nachher beide Ordner identisch sind. Wenn für einen Eintrag... </para>
+<itemizedlist>
+     <listitem
+><para
+>... beide Ordner identisch sind: Es wird nichts unternommen.</para
+></listitem>
+     <listitem
+><para
+>... A existiert, aber nicht B: Kopieren von A nach B</para
+></listitem>
+     <listitem
+><para
+>... B existiert, aber nicht A: Kopieren von B nach A</para
+></listitem>
+     <listitem
+><para
+>... A und B existieren, aber nicht identisch sind: Zusammenführen und das Ergebnis in beiden Ordnern speichern. (Der Anwender sieht als sichtbaren Dateinamen für die Ausgabedatei nur B; direkt nach dem Zusammenführen kopiert &kdiff3; B nach A.)</para
+></listitem>
+     <listitem
+><para
+>... A und B nicht den gleichen Dateityp haben (z. B. wenn A ein Ordner und B eine Datei ist): "Fehler: Widersprüchliche Dateitypen". Solange solche fehlerhaften Objekte existieren, kann das Zusammenführen nicht gestartet werden.</para
+></listitem>
+</itemizedlist>
+<para
+>Wenn zwei Ordner zusammengeführt werden und die Option "Neuere Datei statt Zusammenführung auswählen (unsicher)" aktiviert ist, dann untersucht &kdiff3; das Datum der Dateien und schlägt die neuere Datei zum Kopieren vor. Wenn die Dateien unterschiedlich sind, aber das gleiche Datum aufweisen, dann erscheint eine Fehlermeldung "Fehler: Dateien sind unterschiedlich, aber das Datum ist identisch.". Solange solche Fehler nicht beseitigt sind, kann das Zusammenführen der Ordner nicht gestartet werden. </para>
+</sect2>
+
+<sect2 id="status"
+><title
+>Die Status-Spalte</title>
+<para
+>Während dem Zusammenführen wird eine Datei nach der anderen abgearbeitet. Sie Status-Spalte zeigt "Fertig" an, wenn das Zusammenführen erfolgreich war, und entsprechend andere Meldungen, wenn etwas unerwartetes auftrat. Wenn das Zusammenführen abgeschlossen ist, sollten Sie eine letzte Überprüfung vornehmen und nachsehen, ob der Status überall in Ordnung ist. </para>
+</sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Die Statistik-Spalte</title>
+<para
+>Wenn im Einrichtungsdialog die Dateivergleichsmethode "Vollständige Analyse" gewählt ist, wird KDiff3 weitere Spalten anzeigen. Diese enthalten die Anzahl ungelöster, gelöster, nicht "weißer" und "weißer" Konflikte. (Die Spalte für gelöste Konflikte wird nur angezeigt, wenn drei Ordner verglichen oder zusammengeführt werden.) </para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="dothemerge"
+><title
+>Eine Zusammenführung durchführen</title>
+<para
+>Sie können entweder den gerade ausgewählten Eintrag (Datei oder Odner) zusammenführen, oder alle Einträge auf einmal. Wenn Sie alle Zusammenführ-Aktionen ausgewählt haben (auch in allen Unterordnern), können Sie das Zusammenführen starten. </para
+><para
+>Beachten Sie bitte: Wenn Sie keinen Zielordner angegeben haben, dann wird im Drei-Ordner-Zusammenführen-Modus "C" als Ziel benutzt, beim Zwei-Ordner-Zusammenführen wird "B" als Ziel gewählt und beim Synchronisieren wird "A" und/oder "B" als Ziel verwendet. </para
+><para
+>Wenn Sie einen Zielordner ausgewählt haben, prüfen Sie bitte nachher, ob alle Einträge die im Zielordner sein sollten, auch in der Ordnerstruktur angezeigt werden. Es gibt einige Optionen durch die bestimmte Einträge übersprungen werden könnten. Überprüfen Sie diese Optionen um unliebsame Überraschungen zu vermeiden: </para>
+<itemizedlist>
+     <listitem
+><para
+>"Rekursive Verzeichnisse": Wenn diese Option deaktiviert ist, werden keine Dateien in Unterordnern bearbeitet.</para
+></listitem>
+     <listitem
+><para
+>"Datei Muster"/"Datei Anti-Muster": Ein-/ und Ausschließen auf das Muster passender Einträge</para
+></listitem>
+     <listitem
+><para
+>"Finde versteckte Dateien und Verzeichnisse"</para
+></listitem>
+     <listitem
+><para
+>"Nur Unterschiede anzeigen": Dateien die in allen Ordnern identisch sind erscheinen nicht in der Ordnerstruktur, und folglich auch nicht im Zielordner.</para
+></listitem>
+</itemizedlist>
+<para
+>(In der aktuellen Programmversion müssen Sie nach Änderungen an diesen Optionen den Ordner mit der Funktion "Aktualisieren" neu einlesen.) </para
+><para
+>Wenn Sie soweit zufrieden sind ist der Rest einfach. </para
+><para
+>Um alle Einträge zusammenzuführen: Wählen Sie "Verzeichniszusammenführung starten/fortsetzen" im "Verzeichnis"-Menü oder drücken Sie F7 (das Tastenkürzel). Um nur den aktuellen Eintrag zusammenzuführen: Wählen Sie "Aktion des aktuellen Elements ausführen" oder drücken Sie F6. </para
+><para
+>Wenn durch widersprüchliche Dateitypen immer noch ungültige Zusammenführen-Aktionen existieren, erscheint eine Meldung die auf die fehlerhaften Elemente hinweist. Sie können für sie dann eine gültige Aktion auswählen. </para
+><para
+>Wenn Sie alle Einträge zusammenführen, erscheint ein Dialogfenster mit den Optionen "Durchführen", "Simulieren" und "Abbrechen". </para>
+<itemizedlist>
+     <listitem
+><para
+>Wählen Sie "Simulieren" wenn Sie erst sehen möchten was passieren würde, ohne das wirklich Änderungen vorgenommen werden. Sie erhalten dann eine ausführliche Liste aller Aktionen.</para
+></listitem>
+     <listitem
+><para
+>Ansonsten klicken Sie auf "Durchführen" um das Zusammenführen wirklich zu starten.</para
+></listitem>
+</itemizedlist>
+<para
+>&kdiff3; führt dann bestimmte Aktionen mit allen Einträgen durch. Wenn ein manueller Eingriff nötig ist (zusammenführen einer einzelnen Datei), dann öffnet sich ein Zusammenführen-Fenster (<link linkend="dirmergebigscreenshot"
+>beachten Sie das Bildschirmphoto</link
+>). </para
+><para
+>Wenn Sie mit einer Datei fertig sind, wählen Sie erneut "Verzeichniszusammenführung starten/fortsetzen" oder drücken Sie F7. Wenn Sie noch nicht gespeichert haben, erscheint ein entsprechender Dialog. Dann führt &kdiff3; seine Arbeit mit dem nächsten Eintrag fort. </para
+><para
+>Wenn &kdiff3; auf einen Fehler stösst, erscheint eine Nachricht und ausführliche Status-Informationen. Am Schluss der Liste sehen Sie einige Fehlermeldungen, die Ihnen helfen sollen, die Ursache des Problems auszumachen. Wenn Sie das Zusammenführen fortfahren (F7-Taste), lässt &kdiff3; Ihnen die Wahl es erneut zu versuchen, oder den problematischen Eintrag zu überspringen. So haben Sie die Möglichkeit, eine andere Aktion für den Eintrag auszuwählen oder das Problem auf andere Weise zu lösen, bevor Sie mit dem Zusammenführen fortfahren. </para
+><para
+>&kdiff3; informiert Sie mit einem Info-Fenster wenn das Zusammenführen abgeschlossen ist. </para
+><para
+>Falls einige Einträge individuell zusammengeführt wurden, merkt sich &kdiff3; diese Einträge (in der aktuellen Sitzung) und führt sie beim späteren zusammenführen aller Einträge nicht nochmals zusammen. Selbst wenn hier das Zusammenführen übersprungen wurde oder nicht gespeichert wurde, werden diese Einträge als erledigt betrachtet. Nur wenn Sie die Zusammenführen-Aktion ändern, werden diese Einträge erneut zusammengeführt. </para>
+</sect1>
+
+<sect1 id="dirmergeoptions"
+><title
+>Optionen zum Vergleichen und Zusammenführen von Ordnern</title>
+<para
+>Das Einstellungen-Menü von &kdiff3; (Menü "Einstellungen"->"KDiff3 einrichten...") hat nun einen Abschnitt namens "Verzeichnis-Zusammenführung" mit diesen Optionen: </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Rekursive Verzeichnisse:</emphasis
+></term
+><listitem
+><para
+>Stellen Sie ein, ob Ordner rekursiv durchsucht werden sollen.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Datei Muster:</emphasis
+></term
+><listitem
+><para
+>Nur Dateien, die auf das angegebene Muster passen, werden im Elementbaum angezeigt. Es können mehrere Muster eingegeben werden. Trennen Sie die Muster mit einem Semikolon ";". Gültige Platzhalter: '*' und '?'. (z. B. "*.cpp;*.h"). Die Voreinstellung ist "*". Ordner müssen nicht diesem Muster entsprechen.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Datei Anti-Muster:</emphasis
+></term
+><listitem
+><para
+>Dateien und Ordner die diesem Muster entsprechen, werden nicht im Elementbaum angezeigt. Es kann mehr als ein Muster eingegeben werden, benutzen Sie das Semikolon ";" als Trennzeichen . Gültige Platzhalter: '*' und '?'. Voreinstellung ist "*.orig;*.o".</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>.cvsignore benutzen:</emphasis
+></term
+><listitem
+><para
+>Ignoriert Dateien, die auch von CVS ignoriert werden würden. Viele autmatisch erzeugte Dateien werden von CVS ignoriert. Der große Vorteil ist, dass dies Ordnerspezifisch mit einer ".cvsignore"-Datei eingestellt werden kann. (Schauen Sie unter <ulink url="info:/cvs/cvsignore"
+>info:/cvs/cvsignore</ulink
+>.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Finde versteckte Dateien und Verzeichnisse:</emphasis
+></term
+><listitem
+><para
+>In einigen Dateisystemen haben Dateien ein "Versteckt"-Attribut. In anderen Dateisystemen markiert ein vorangestellter Punkt "." eine Datei als versteckt. Diese Option lässt Sie entscheiden, ob diese Dateien im Elementbaum angezeigt werden sollen oder nicht. Diese Option ist in der Voreinstellung eingeschaltet.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Folge Datei-Verknüpfungen:</emphasis
+></term
+><listitem
+><para
+>Bei Links auf Dateien: Wenn die Option abgeschaltet ist, werden symbolische Verknüpfungen verglichen. Wenn die Option eingeschaltet ist, werden die Dateien verglichen, auf die die Links zeigen. Dies ist in der Voreinstellung deaktiviert.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Folge Verzeichnis-Verknüpfungen:</emphasis
+></term
+><listitem
+><para
+>Bei Links auf Ordner: Wenn die Option abgeschaltet ist, werden die symbolischen Links verglichen. Wenn die Option eingeschaltet ist, werden die Links wie normale Ordner behandelt und rekursiv durchsucht. (Beachten Sie, dass &kdiff3; nicht auf mögliche Rekursionen prüft. Ein Link auf einen Ordner der einen Link auf sich selbst enthält würde zu einer Endlosschleife führen und &kdiff3; stürzt ab.) Diese Option ist in der Voreinstellung abgeschaltet.</para
+></listitem
+></varlistentry
+>   
+   <varlistentry
+><term
+><emphasis
+>Nur Unterschiede anzeigen:</emphasis
+></term
+><listitem
+><para
+>Es werden nur Einträge angezeigt, die Unterschiede aufweisen. Das führt auch dazu, dass identische Dateien beim Zusammenführen nicht in den Zielordner kopiert werden. Falls der Zielordner diese Dateien nicht bereits enthält, fehlen sie nach dem Zusammenführen. (Das Verhalten wird in einer späteren Programmversion wahrscheinlich abgeändert.) Diese Option ist in der Voreinstellung abgeschaltet.</para
+></listitem
+></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Dateivergleichsmethode:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Binärvergleich:</emphasis
+></term
+><listitem
+><para
+>Dies ist die voreingestellte Vergleichsmethode. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Vollständige Analyse:</emphasis
+></term
+><listitem
+><para
+>Führt eine vollständige Analyse jeder Datei durch und zeigt die Statistik-Spalten an. (Die Anzahl gelöster, ungelöster, nicht-"weißer" und "weißer" Konflikte.) Die vollständige Analyse ist langsamer als eine einfache binäre Analyse, und wesentlich langsamer, wenn sie auf Dateien angewendet wird, die keinen Text enthalten. (Geben Sie ein entsprechendes Anti-Muster ein.) </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Vertraue dem Änderungsdatum (unsicher):</emphasis
+></term
+><listitem
+><para
+>Wenn Sie große Ordner über ein langsames Netzwerk vergleichen, geht es möglicherweise schneller, nur das Änderungsdatum und die Dateigröße zu vergleichen. Dieser Geschwindigkeitsvorteil kostet Sie allerdings ein gewisses Maß an Sicherheit. Bitte mit Vorsicht benutzen. Diese Option ist in der Voreinstellung abgschaltet.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Vertraue der Größe (unsicher):</emphasis
+></term
+><listitem
+><para
+>Ähnlich wie "Vertraue dem Änderungsdatum". Es findet kein echter Vergleich statt. Die Dateien werden als identisch betrachtet, wenn sie gleich groß sind. Das kann z. B. nützlich sein, wenn beim Kopieren das Änderungsdatum verlorengegangen ist. Bitte mit Vorsicht benutzen. Diese Option ist in der Voreinstellung abgschaltet.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><emphasis
+>Verzeichnisse synchronisieren:</emphasis
+></term
+><listitem
+><para
+>Aktiviert den "Synchronisieren"-Modus wenn zwei Ordner verglichen werden und kein Zielordner angegeben wurde. In diesem Modus werden die Vorschläge zum Zusammenführen so ausgewählt, dass nachher beide Ordner identisch sind. Auch die Ergebnisse vom Zusammenführen von Dateien werden in beiden Ordnern gespeichert. Diese Option ist in der Voreinstellung abgeschaltet.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Neuere Datei statt Zusammenführung auswählen (unsicher):</emphasis
+></term
+><listitem
+><para
+>Falls es Unterschiede gibt, wird statt dem Zusammenführen das Kopieren der neueren Datei als Aktion vorgeschlagen. (Dies wird als unsicher betrachtet, denn es wird das Wissen vorausgesetzt, dass die andere Datei nicht auch verändert wurde. Sie sollten dies in jedem Fall prüfen.) Diese Option ist in der Voreinstellung abgeschaltet.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sicherungskopie erstellen (.orig):</emphasis
+></term
+><listitem
+><para
+>Wenn eine Datei oder ein Ordner durch eine andere ersetzt oder gelöscht wird, dann wird die Originalversion umbenannt und erhält die Erweiterung ".orig". Wenn eine alte Backup-Datei mit der ".orig"-Erweiterung bereits existiert, so wird diese ohne weiteres Backup gelöscht. Das betrifft auch das normale Zusammenführen einzelner Dateien, nicht nur das Zusammenführen ganzer Ordner. Diese Option ist in der Voreinstellung eingeschaltet.</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="other"
+><title
+>Weitere Funktionen</title>
+<sect2
+><title
+>Verzeichnis &amp; Textfenster teilen sich Hauptfenster</title>
+<para
+>Normalerweise bleibt die Ordner-Zusammenführen-Ansicht währen dem Zusammenführen einzelner Dateien sichtbar; Sie können den Fensterteiler mit der Maus verschieben. Wenn Sie das nicht wollen, können Sie die Option "Verzeichnis &amp; Textfenster teilen sich Hauptfenster" im "Fenster"-Menü abschalten und mittels "Wechsel zwischen Verzeichnis &amp; Textfenster" zwischen den beiden Ansichten umschalten. </para>
+</sect2>
+<sect2
+><title
+>Vergleichen und Zusammenführen einer einzelnen Datei</title>
+<para
+>Wahrscheinlich bevorzugen Sie, eine Datei einfach mittels Doppelklick zu vergleichen. Dennoch gibt es im "Verzeichnis"-Menü auch einen entsprechenden Menüeintrag. Sie können eine einzelne Datei auch direkt zusammenführen, ohne erst das Ordnerzusammenführen starten zu müssen. Dazu benutzen Sie die Funktion "Aktuelle Datei Zusammenführen" aus dem "Zusammenführen"-Menü. Sobald Sie das Ergebnis speichern, wird der Status auf "Erledigt" gesetzt und die Datei wird nicht nochmals zusammengeführt wenn Sie das Ordnerzusammenführen starten. </para
+><para
+>Dieser Status geht allerdings verloren, wenn Sie das Verzeichnis erneut einlesen: "Verzeichnis"-Menü: "Neu einlesen" </para>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="misc">
+<title
+>Verschiedene Themen</title>
+<sect1 id="networktransparency">
+<title
+>Netzwerktransparenz via KIO</title>
+<sect2
+><title
+>KIO-Slaves</title>
+<para
+>KDE unterstützt Netzwerktransparenz mit Hilfe von KIO-Slaves. KDiff3 benutzt dies zum Einlesen von Dateien und Ordnern. Auf diese Weise können Sie Dateien und Ordner zum Öffnen angeben, die sich auf lokalen oder entfernten Rechnern befinden. </para
+><para
+>Beispiel: </para
+><para>
+<screen
+><command
+>kdiff3</command
+> test.cpp  ftp://ftp.weitweg.org/test.cpp
+   <command
+>kdiff3</command
+> tar:/home/hacker/archiv.tar.gz/ordner ./ordner
+</screen>
+</para>
+<para
+>Die erste Kommandozeile vergleicht eine lokale Datei mit einer auf einem FTP-Server. Die zweite Kommandozeile vergleicht einen Ordner innerhalb eines komprimierten Archivs mit einem lokalen Ordner. </para
+><para
+>Weitere interessante KIO-Slaves sind: </para>
+<itemizedlist>
+<listitem
+><para
+>Dateien aus dem WWW (http:),</para
+></listitem>
+<listitem
+><para
+>Dateien von FTP (ftp:),</para
+></listitem>
+<listitem
+><para
+>Verschlüsselte Dateiübertragung (fish:, sftp:),</para
+></listitem>
+<listitem
+><para
+>Windows-Ressourcen (smb:),</para
+></listitem>
+<listitem
+><para
+>Lokale Dateien (file:),</para
+></listitem>
+</itemizedlist>
+<para
+>Desweiteren wäre möglich (wenn auch weniger nützlich): </para>
+<itemizedlist>
+<listitem
+><para
+>Man-Pages (man:),</para
+></listitem>
+<listitem
+><para
+>Info-Seiten (info:),</para
+></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2
+><title
+>Wie man eine URL schreibt</title>
+<para
+>Eine URL hat eine andere Syntax als lokale Dateien und Ordner. Ein paar Dinge sollten Sie beachten: </para>
+<itemizedlist>
+<listitem
+><para
+>Ein Pfad kann relativ sein und "." oder ".." enthalten. Das ist mit URLs nicht möglich, diese sind immer absolut. </para
+></listitem
+><listitem
+><para
+>Sonderzeichen müssen maskiert werden. ("#"->"%23", Leerzeichen->"%20", u.s.w.). Zum Beispiel hat eine Datei mit dem Namen "/#foo#" die URL "file:/%23foo%23". </para
+></listitem
+><listitem
+><para
+>Wenn eine URL nicht wie erwartet funktioniert, versuchen Sie erstmal, diese im Konqueror zu öffnen. </para
+></listitem>
+</itemizedlist>
+
+</sect2>
+
+<sect2
+><title
+>Fähigkeiten von KIO-Slaves</title>
+<para
+>Netzwerktransparenz hat auch einen Nachteil: Nicht alle Ressourcen haben die gleichen Fähigkeiten. </para
+><para
+>Manchmal aufgrund des Dateisystems auf dem Server, manchmal durch das verwendete Protokoll. Es folgt eine kurze Liste der Einschränkungen: </para>
+<itemizedlist>
+<listitem
+><para
+>Teilweise werden keine Links unterstützt. </para
+></listitem
+><listitem
+><para
+>Oder es kann nicht unterschieden werden, ob ein Link auf eine Datei oder einen Ordner zeigt. Dann wird immer eine Datei als Link-Ziel angenommen. (ftp:, sftp:). </para
+></listitem
+><listitem
+><para
+>Die Dateigröße kann nicht immer ermittelt werden. </para
+></listitem
+><listitem
+><para
+>Eingeschränkte Unterstützung für Berechtigungen. </para
+></listitem
+><listitem
+><para
+>Es gibt keine Möglichkeit, Berechtigungen oder Veränderungsdatum zu bearbeiten. Daher weichen die Berechtigungen oder das Veränderungsdatum vom Original ab. (Beachten Sie hierzu die Option "Vertraue der Größe".) (Dies ist nur bei lokalen Dateien möglich.) </para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+
+<sect1 id="kpart">
+<title
+>&kdiff3; als KPart benutzen</title>
+<para
+>&kdiff3; ist ein KPart. Zur Zeit ist die KParts::ReadOnlyPart-Schnittstelle eingebaut. </para
+><para
+>Der hauptsächliche Verwendungszweck ist zur Zeit als Unterschiede-Betrachter in KDevelop. KDevelop startet zuerst immer den eingebauten Unterschiede-Betrachter. Um KDiff3 zu starten, drücken Sie die rechte Maustaste über dem Unterschiede-Betrachter und wählen dann "In KDiff3Part anzeigen" aus dem Kontextmenü. </para
+><para
+>Normalerweise benötigt &kdiff3; zwei vollständige Eingabedateien. Wenn es allerdings als KPart angewendet wird, nimmt &kdiff3; an, dass die Eingabedatei eine Patch-Datei im unified-Format ist. Dann entnimmt &kdiff3; die Namen der Originaldateien aus der Patch-Datei. Mindestens eine der beiden Dateien muss existieren. Dann startet &kdiff3; das Programm <command
+>patch</command
+> um die fehlende Datei wiederherzustellen. </para
+><para
+>Im Konqueror können Sie auf eine Patch-Datei klicken und aus dem Kontextmenü "Vorschau in"-"KDiff3Part" auswählen. Beachten Sie bitte, dass das nicht funktioniert wenn keine der Originaldateien existiert. Ausserdem ist dies unzuverlässig, wenn sich die Originaldateien seit Erzeugung der Patch-Datei verändert haben. </para
+><para
+>Wenn &kdiff3; als Part ausgeführt wird, unterstützt es nur das Vergleichen von zwei Dateien, eine sehr kleine Werkzeugleiste und Menü. Das Zusammenführen oder das Vergleichen von Ordnern wird im KPart-Modus nicht unterstützt. </para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Fragen und Antworten</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry
+><question
+><para
+>Warum heisst das Programm "KDiff3"? </para
+></question
+><answer
+><para
+>Werkzeuge mit dem Namen "KDiff" und "KDiff2" (nun heist es "Kompare") gibt es bereits. Ausserdem weist der Name "KDiff3" bereits darauf hin, dass es Zusammenführen kann wie das Programm "diff3" aus der Diff-Tool-Sammlung. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Warum wurde KDiff3 unter der GPL lizenziert? </para
+></question
+><answer
+><para
+>Ich verwende GPL-Programme schon sehr lange und habe viel gelernt indem ich in die Quellen anderer Programme geschaut habe. Dies ist mein "Dankeschön" an alle Programmierer die diesen Weg gegangen sind oder ihn mal so gehen werden. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Einige Knöpfe und Funktionen fehlen. Was ist passiert? </para
+></question
+><answer
+><para
+>Sie haben das Programm aus den Quellen kompiliert und dem configure-Skript vermutlich nicht den richtigen Prefix zu KDE mitgeteilt. In der Voreinstellung installiert configure in /usr/local, aber dann kann KDE die Ressourcen für die Benutzerschnittstellen nicht finden (z. B. kdiff3ui.rc). In der README-Datei finden Sie nähere Informationen zu diesem Thema. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Häufig werden ähnliche, aber nicht identische Zeilen nebeneinander angezeigt, und manchmal nicht. Warum? </para
+></question
+><answer
+><para
+>Wenn nur die Anzahl an "weißen" Zeichen unterschiedlich ist, werden diese Zeilen erstmal als "identisch" behandelt; wenn jedoch auch nur ein "nicht-weißes" Zeichen unterschiedlich ist, wird die Zeile als "nicht identisch" behandelt. If similar lines appear next to each other, this actually is coincidence but this fortunately is often the case. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Warum müssen alle Konflikte gelöst sein, bevor das Ergebnis gespeichert werden kann? </para
+></question
+><answer
+><para
+>Der Editor merkt sich für jeden Unterschied in den Dateien wo er beginnt und wo er endet. Das ist nötig, um einen Konflikt einfach durch das Klicken in den Quelltext und Auswählen des Knopfes A/B/C lösen zu können. Diese wichtige Information geht allerdings verloren, wenn das Ergebnis einfach als Textdatei gespeichert wird und es ist zuviel Aufwand, extra ein eigenes Dateiformat zu entwerfen, das diese Informationen speichern könnte. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Warum hat der Editor im Ergebnisfenster einer Zusammenführung keine "Rückgängig"-Funktion? </para
+></question
+><answer
+><para
+>Der Aufwand dafür war bisher zu groß. Sie können eine bestimmte Version immer durch das Auswählen einer Quelle A/B/C wiederherstellen. Um grössere Mengen an Text zu bearbeiten sollte ein anderer Editor verwendet werden. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Nach dem entfernen von Text ist plötzlich "&lt;No src line&gt;" erschienen und der Text lässt sich nicht löschen. Was bedeutet das und wie kann das entfernt werden? </para
+></question
+><answer
+><para
+>Der Editor merkt sich für jede gleiche und unterschiedliche Sektion wo sie beginnt und wo sie aufhört. "&lt;No src line&gt;" bedeutet, dass in dieser Sektion nichts mehr existiert, nocht nicht mal mehr das Zeichen für den Zeilenvorschub. Soetwas kann beim automatischen Zusammenführen oder beim Editieren passieren und ist kein Problem, denn der Text erscheint nicht in der gespeicherten Datei. Wenn Sie den Originaltext wiederhaben möchten, klicken Sie in die Sektion und wählen die korrekte Quelle A/B/C aus. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Warum unterstützt KDiff3 keine Syntax-Hervorhebung? </para
+></question
+><answer
+><para
+>KDiff3 benutzt bereits viele Farben zum hervorheben von Unterschieden. Noch mehr Hervorhebung wäre verwirrend und verfehlt den Zweck. Benutzen Sie dafür bitte einen anderen Editor. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Wird Ihre Frage hier nicht beantwortet? </para
+></question
+><answer
+><para
+>Bitte senden Sie mir Ihre Frage zu. Ich bin dankbar für jeden Kommentar. </para
+></answer
+></qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<title
+>Dank und Lizenz</title>
+
+<para
+>&kdiff3; - Ein Programm zum vergleichen und zusammenführen von Dateien und Ordnern </para>
+<para
+>Programm-Copyright 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+<para
+>Viele gute Ideen und Fehlerberichte kamen von Kollegen und vielen Leuten aus dem "Wild Wild Web". Vielen Dank! </para>
+
+<para
+>Dokumentations-Copyright &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+
+<para
+>Deutsche Übersetzung: Thomas Reitelbach <email
+>tr@erdfunkstelle.de</email
+></para
+> 
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<sect1 id="getting-kdiff3">
+<title
+>Wie Sie &kdiff3; bekommen können</title>
+
+<para
+>Sie können die neueste Version von KDiff3 von der Homepage <ulink url="http://kdiff3.sourceforge.net"
+>http://kdiff3.sourceforge.net</ulink
+> herunterladen. </para
+><para
+>Kdiff3 gibt es auch für andere Plattformen. Besuchen Sie für Details bitte die Homepage. </para>
+
+
+</sect1>
+
+<sect1 id="requirements">
+<title
+>Voraussetzungen</title>
+
+<para
+>Um alle Funktionen von &kdiff3; nutzen zu können, benötigen Sie &kde; 3.1 oder neuer. </para
+><para
+>Informationen, wie Sie KDiff3 auf anderen Plattformen ohne KDE benutzen können finden Sie auf der <ulink url="http://kdiff3.sourceforge.net"
+>Homepage</ulink
+>. </para
+><para
+>Eine Liste der letzten Änderungen finden Sie unter <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+>http://kdiff3.sourceforge.net/ChangeLog</ulink
+> oder in der Datei "ChangeLog" im Quell-Paket. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Kompilieren und Installation</title>
+
+<para
+>Um &kdiff3; auf einem System mit &kde; zu kompilieren und installieren, benutzen Sie folgendes Kommando im Basisordner der &kdiff3;-Distribution:</para>
+
+<screen
+><prompt
+>%</prompt
+> <userinput
+><command
+>./configure --prefix=<replaceable
+>kde-dir</replaceable
+></command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+> install</userinput
+>
+</screen>
+<para
+><replaceable
+>kde-dir</replaceable
+> gibt den Ordner in Ihrem System an, in dem KDE installiert ist. Wenn Sie unsicher sind, finden Sie weitere Details in der README-Datei. </para>
+<para
+>Da &kdiff3; <command
+>autoconf</command
+> und <command
+>automake</command
+> verwendet, sollten Sie keine Probleme beim Kompilieren haben. Sollten dennoch Schwierigkeiten auftreten, berichten Sie bitte auf den &kde;-Mailinglisten davon.</para>
+
+</sect1>
+
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/artistic-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>The "Artistic License"</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="Artistic License">
+    <META NAME="keywords" CONTENT="Artistic, artistic, Artistic License, Artistic license, Artisticlicense, artistic license, artisticlicense, Artistic Licence, Artistic licence, Artisticlicence, artistic licence, artisticlicence, license, licence, software, softwarelicense">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+    <H1>The "Artistic License"</H1>
+
+    <H2>Preamble</H2>
+
+    <P>The intent of this document is to state the conditions under
+      which a Package may be copied, such that the Copyright Holder
+      maintains some semblance of artistic control over the
+      development of the package, while giving the users of the
+      package the right to use and distribute the Package in a
+      more-or-less customary fashion, plus the right to make
+      reasonable modifications.</P>
+
+    <H2>Definitions</H2>
+
+    
+    <P>"Package" refers to the collection of files distributed by the
+      Copyright Holder, and derivatives of that collection of files
+      created through textual modification.</P>
+
+    <P>"Standard Version" refers to such a Package if it has not been
+      modified, or has been modified in accordance with the wishes of
+      the Copyright Holder as specified below.</P>
+
+    <P>"Copyright Holder" is whoever is named in the copyright or
+      copyrights for the package.</P>
+
+    <P>"You" is you, if you're thinking about copying or distributing
+      this Package.</P>
+
+    <P>"Reasonable copying fee" is whatever you can justify on the
+      basis of media cost, duplication charges, time of people
+      involved, and so on. (You will not be required to justify it to
+      the Copyright Holder, but only to the computing community at
+      large as a market that must bear the fee.)</P>
+
+    <P>"Freely Available" means that no fee is charged for the item
+      itself, though there may be fees involved in handling the
+      item. It also means that recipients of the item may redistribute
+      it under the same conditions they received it.</P>
+
+
+    <OL STYLE="list-style-type: decimal;">
+      <LI><DIV CLASS="li">You may make and give away verbatim copies of the source
+	form of the Standard Version of this Package without
+	restriction, provided that you duplicate all of the original
+	copyright notices and associated disclaimers.</DIV></LI>
+
+      <LI>You may apply bug fixes, portability fixes and other
+	modifications derived from the Public Domain or from the
+	Copyright Holder. A Package modified in such a way shall still
+	be considered the Standard Version.</LI>
+
+      <LI>You may otherwise modify your copy of this Package in any
+	way, provided that you insert a prominent notice in each
+	changed file stating how and when you changed that file, and
+	provided that you do at least ONE of the following:
+	<OL STYLE="list-style-type: lower-alpha;">
+	  <LI>place your modifications in the Public Domain or
+	    otherwise make them Freely Available, such as by posting
+	    said modifications to Usenet or an equivalent medium, or
+	    placing the modifications on a major archive site such as
+	    uunet.uu.net, or by allowing the Copyright Holder to
+	    include your modifications in the Standard Version of the
+	    Package.</LI>
+
+	  <LI>use the modified Package only within your corporation or
+	    organization.</LI>
+
+	  <LI>rename any non-standard executables so the names do not
+	    conflict with standard executables, which must also be
+	    provided, and provide a separate manual page for each
+	    non-standard executable that clearly documents how it
+	    differs from the Standard Version.  d. make other
+	    distribution arrangements with the Copyright Holder.</LI>
+	</OL>
+      </LI>
+    </OL>
+
+    <P>You may distribute the programs of this Package in object code
+      or executable form, provided that you do at least ONE of the
+      following:</P>
+
+    <OL STYLE="list-style-type: lower-alpha;">
+      <LI>distribute a Standard Version of the executables and library
+       files, together with instructions (in the manual page or
+       equivalent) on where to get the Standard Version.</LI>
+
+      <LI>accompany the distribution with the machine-readable source
+	of the Package with your modifications.</LI>
+      
+      <LI>give non-standard executables non-standard names, and
+	clearly document the differences in manual pages (or
+	equivalent), together with instructions on where to get the
+	Standard Version.</LI>
+
+      <LI>make other distribution arrangements with the Copyright
+	Holder.</LI>
+    </OL>
+
+    <P>You may charge a reasonable copying fee for any distribution of
+      this Package. You may charge any fee you choose for support of
+      this Package. You may not charge a fee for this Package
+      itself. However, you may distribute this Package in aggregate
+      with other (possibly commercial) programs as part of a larger
+      (possibly commercial) software distribution provided that you do
+      not advertise this Package as a product of your own. You may
+      embed this Package's interpreter within an executable of yours
+      (by linking); this shall be construed as a mere form of
+      aggregation, provided that the complete Standard Version of the
+      interpreter is so embedded.</P>
+
+    <P>The scripts and library files supplied as input to or produced
+      as output from the programs of this Package do not automatically
+      fall under the copyright of this Package, but belong to whomever
+      generated them, and may be sold commercially, and may be
+      aggregated with this Package. If such scripts or library files
+      are aggregated with this Package via the so-called "undump" or
+      "unexec" methods of producing a binary executable image, then
+      distribution of such an image shall neither be construed as a
+      distribution of this Package nor shall it fall under the
+      restrictions of Paragraphs 3 and 4, provided that you do not
+      represent such an executable image as a Standard Version of this
+      Package.</P>
+
+    <P>C subroutines (or comparably compiled subroutines in other
+      languages) supplied by you and linked into this Package in order
+      to emulate subroutines and variables of the language defined by
+      this Package shall not be considered part of this Package, but
+      are the equivalent of input as in Paragraph 6, provided these
+      subroutines do not change the language in any way that would
+      cause it to fail the regression tests for the language.</P>
+
+    <P>Aggregation of this Package with a commercial distribution is
+      always permitted provided that the use of this Package is
+      embedded; that is, when no overt attempt is made to make this
+      Package's interfaces visible to the end user of the commercial
+      distribution. Such use shall not be construed as a distribution
+      of this Package.</P>
+
+    <P>The name of the Copyright Holder may not be used to endorse or
+      promote products derived from this software without specific
+      prior written permission.</P>
+
+    <P>THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+      IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+      WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+      PURPOSE.</P>
+
+    <DIV STYLE="text-align: center;">The End</DIV>
+  </BODY>
+</HTML>
Binary file kdiff3/doc/en/common/bottom-left.png has changed
Binary file kdiff3/doc/en/common/bottom-middle.png has changed
Binary file kdiff3/doc/en/common/bottom-right.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/bsd-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>BSD License</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="BSD License">
+    <META NAME="keywords" CONTENT="BSD, bsd, Bsd, license, licence, software, free software, softwarelicense, BSD Software license">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+    <H1>BSD License</H1>
+
+    <P>Redistribution and use in source and binary forms, with or
+      without modification, are permitted provided that the following
+      conditions are met:</P>
+
+    <OL>
+      <LI>Redistributions of source code must retain the above
+	copyright notice, this list of conditions and the following
+	disclaimer.</LI>
+
+      <LI>Redistributions in binary form must reproduce the above
+	copyright notice, this list of conditions and the following
+	disclaimer in the documentation and/or other materials
+	provided with the distribution.</LI>
+    </OL>
+
+    <P>THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
+      EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+      PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR
+      BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+      EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+      TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+      DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+      ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+      IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+      THE POSSIBILITY OF SUCH DAMAGE.</P>
+  </BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/fdl-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>GNU Free Documentation License - version 1.1</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="GNU free documentation license (for inclusion in documentation files)">
+    <META NAME="keywords" CONTENT="gnu, Gnu, GNU, license, licence, software, free software, software license, software licence, GNU general public license, GNU General Public License, documentation licence, documentation license, documentation, GNU free documentation license, GNU Free Documentation License">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+<H1>GNU Free Documentation License</H1>
+		   Version 1.1, March 2000
+
+<P>Copyright (C) 2000  Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<BR>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.</P>
+
+<H2>0. Preamble</H2>
+
+<P>The purpose of this License is to make a manual, textbook, or other
+written document "free" in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially.  Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.</P>
+
+<P>This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.</P>
+
+<P>We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.</P>
+
+<H2>1. Applicability And Definitions</H2>
+
+<P>This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License.  The "Document", below, refers to any
+such manual or work.  Any member of the public is a licensee, and is
+addressed as "you".</P>
+
+<P>A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.</P>
+
+<P>A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject.  (For example, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.</P>
+
+<P>The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.</P>
+
+<P>The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.</P>
+
+<P>A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, whose contents can be viewed and edited directly and
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent.  A copy that is
+not "Transparent" is called "Opaque".</P>
+
+<P>Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML designed for human modification.  Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML produced by some word processors for output
+purposes only.</P>
+
+<P>The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.</P>
+
+<H2>2. Verbatim Copying</H2>
+
+<P>You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.</P>
+
+<P>You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.</P>
+
+<H2>3. Copying In Quantity</H2>
+
+<P>If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.</P>
+
+<P>If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.</P>
+
+<P>If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols.  If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.</P>
+
+<P>It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.</P>
+
+<H2>4. Modifications</H2>
+
+<P>You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:</P>
+
+<OL STYLE="list-style-type: upper-alpha;">
+<LI>Use in the Title Page (and on the covers, if any) a title distinct
+    from that of the Document, and from those of previous versions
+    (which should, if there were any, be listed in the History section
+    of the Document).  You may use the same title as a previous
+    version if the original publisher of that version gives
+    permission.</LI>
+
+<LI>List on the Title Page, as authors, one or more persons or
+    entities responsible for authorship of the modifications in the
+    Modified Version, together with at least five of the principal
+    authors of the Document (all of its principal authors, if it has
+    less than five).</LI>
+
+<LI>State on the Title page the name of the publisher of the Modified
+    Version, as the publisher.</LI>
+
+<LI>Preserve all the copyright notices of the Document.</LI>
+
+<LI>Add an appropriate copyright notice for your modifications
+    adjacent to the other copyright notices.</LI>
+
+<LI>Include, immediately after the copyright notices, a license notice
+    giving the public permission to use the Modified Version under the
+    terms of this License, in the form shown in the Addendum
+    below.</LI>
+
+<LI>Preserve in that license notice the full lists of Invariant
+    Sections and required Cover Texts given in the Document's license
+    notice.</LI>
+
+<LI>Include an unaltered copy of this License.</LI>
+
+<LI>Preserve the section entitled "History", and its title, and add to
+    it an item stating at least the title, year, new authors, and
+    publisher of the Modified Version as given on the Title Page.  If
+    there is no section entitled "History" in the Document, create one
+    stating the title, year, authors, and publisher of the Document as
+    given on its Title Page, then add an item describing the Modified
+    Version as stated in the previous sentence.</LI>
+
+<LI>Preserve the network location, if any, given in the Document for
+    public access to a Transparent copy of the Document, and likewise
+    the network locations given in the Document for previous versions
+    it was based on.  These may be placed in the "History" section.
+    You may omit a network location for a work that was published at
+    least four years before the Document itself, or if the original
+    publisher of the version it refers to gives permission.</LI>
+    
+<LI>In any section entitled "Acknowledgements" or "Dedications",
+    preserve the section's title, and preserve in the section all the
+    substance and tone of each of the contributor acknowledgements
+    and/or dedications given therein.</LI>
+
+<LI>Preserve all the Invariant Sections of the Document, unaltered in
+    their text and in their titles.  Section numbers or the equivalent
+    are not considered part of the section titles.</LI>
+
+<LI>Delete any section entitled "Endorsements".  Such a section may
+    not be included in the Modified Version.</LI>
+
+<LI>Do not retitle any existing section as "Endorsements" or to
+    conflict in title with any Invariant Section.</LI>
+</OL>
+
+<P>If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.</P>
+
+<P>You may add a section entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.</P>
+
+<P>You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.</P>
+
+<P>The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.</P>
+
+<H2>5. Combining Documents</H2>
+
+<P>You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice.</P>
+
+<P>The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.</P>
+
+<P>In the combination, you must combine any sections entitled "History"
+in the various original documents, forming one section entitled
+"History"; likewise combine any sections entitled "Acknowledgements",
+and any sections entitled "Dedications".  You must delete all sections
+entitled "Endorsements."</P>
+
+<H2>6. Collections Of Documents</H2>
+
+<P>You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.</P>
+
+<P>You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.</P>
+
+<H2>7. Aggregation With Independent Works</H2>
+
+<P>A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation.  Such a compilation is called an "aggregate", and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.</P>
+
+<P>If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.</P>
+
+<H2>8. Translation</H2>
+
+<P>Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License provided that you also include the
+original English version of this License.  In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.</P>
+
+<H2>9. Termination</H2>
+
+<P>You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License.  Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License.  However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.</P>
+
+<H2>10. Future Revisions Of This License</H2>
+
+<P>The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time.  Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+<A HREF="http:///www.gnu.org/copyleft/">http:///www.gnu.org/copyleft/</A>.</P>
+
+<P>Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.</P>
+  </BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/footer.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,14 @@
+</div>
+<div id="bottom-nav">
+<img src="../../common/bottom2.png" align="right" height="59" width="227" alt="KDE Logo">
+</div>
+<div class="bottom">
+This file is part of the documentation for $projectname $projectnumber.
+</div>
+<div class="bottom" style="color:#cccccc">
+Documentation copyright &copy; 1996-2003 the KDE developers.<br>
+Generated on $datetime by
+<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, &copy;&nbsp;1997-2001
+</div>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/gpl-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,381 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>GNU General Public License</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="GNU general public license (for inclusion in distributions)">
+    <META NAME="keywords" CONTENT="gnu, Gnu, GNU, license, licence, software, free software, software license, software licence, GNU general public license, GNU General Public License">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+<H1>GNU General Public License</H1>
+<P>Version 2, June 1991</P>
+
+<P>Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<BR>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.</P>
+
+<H2>Preamble</H2>
+
+<P>The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.</P>
+
+<P>When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.</P>
+
+<P>To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.</P>
+
+<P>For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.</P>
+
+<P>We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.</P>
+
+<P>Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.</P>
+
+<P>Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.</P>
+
+<P>The precise terms and conditions for copying, distribution and
+modification follow.</P>
+
+<H2><A NAME="show-c">GNU General Public License<BR>
+Terms And Conditions For Copying, Distribution And Modification</A></H2>
+
+<P>0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".</P>
+
+<P>Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.</P>
+
+<P>1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.</P>
+
+<P>You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.</P>
+
+<P>2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:</P>
+
+<OL STYLE="list-style-type: lower-alpha;">
+<LI>
+<P>You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.</P>
+</LI>
+
+<LI>
+<P>You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.</P>
+</LI>
+
+<LI>
+<P>If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)</P>
+</LI>
+</OL>
+
+<P>These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.</P>
+
+<P>Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.</P>
+
+<P>In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.</P>
+
+<P>3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:</P>
+
+<OL STYLE="list-style-type: lower-alpha;">
+<LI>
+<P>Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,</P>
+</LI>
+
+<LI>
+<P>Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,</P>
+</LI>
+
+<LI>
+<P>Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)</P>
+</LI>
+</OL>
+
+<P>The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.</P>
+
+<P>If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.</P>
+
+<P>4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.</P>
+
+<P>5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.</P>
+
+<P>6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.</P>
+
+<P>7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.</P>
+
+<P>If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.</P>
+
+<P>It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.</P>
+
+<P>This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.</P>
+
+<P>8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.</P>
+
+<P>9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.</P>
+
+<P>Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.</P>
+
+<P>10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.</P>
+
+<H2><A NAME="show-w">No Warranty</A></H2>
+
+<P>11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.</P>
+
+<P>12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.</P>
+
+<DIV STYLE="text-align: center;">END OF TERMS AND CONDITIONS</DIV>
+
+<hr>
+
+<h2>How to Apply These Terms to Your New Programs</h2>
+
+<p>If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.</p>
+
+
+<p>To do so, attach the following notices to the program.  It is
+safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.</p>
+
+
+<pre>    &lt;one line to give the program's name and a brief idea of what it does.&gt;
+    Copyright (C) 19yy  &lt;name of author&gt;
+
+    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
+    (at your option) any later version.
+
+    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.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</pre>
+
+<p>Also add information on how to contact you by electronic and paper
+mail.</p>
+
+<p>If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:</p>
+
+<pre>    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.</pre>
+
+<p>The hypothetical commands &quot;show w&quot; and &quot;show c&quot; should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than &quot;show w&quot; and &quot;show c&quot;; they could even be
+mouse-clicks or menu items--whatever suits your program.</p>
+
+<p>You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
+necessary.  Here is a sample; alter the names:</p>
+
+<pre>  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  &lt;signature of Ty Coon&gt;, 1 April 1989
+  Ty Coon, President of Vice</pre>
+
+<p>This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.</p>
+
+
+
+  </BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/header.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+  <title>$title ($projectname)</title>
+  <link href="../../common/doxygen.css" rel="stylesheet" type="text/css">
+</head>
+<div class="header">
+<table border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td rowspan="2" width="92">
+<a href="../../index.html" title="The API documentation main page"><img src="../../common/docheadergears.png" style="border:0px;" alt=""></a>
+</td>
+<td width="95%">
+<h1>$projectname API Documentation</h1>
+</td>
+</tr>
+<tr>
+<td valign="bottom">
+<table class="links" border=0 cellspacing=0>
+<tr>
+<td><a href="index.html">Overview</a></td>
+<td><a href="hierarchy.html" title="Inheritance list, sorted roughly  alphabetically">Class&nbsp;Hierarchy</a></td>
+<td><a href="classes.html" title="Alphabetical list of classes">Classes</a></td>
+<td><a href="annotated.html" title="Classes, structs, unions and interfaces with brief descriptions">Classes&nbsp;(annotated)</a></td>
+<td><a href="functions.html" title="Documented class members with links to the classes they belong to">Members</a></td>
+<td><a href="namespaces.html" title="All documented namespaces with brief descriptions">Namespaces</a></td>
+<td><a href="files.html" title="A list of all documented files with brief descriptions">Source&nbsp;Files</a></td>
+</tr>
+</table>
+</td></tr></table>
+</div>
+<div id="hgrad"></div>
+<div class="text">
Binary file kdiff3/doc/en/common/headerbg.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/kde-default.css	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,327 @@
+/*
+    KDE-wide default CSS for HTML documentation (all media types).
+    Copyright (C) 2000 Frederik Fouvry
+
+    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
+    (at your option) any later version.
+
+    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.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+    Send comments, suggestions, etc. to Frederik Fouvry 
+    <fouvry@sfs.nphil.uni-tuebingen.de>. */
+
+/*
+   Important note: these setting may be overridden by localised CSS.  Do not 
+   add here any localization-sensitive style declarations.
+   
+   Any updates should be validated, e.g. http://jigsaw.w3.org/css-validator/ */
+
+/* Note: "should be inherit" means that in a proper browser inherit should work.
+   Somehow Netscape manages to interpret "inherit" as bright green. 
+   Yuck.  */
+
+body {
+  background: white none;
+  color: black;
+  font-family: sans-serif;
+  padding: 0;
+  margin: 0; 
+}
+
+.legalnotice, .copyright {
+  padding: 0;
+  margin: 0; 
+}
+
+.abstract {
+  font-weight: bolder;
+  padding-right: 1em; 
+}
+
+.toc, .list-of-tables {
+  padding-left: 1em;
+}
+
+.sect1, .chapter, .synopsis, .appendix, .preface, .article, .refsect1, .index, .glossary, .section {
+  padding: 1em;
+}
+
+.toc .chapter {
+padding: 0em 0em 0em 1em;
+}
+
+.author {
+  color: rgb(82,80,82);
+  font-weight: bolder;
+  padding: 0;
+  margin: 0;
+}
+
+.othercredit {
+  line-height: 1em;
+}
+
+.chapter .sect1, .chapter .titlepage, .sect1 .titlepage, .article .titlepage {
+  padding: 0em;
+}
+
+.titlepage {
+  padding-left: 1em;
+  padding-right: 1em;
+}
+
+/* Links in Navigation */
+
+.navLeft a:link, .navCenter a:link, .navRight a:link, .header a:link, .header a:visited, .bottom-nav a:link, .bottom-nav a:visited {
+  color: #41597A;
+  font-weight: bold;
+}
+
+
+/* Nice link colors for the main text */
+
+:link { 
+  color: #41597A;
+}
+
+:visited { 
+  color: #597ba8;
+}
+
+.navLeft {
+  position: absolute; 
+  left: 20px;
+}
+
+.navRight {
+  position: absolute; 
+  right: 20px;
+}
+
+.navCenter {
+  text-align: center;
+  align: center;
+}
+
+.bannerBottomLeft {
+  position: absolute; left: 0px;
+}
+
+.bannerBottomRight {
+  position: absolute; right: 0px;
+}
+
+.header {
+  background: #3E91EB none;
+  border-bottom: 1px solid #206dcd;
+  border-top: 1px solid white;
+  color: white;
+  font-size: small;
+  height: 1.7em;
+  line-height: 1em;
+  margin: 0px;
+  padding-bottom: 0px;
+  padding-left: 1em;
+  padding-right: 0px;
+  padding-top: 0px;
+  vertical-align: middle;
+}
+
+.bottom-nav { 
+  background-color: #3E91EB; 
+  border-bottom: 1px solid #206dcd; 
+  border-top: 1px solid white;
+  color: white; 
+  font-size: small; 
+  height: 1.7em; 
+  line-height: 1em; 
+  margin: 0px; 
+  padding-bottom: 0px; 
+  padding-left: 1em;
+  padding-right: 0px; 
+  padding-top: 10px; 
+  vertical-align: middle; 
+}
+
+#logo {
+  background: url('kde_logo_bg.png') transparent repeat;
+}
+
+/* A little bit of padding makes the tables for keybindings etc much easier to read */
+
+table { 
+  padding: 5px; 
+} 
+
+dl { 
+  margin-top: 0em; 
+  margin-bottom: 0.5em; 
+}
+
+dt { 
+  margin-top: 1em; 
+}
+div.toc dt { 
+  margin-top: 0px; 
+}
+div.screenshot { 
+  margin-bottom: 1em;
+  margin-top: 1em; 
+}
+
+div.informalexample { 
+  border-style: dotted;
+  padding: 10px;
+}
+
+/* But no padding for navigation elements */
+
+.toplogo, .navbackground { 
+  padding: 0px; 
+}
+
+table.programlisting
+table.screen { 
+  border-style: none;
+  background-color: rgb(224,224,224);
+  table-layout: auto; /* 100%? */
+  color: rgb(0,0,0); /* should be inherit */
+}
+
+/* Same as previous block, but more general (previous is HTML only)
+   Not all browsers understand this yet.
+   TABLE[class~=programlisting]
+   TABLE[class~=screen] { border-style: none;
+          background-color: rgb(224,224,224);
+          table-layout: auto;
+          color: inherit;
+}
+*/
+
+p { 
+  text-align: justify; 
+}
+
+/* More specific settings */
+/* Temporary patch: browsers break on bad HTML */
+/* P, H1, H2, H3, H4, H5, TD, TH { font-family: Helvetica, Arial, sans-serif;
+    } */
+
+p, h1, h2, h3, h4, h5, h6, td, th { 
+  font-family: sans-serif;
+}
+
+/* Visual cues for GUI elements etc in the text */
+
+.guimenu, .guimenuitem, .guisubmenu { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); /* should be inherit */
+}
+
+.guilabel, .interface, .guibutton { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); /* should be inherit */
+}
+
+.shortcut { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); /* should be inherit */
+}
+
+.shortcut .keycap { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); /* should be inherit */
+}
+
+.question { 
+  font-weight: bolder; 
+}
+
+.accel { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); 
+  text-decoration: underline;
+}
+
+.option, .command { 
+  background-color: rgb(255,255,255);
+  color: rgb(0,96,160);
+  font-weight: bold;
+}
+
+h1, h2, h3, h4, h5, h6 { 
+  color: rgb(82,80,82);
+  background-color: transparent;
+}
+
+.arg, .parameter, .replaceable { 
+  background-color: rgb(255,255,255);
+  color: rgb(0,128,64);
+  font-style: italic;
+}
+
+.screen, .programlisting { 
+  background-color: rgb(250,250,250);
+  color: rgb(0,0,0); /* should be inherit */
+  border-style: dotted;
+  border-color: rgb(0,0,0);
+  border-width: thin; 
+  padding: 5px; 
+} 
+
+
+/* This one is set in inches because the admonitions are set in inches
+   and they're more difficult to change.  We can live with it in here, 
+   for the meantime, it gives consistent margins */
+
+.example { 
+  margin-left: 0.5in; 
+  margin-right: 0.5in;
+}
+
+div.mediaobject { 
+  /* float: right; */ 
+  /* might make it much nicer. although someone has to
+     understand the rules ;-)  You also don't want it to be
+     surrounded by text it doesn't refer to ...  But that
+     may be among others a question of writing style. */
+  text-align: center; /* a bit of a hack: it should
+                         position _images_ */
+}
+
+.caption { 
+  margin: 0em 2em 3em 2em; 
+  text-align: center;
+}
+
+.inlinemediaobject { 
+  vertical-align: baseline; 
+  padding-right: 1em;
+  padding-left: 1em;		
+}
+
+/* An idea that could be nice: a search engine looking for specific
+classes could display them in some conspicuous color.  All that is
+needed is an on the fly generated style element/style sheet. */
+
+/* Only used in the hand-made HTML license texts */
+body.license { 
+  background-color: rgb(255,255,255);
+  text-align: justify; 
+  color: rgb(0,0,0);
+}
+pre.license { 
+  background-color: rgb(255,255,255);
+  font-family: monospace;
+  color: rgb(0,0,0);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/kde-localised.css.template	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,32 @@
+/*
+    KDE CSS for <**languagecountry**> HTML documentation (all media types).
+    Copyright (C) 2000 <**authorname**>
+
+    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
+    (at your option) any later version.
+
+    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.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+    Send comments, suggestions, etc. to <**authorcontactdetails**>.
+*/
+
+/*
+   These settings will override kde-default.css.
+
+   Any updates should be validated, e.g. http://jigsaw.w3.org/css-validator/
+
+   Check out http://www.richinstyle.com/ where many of the declarations and
+   setup in the KDE CSS are obtained from.  In fact, do not change anything 
+   without checking so on those pages whether it is wise to do.
+*/
+
+:lg(**language**) { }
Binary file kdiff3/doc/en/common/kde_gear_64.png has changed
Binary file kdiff3/doc/en/common/kde_logo_bg.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/lgpl-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>GNU Lesser General Public License</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="GNU lesser general public license (for inclusion in library distributions)">
+    <META NAME="keywords" CONTENT="gnu, Gnu, GNU, license, licence, software, free software, software license, software licence, GNU general public license, GNU General Public License, library licence, library license, software library, software libraries, GNU lesser general public license, GNU Lesser General Public License">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+<H1>GNU LESSER GENERAL PUBLIC LICENSE</H1>
+<P>Version 2.1, February 1999</P>
+
+<P>Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<BR>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.</P>
+
+<P>[This is the first released version of the Lesser GPL.  It also counts
+as the successor of the GNU Library Public License, version 2, hence
+the version number 2.1.]</P>
+
+<H2>Preamble</H2>
+
+<P>The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.</P>
+
+<P>This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.</P>
+
+<P>When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.</P>
+
+<P>To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.</P>
+
+<P>For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.</P>
+
+<P>We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.</P>
+
+<P>To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.</P>
+
+<P>Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.</P>
+
+<P>Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.</P>
+
+<P>When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.</P>
+
+<P>We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.</P>
+
+<P>For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.</P>
+
+<P>In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.</P>
+
+<P>Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.</P>
+
+<P>The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.</P>
+
+<H2>GNU Lesser General Public License<BR>
+Terms And Conditions For Copying, Distribution And Modification</H2>
+
+<P>0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".</P>
+
+<P>A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.</P>
+
+<P>The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)</P>
+
+<P>"Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.</P>
+
+<P>Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.</P>
+
+<P>1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.</P>
+
+<P>You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.</P>
+
+<P>2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:</P>
+
+<OL STYLE="list-style-type: lower-alpha;">
+<LI>
+<P>The modified work must itself be a software library.</P>
+</LI>
+
+<LI>
+<P>You must cause the files modified to carry prominent notices
+stating that you changed the files and the date of any change.</P>
+</LI>
+
+<LI>
+<P>You must cause the whole of the work to be licensed at no
+charge to all third parties under the terms of this License.</P>
+</LI>
+
+<LI>
+<P>If a facility in the modified Library refers to a function or a
+table of data to be supplied by an application program that uses
+the facility, other than as an argument passed when the facility
+is invoked, then you must make a good faith effort to ensure that,
+in the event an application does not supply such function or
+table, the facility still operates, and performs whatever part of
+its purpose remains meaningful.</P>
+
+<P>(For example, a function in a library to compute square roots has
+a purpose that is entirely well-defined independent of the
+application.  Therefore, Subsection 2d requires that any
+application-supplied function or table used by this function must
+be optional: if the application does not supply it, the square
+root function must still compute square roots.)</P>
+</LI>
+</OL>
+
+<P>These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.</P>
+
+<P>Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.</P>
+
+<P>In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.</P>
+
+<P>3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.</P>
+
+<P>Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.</P>
+
+<P>This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.</P>
+
+<P>4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.</P>
+
+<P>If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.</P>
+
+<P>5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.</P>
+
+<P>However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.</P>
+
+<P>When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.</P>
+
+<P>If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)</P>
+
+<P>Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.</P>
+
+<P>6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.</P>
+
+<P>You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:</P>
+
+<OL STYLE="list-style-type: lower-alpha;">
+<LI>
+<P>Accompany the work with the complete corresponding
+machine-readable source code for the Library including whatever
+changes were used in the work (which must be distributed under
+Sections 1 and 2 above); and, if the work is an executable linked
+with the Library, with the complete machine-readable "work that
+uses the Library", as object code and/or source code, so that the
+user can modify the Library and then relink to produce a modified
+executable containing the modified Library.  (It is understood
+that the user who changes the contents of definitions files in the
+Library will not necessarily be able to recompile the application
+to use the modified definitions.)</P>
+</LI>
+
+<LI>
+<P>Use a suitable shared library mechanism for linking with the
+Library.  A suitable mechanism is one that (1) uses at run time a
+copy of the library already present on the user's computer system,
+rather than copying library functions into the executable, and (2)
+will operate properly with a modified version of the library, if
+the user installs one, as long as the modified version is
+interface-compatible with the version that the work was made with.</P>
+</LI>
+
+<LI>
+<P>Accompany the work with a written offer, valid for at
+least three years, to give the same user the materials
+specified in Subsection 6a, above, for a charge no more
+than the cost of performing this distribution.</P>
+</LI>
+
+<LI>
+<P>If distribution of the work is made by offering access to copy
+from a designated place, offer equivalent access to copy the above
+specified materials from the same place.</P>
+</LI>
+
+<LI>
+<P>Verify that the user has already received a copy of these
+materials or that you have already sent this user a copy.</P>
+</LI>
+</OL>
+
+<P>For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.</P>
+
+<P>It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.</P>
+
+<P>7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:</P>
+
+<OL STYLE="list-style-type: lower-alpha;">
+<LI>
+<P>Accompany the combined library with a copy of the same work
+based on the Library, uncombined with any other library
+facilities.  This must be distributed under the terms of the
+Sections above.</P>
+</LI>
+
+<LI>
+<P>Give prominent notice with the combined library of the fact
+that part of it is a work based on the Library, and explaining
+where to find the accompanying uncombined form of the same work.</P>
+</LI>
+</OL>
+
+<P>8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.</P>
+
+<P>9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.</P>
+
+<P>10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.</P>
+
+<P>11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.</P>
+
+<P>If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.</P>
+
+<P>It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.</P>
+
+<P>This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.</P>
+
+<P>12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.</P>
+
+<P>13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.</P>
+
+<P>Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.</P>
+
+<P>14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.</P>
+
+<H2>No Warranty</H2>
+
+<P>15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</P>
+
+<P>16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.</P>
+
+<DIV STYLE="text-align: center;">END OF TERMS AND CONDITIONS</DIV>
+  </BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/mainfooter.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,14 @@
+</div>
+<div id="bottom-nav">
+<img src="common/bottom2.png" align="right" height="59" width="227" alt="KDE Logo">
+</div>
+<div class="bottom">
+This file is part of the documentation for kdelibs $projectnumber.
+</div>
+<div class="bottom" style="color:#cccccc">
+Documentation copyright &copy; 1996-2003 the KDE developers.<br>
+Generated on $datetime by
+<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, &copy;&nbsp;1997-2001
+</div>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/mainheader.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+  <title>$title ($projectname)</title>
+  <link href="common/doxygen.css" rel="stylesheet" type="text/css">
+</head>
+<div class="header">
+<table border="0" cellspacing="0" cellpadding="0">
+<tr>
+<td rowspan="2" width="92">
+<a href="index.html" title="The API documentation main page"><img src="common/docheadergears.png" style="border:0px;" alt=""></a>
+</td>
+<td width="95%">
+<h1>$projectname</h1>
+</td>
+</tr>
+<tr>
+<td valign="bottom">
+<table class="links" border=0 cellspacing=0>
+<tr>
+<td><a href="index.html">Home</a></td>
+<td><a href="search.html" title="Search page">Search</a></td>
+</tr>
+</table>
+</td></tr></table>
+</div>
+<div id="hgrad"></div>
+<div class="text">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/qpl-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>The Q Public License - version 1.0</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="Q Public License">
+    <META NAME="keywords" CONTENT="Q, q, Q Public License, Q public license, q public license, public license, Q Public Licence, Q public licence, q public licence, public licence, license, licence, software, softwarelicense, Troll, troll, Troll License, troll license, Troll Licence, troll licence">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+    <H1>The Q Public License</H1>
+    <P>version 1.0</P>
+    
+    <P>Copyright (C) 1999-2000 Troll Tech AS, Norway.<BR>
+      Everyone is permitted to copy and distribute this license
+      document.
+    </P>
+
+    <P>The intent of this license is to establish freedom to share and
+      change the software regulated by this license under the open
+      source model.</P>
+
+    <P>This license applies to any software containing a notice placed
+      by the copyright holder saying that it may be distributed under
+      the terms of the Q Public License version 1.0.  Such software is
+      herein referred to as the Software.  This license covers
+      modification and distribution of the Software, use of
+      third-party application programs based on the Software, and
+      development of free software which uses the Software.</P>
+
+    <H2>Granted Rights</H2>
+
+    <OL STYLE="list-style-type: decimal;">
+      <LI>
+	<P>You are granted the non-exclusive rights set forth in this
+	  license provided you agree to and comply with any and all
+	  conditions in this license.  Whole or partial distribution
+	  of the Software, or software items that link with the
+	  Software, in any form signifies acceptance of this
+	  license.</P>
+      </LI>
+
+      <LI>
+	<P>You may copy and distribute the Software in unmodified form
+	  provided that the entire package, including - but not
+	  restricted to - copyright, trademark notices and
+	  disclaimers, as released by the initial developer of the
+	  Software, is distributed.</P></LI>
+
+      <LI>
+	<P>You may make modifications to the Software and distribute
+	  your modifications, in a form that is separate from the
+	  Software, such as patches. The following restrictions apply
+	  to modifications:</P>
+
+	<OL STYLE="list-style-type: lower-alpha;">
+	  <LI>
+	    <P>Modifications must not alter or remove any copyright
+	      notices in the Software.</P></LI>
+	  <LI>
+	    <P>When modifications to the Software are released under
+	      this license, a non-exclusive royalty-free right is
+	      granted to the initial developer of the Software to
+	      distribute your modification in future versions of the
+	      Software provided such versions remain available under
+	      these terms in addition to any other license(s) of the
+	      initial developer.</P>
+	  </LI>
+	</OL>
+
+      <LI>
+	<P>You may distribute machine-executable forms of the Software
+	  or machine-executable forms of modified versions of the
+	  Software, provided that you meet these restrictions:</P>
+
+	<OL STYLE="list-style-type: lower-alpha;">
+	  <LI>
+	    <P>You must include this license document in the
+	      distribution.</P>
+	  </LI>
+
+	  <LI>
+	    <P>You must ensure that all recipients of the
+	      machine-executable forms are also able to receive the
+	      complete machine-readable source code to the distributed
+	      Software, including all modifications, without any
+	      charge beyond the costs of data transfer, and place
+	      prominent notices in the distribution explaining
+	      this.</P>
+	  </LI>
+
+	  <LI>
+	    <P>You must ensure that all modifications included in the
+	      machine-executable forms are available under the terms
+	      of this license.</P>
+	  </LI>
+	</OL>
+      </LI>
+
+      <LI>
+	<P>You may use the original or modified versions of the
+	  Software to compile, link and run application programs
+	  legally developed by you or by others.</P>
+      </LI>
+
+      <LI>
+	<P>You may develop application programs, reusable components
+	  and other software items that link with the original or
+	  modified versions of the Software.  These items, when
+	  distributed, are subject to the following requirements:</P>
+
+	<OL STYLE="list-style-type: lower-alpha;">
+	  <LI>
+	    <P>You must ensure that all recipients of
+	      machine-executable forms of these items are also able to
+	      receive and use the complete machine-readable source
+	      code to the items without any charge beyond the costs of
+	      data transfer.</P>
+	  </LI>
+
+	  <LI>
+	    <P>You must explicitly license all recipients of your
+	      items to use and re-distribute original and modified
+	      versions of the items in both machine-executable and
+	      source code forms. The recipients must be able to do so
+	      without any charges whatsoever, and they must be able to
+	      re-distribute to anyone they choose.</P>
+	  </LI>
+
+	  <LI>
+	    <P>If the items are not available to the general public,
+	      and the initial developer of the Software requests a
+	      copy of the items, then you must supply one.</P>
+	  </LI>
+	</OL>
+      </LI>
+    </OL>
+
+    <H2>Limitations of Liability</H2>
+
+    <P>In no event shall the initial developers or copyright holders
+      be liable for any damages whatsoever, including - but not
+      restricted to - lost revenue or profits or other direct,
+      indirect, special, incidental or consequential damages, even if
+      they have been advised of the possibility of such damages,
+      except to the extent invariable law, if any, provides
+      otherwise.</P>
+
+    <H2>No Warranty</H2>
+
+    <P>The Software and this license document are provided AS IS with
+      NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN,
+      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</P>
+
+    <H2>Choice of Law</H2>
+
+    <P>This license is governed by the Laws of Norway. Disputes shall
+      be settled by Oslo City Court.</P>
+  </BODY>
+</HTML>
Binary file kdiff3/doc/en/common/top-left.png has changed
Binary file kdiff3/doc/en/common/top-middle.png has changed
Binary file kdiff3/doc/en/common/top-right-konqueror.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/en/common/x11-license.html	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                   "http://www.w3.org/TR/html40/strict.dtd">
+<HTML LANG="en-US">
+  <HEAD>
+    <TITLE>X Window System License - X11R6.4</TITLE>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
+    <META HTTP-EQUIV="Content-Language" CONTENT="en-US">
+    <META NAME="description" CONTENT="X Window System License - X11R6.4">
+    <META NAME="keywords" CONTENT="X, x, X Window, x window, X Windows, x windows, X Window System License, x window system license, X Window System Licence, x window system licence, X11R6.4, x11r6.4, x11r64, license, licence, software, softwarelicense">
+    <META NAME="robots" CONTENT="none">
+    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+    <LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
+  </HEAD>
+  <BODY CLASS="license">
+    <H1>X Window System License - X11R6.4</H1>
+
+    <P>Copyright (c) 1998 The Open Group</P>
+
+    <P>Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation files
+(the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:</P>
+
+    <P>The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.</P>
+
+    <P>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.</P>
+
+    <P>Except as contained in this notice, the name of The Open Group
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from The Open Group.</P>
+
+    <P>X Window System is a trademark of The Open Group</P>
+  </BODY>
+</HTML>
Binary file kdiff3/doc/en/dirbrowser.png has changed
Binary file kdiff3/doc/en/dirmergebig.png has changed
--- a/kdiff3/doc/en/index.docbook	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/en/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -2,7 +2,7 @@
 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
   <!ENTITY kdiff3 "<application>KDiff3</application>">
   <!ENTITY kappname "&kdiff3;">
-  <!ENTITY package "kdeextragear-1">
+  <!ENTITY package "extragear-utils">
   <!ENTITY % addindex "IGNORE">
   <!ENTITY % English "INCLUDE">
 ]>
@@ -30,7 +30,7 @@
 <!-- TRANS:ROLES_OF_TRANSLATORS -->
 
 <copyright>
-<year>2002-2005</year>
+<year>2002-2006</year>
 <holder>Joachim Eibl</holder>
 </copyright>
 <!-- Translators: put here the copyright notice of the translation -->
@@ -45,8 +45,8 @@
 (V.MM.LL), it could be used by automation scripts.
 Do NOT change these in the translation. -->
 
-<date>2005-01-30</date>
-<releaseinfo>0.9.87</releaseinfo>
+<date>2006-04-09</date>
+<releaseinfo>0.9.89</releaseinfo>
 
 
 <abstract>
@@ -60,10 +60,12 @@
 <listitem><para>has an editor for comfortable solving of merge-conflicts,</para></listitem>
 <listitem><para>provides networktransparency via KIO,</para></listitem>
 <listitem><para>has options to highlight or hide changes in white-space or comments,</para></listitem>
-<listitem><para>supports Unicode, UTF-8 and other file encodings.</para></listitem>
+<listitem><para>supports Unicode, UTF-8 and other file encodings,</para></listitem>
+<listitem><para>prints differences,</para></listitem>
+<listitem><para>supports version control keyword and history merging.</para></listitem>
 </itemizedlist>
 </para><para>
-   This document describes KDiff3-version 0.9.87.
+   This document describes KDiff3-version 0.9.89.
 </para>
 </abstract>
 
@@ -230,7 +232,7 @@
 </sect1>
 </chapter>
 
-<chapter id="documentation"><title>Documentation of File Comparison And Merge</title>
+<chapter id="documentation"><title>File Comparison And Merge</title>
 
 <sect1 id="commandline"><title>Command-Line Options</title>
 
@@ -286,9 +288,13 @@
 <para>For directory comparison and merge you can continue to read <link linkend="dirmerge">here</link>.</para>
 </sect2>
 
-<sect2><title>For more information on command line options use: </title>
+<sect2><title>Other command line options</title>
+<para>To see all available command line options type</para>
 <screen>
-   <command>kdiff3</command> --help
+<command>kdiff3</command> --help
+</screen>
+<para>Example output:</para>
+<screen>
 Options:
   -m, --merge               Merge the input.
   -b, --base file           Explicit base file. For compatibility with certain tools.
@@ -300,8 +306,31 @@
   --L2 alias2               Visible name replacement for input file 2.
   --L3 alias3               Visible name replacement for input file 3.
   -L, --fname alias         Alternative visible name replacement. Supply this once for every input.
-  -u                        Has no effect. For compatibility with certain tools.
+  --cs string               Override a config setting. Use once for every setting. E.g.: --cs "AutoAdvance=1"
+  --confighelp              Show list of config settings and current values.
+  --config file             Use a different config file.
 </screen>
+<para>The option <option>--cs</option> allows you to adjust a configuration value that is otherwise only adjustable via the configure dialogs. 
+But be aware that when KDiff3 then terminates the changed value will be stored along with the other settings. 
+With <option>--confighelp</option> you can find out the names of the available items and current values.</para>
+<para>Via <option>--config</option> you can specify a different config file. When you often use KDiff3 
+with completely different setups this allows you to easily switch between them.</para>
+</sect2>
+<sect2><title>Ignorable command line options</title>
+<para>Many people want to use KDiff3 with some version control system. 
+But when that version control system calls KDiff3 using command line parameters that KDiff3 doesn't recognise, then KDiff3 terminates with an error.
+The integration settings allow to specify command line parameters that should be ignored by KDiff3. 
+They will appear in the usage help like in this example:</para>
+<screen>
+  --<replaceable>foo</replaceable>                     Ignored. (User defined.)
+</screen>
+<variablelist>
+  <varlistentry><term><emphasis>Command line options to ignore:</emphasis></term><listitem><para>
+     A list of options, separated via semicolon ';'. When one of these options appears on the commandline, 
+     then KDiff3 will ignore it and run without reporting an error. 
+     (Default is "u;query;html;abort").</para></listitem></varlistentry>
+</variablelist>
+<para>When this isn't enough, then it is recommended to write a shell script that does the option translation.</para>
 </sect2>
 
 </sect1>
@@ -357,18 +386,20 @@
 </para>
 </sect1>
 
-<sect1 id="interpretinginformation"><title>Interpreting The Information In The Input Windows</title>
+<sect1 id="interpretinginformation"><title>Comparing Files And Interpreting The Information In The Input Windows</title>
 <screenshot><mediaobject>
 <imageobject><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
 </mediaobject></screenshot>
-<para>
+<sect2><title>Info Line</title><para>
    At the top of each text window is its "info line". The info lines of
-   the   input windows contain a letter "A", "B" or "C", the filename and the
-   line   number of the first visible line in the window. (Note that window
-   "C" is  optional.) Each info line appears in a different color. (If the paths
-   are too long to fit, then you can move the mouse onto the info line and
-   a  tooltip will show the complete name.)
+   the input windows contain a letter "A", "B" or "C", the editable filename,
+   a button for browsing, and the line number of the first visible line in the window. 
+   (Note that window "C" is  optional.) Each info line appears in a different color.
 </para><para>
+   When you selected another file via browsing or finished editing the filename here 
+   by pressing enter, the new file will be loaded and 
+   compared with the already loaded file(s).
+</para></sect2><sect2><title>Coloring</title><para>
    The three input windows are assigned the letters "A", "B" and "C".
    "A"   has  color blue, "B" has green and "C" has magenta. (These are the
    defaults,   but  can be changed in the Settings-Menu.)
@@ -378,7 +409,7 @@
    this is   red by default ("Conflict color" in the Settings).
    This colorscheme is especially useful in the case of three input files, which will be
    seen in the next section (<link linkend="merging">Merging</link>).
-</para><para>
+</para></sect2><sect2><title>Summary Column</title><para>
    Left of each text is the "summary column". If differences occurred on a
    line then the summary column shows the respective color. For a white-space-only
    difference the summary is chequered. For programming languages where white
@@ -389,7 +420,7 @@
    The vertical line separating the summary column and the text is interrupted
    if the input file had no lines there. When word-wrap is enabled then this vertical 
    line appears dotted for wrapped lines.
-</para><para>
+</para></sect2><sect2><title>Overview Column</title><para>
    On the right side a "overview"-column is visible left of the vertical scrollbar.
    It shows the compressed summary column of input "A". All the differences
    and conflicts are visible at one glance. When only two input windows are
@@ -401,7 +432,20 @@
    which have priority over no change, so that no difference or conflict is
    lost here.  By clicking into this overview column the corresponding text
    will be shown.
-</para>
+</para></sect2><sect2 id="manualdiffhelp"><title>Manually Aligning Lines</title><para>
+   Sometimes the algorithm places the wrong lines next to each other. Or you want to compare 
+   one piece of text with text at a completely different position in the other file.
+   For these situations you can manually instruct KDiff3 to align certain lines. 
+   Mark the text for which you want to improve the alignment with the mouse as you would 
+   for copy and paste in the first diff view and then choose "Add Manual Diff Alignment" 
+   in the "Diffview"-menu (keyboard shortcut "Ctrl-Y") . An orange bar will appear in 
+   the summary column next to the chosen text. Repeat this for the second and 
+   (if available) third diff view. KDiff3 will immediately recalculate the differences everytime you do this.
+   and will align the chosen lines. Of course some of the previously matching lines in between 
+   might not match anymore.
+</para><para>
+   Currently merging doesn't support the use of manual diff help.
+</para></sect2>
 </sect1>
 
 
@@ -427,7 +471,7 @@
    will   automatically be selected. Only when B and C have changed on the same
    lines,   then the tool detects a conflict that must be solved manually.
    When B and C are the same, but not the same as A, then C is selected.
-</para><para>
+</para><sect2><title>The Summary Column</title><para>
    The merge output editor window also has a summary column on the left. It shows the
    letter of the input from which a line was selected or nothing if all three
    sources where equal on a line. For conflicts it shows a questionmark "?"
@@ -437,23 +481,31 @@
    But only-white-space-conflicts are separated from non-white-space-conflicts
    in order to ease the merging of files were the indentation changed for many
    lines.
-</para><para>
+</para></sect2><sect2 id="synchronise_views"><title>Setting The Current Group And Synchronising Merge And Diff View Position</title><para>
    When clicking into  the summary column with the left mouse button in either
-   window then the group belonging to that line will be selected in all windows
-   and the beginning of that group will be shown. (This might involve an automatic
-   position jump in the windows if the beginning of a group is not visible.)
+   window then the beginning of the group belonging to that line will shown in all windows.
    This group then becomes the "current group". It is highlighted with the
    "Current range (diff) background color" and
    a black bar appears on the left side of the text.
+</para></sect2><sect2><title>Choosing Inputs A, B or C For Current Conflict And Editing</title><para>
+   The button bar below the menu bar contains three input selector buttons 
+   containing the letters "A", "B" and "C". Click the input selector 
+   button to insert (or remove if already inserted) the lines from the respective source.
+   To choose the lines from several inputs click the respective buttons in the
+   needed order. For example if you want that the lines from "B" appear before 
+   the lines from "A" in the output, first click "B", then "A".
 </para><para>
-   Note the input selector buttons containing the letters "A", "B" and
-   "C"   in the button bar below the menu bar. When clicking on either input
-   selector   button, the lines from that input will be added at the end of the
-   selected   group if that group didn't contain that source before. Otherwise
-   the lines   from that input will be removed.
+   If you use the auto-advance option 
+   (<link linkend="autoadvance">"Automatically go to next unsolved conflict after source selection"</link>),
+   you should disable this before choosing lines from several inputs or if you want to
+   edit the lines after your choice. Otherwise KDiff3 will jump to the next
+   conflict after choosing the first input.
 </para><para>
-   Besides, you can directly edit any line. The summary column will show "m"
-   for every line that was modified.
+   It is often helpful directly edit the merge output. 
+   The summary column will show "m" for every line that was manually modified. 
+   When for instance the differences are aligned in a way that simply choosing 
+   the inputs won't be satisfactory, then you can mark the needed text and use 
+   normal <link linkend="selections">copy and paste</link> to put it into the merge output.
 </para><para>
    Sometimes, when a line is removed either by automatic merge or by editing
    and no other lines remain in that group, then the text &lt;No src line&gt;
@@ -464,7 +516,7 @@
    The text "&lt;Merge Conflict&gt;" will appear in the clipboard if you
    copy and   paste some text containing such a line. But still be careful to
    do so.
-</para><para>
+</para></sect2><sect2><title>Choosing Input A, B, or C for All Conflicts</title><para>
    The normal merge will start by solving simple conflicts automatically.
    But the "Merge"-menu provides some actions for other common needs.
    If you have to select the same source for most conflicts, then you can
@@ -479,7 +531,135 @@
    Note: When choosing either source for unsolved whitespace conflicts and
    the options "Ignore Numbers" or "Ignore C/C++ Comments" are used then changes in
    numbers or comments will be treated like whitespace too.
+
+</para></sect2><sect2 id="vcskeywordsmergesupport"><title>Automatic Merge of Version Control Keywords and History (Log)</title><para>
+Many version control systems support special keywords in the file. (e.g. "$Date$", 
+"$Header$", "$Author$", "$Log$
+"$Header$", "$Author$", "Revision 1.5  2006/04/10 08:33:34  joachim99
+"$Header$", "$Author$", "KDiff3 0.9.89
+"$Header$", "$Author$", "" etc.) During the 
+check-in the version control system (VCS) changes these lines. For instance 
+"$Date$" will turn into "$Date$". Since this line will 
+be different in every version of the file, it would require manual interaction 
+during the merge.
+</para><para>
+KDiff3 offers automatic merge for these items. For simple lines that match the 
+"Auto merge regular expression"-option in all input-files KDiff3 will choose 
+the line from B or - if available - from C. (Additionally it is necessary that the lines 
+in question line up in the comparison and the previous line contains no conflict.)
+This auto merge can either be run immediately after a merge starts (activate the option 
+"Run regular expression auto merge on merge start") or later via the merge 
+menu "Run Regular Expression Auto Merge".
+</para><para>
+Automatic merge for version control history (also called "log") is also supported.
+The history automerge can either run immediately when the merge starts by activating the 
+option "Merge version control history on merge start" or later via the merge menu 
+"Automatically Solve History Conflicts".
+</para><para>
+Usually the version control history begins with a line containing the keyword "$Log$
+Usually the version control history begins with a line containing the keyword "Revision 1.5  2006/04/10 08:33:34  joachim99
+Usually the version control history begins with a line containing the keyword "KDiff3 0.9.89
+Usually the version control history begins with a line containing the keyword "".
+This must be matched by the "History start regular expression"-option.
+KDiff3 detects which subsequent lines are in the history by analysing the leading characters 
+that came before the "$Log$
+that came before the "Revision 1.5  2006/04/10 08:33:34  joachim99
+that came before the "KDiff3 0.9.89
+that came before the ""-keyword. If the same "leading comment" also appears in the following
+lines, then they are also included in the history.
+</para><para>
+During each check-in the VCS writes a unique line specifying version-, date- and time-information 
+followed by lines with user comments.
+These lines form one history-entry. This history section grows with every check-in and the 
+most recent entries appear at the top (after the history start line). 
+</para><para>
+When for parallel development two or more developers check-in a branch of the file then 
+the merge history will contain several entries that appear as conflicts during the merge 
+of the branches. Since merging these can become very tedious, KDiff3 offers support with two 
+possible strategies: Just insert the history information from both contributors at the top
+or sort the history information by a user defined key.
+</para><para>
+The just-insert-all-entries-method is easier to configure. KDiff3 just needs a method to
+detect, which lines belong to one history entry. Most VCS insert an empty line after each
+history entry. If there are no other empty lines, this is a sufficient criterion for KDiff3.
+Just set an empty "History entry start regular expression". If the empty line criterion 
+isn't sufficient, you can specify a regular expression to detect the history entry start.
+</para><para>
+Note that KDiff3 will remove duplicate history entrys. If a history entry appeared several times
+in the history of a input file, only one entry will remain in the output.
+</para><para>
+If you want to sort the history, then you have to specify how the sort key should be built.
+Use parentheses in the "History entry start regular expression" to group parts of the regular 
+expression that should later be used for the sort key.
+Then specify the "History entry start sort key order" specifying a comma "," separated list of 
+numbers referring to the position of the group in the regular expression.
+</para><para>
+Because this is not so easy to get right immediately, you are able to test and improve
+the regular expressions and key-generation in a dedicated dialog by pressing the 
+"Test your regular expressions"-button.
+</para><para>Example: Assume a history that looks like this:
+<screen>
+/**************************************************************************
+** HISTORY:    $Log$
+** HISTORY:    Revision 1.5  2006/04/10 08:33:34  joachim99
+** HISTORY:    KDiff3 0.9.89
+** HISTORY:
+**
+**     \main\integration_branch_12   2 Apr 2001 10:45:41   tom
+**  Merged branch simon_branch_15.
+**
+**     \main\henry_bugfix_branch_7\1   30 Mar 2001 19:22:05   henry
+**  Improved the speed for subroutine convertToMesh().
+**  Fixed crash.
+**************************************************************************/
+</screen>
+The history start line matches the regular expression ".*\$Log.*\$.*". Then follow 
+the history entries.
+</para><para>
+The line with the "$Log$
+The line with the "Revision 1.5  2006/04/10 08:33:34  joachim99
+The line with the "KDiff3 0.9.89
+The line with the ""-keyword begins with two "*" after which follows a space. 
+KDiff3 uses the first non-white-space string as "leading comment" and assumes that
+the history ends in the first line without this leading comment. In this example the
+last line ends with a string that also starts with two "*", but instead of a space 
+character more "*" follow. Hence this line ends the history.
+</para><para>
+If history sorting isn't required then the history entry start line regular expression
+could look like this. (This line is split in two because it wouldn't fit otherwise.)
+<screen>
+\s*\\main\\\S+\s+[0-9]+ (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ [0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s+.*
+</screen>
+For details about regular expressions please see the
+<ulink url="http://doc.trolltech.com/3.3/qregexp.html#details">regular expression documentation by Trolltech</ulink>.
+Note that "\s" (with lowercase "s") matches any white space and "\S" (with uppercase "S") matches any non-white-space.
+In our example the history entry start contains first the version info with reg. exp. "\\main\\\S+", the date consisting of day "[0-9]+", month "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)" and year "[0-9][0-9][0-9][0-9]", the time "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]" and finally the developers login name ".*".
+Note that the leading comment (in the example "**") will already be removed by KDiff3 
+before trying to match, hence the regular expression begins with a match for none or more white-space characters "\s*".
+</para><para>
+If you require a sorted history. Then the sortkey must be calculated. For this the 
+relevant parts in the regular expression must be grouped by parentheses. 
+(The extra parentheses can also stay in if history sorting is disabled.)
+<screen>
+\s*\\main\\(\S+)\s+([0-9]+) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ ([0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])\s+(.*)
+</screen>
+The parentheses now contain 1. version info, 2. day, 3. month, 4. year, 5. time, 6. name. 
+But if we want to sort by date and time, we need to construct a key with the elements in a different order of appearance:
+First the year, followed by month, day, time, version info and name. Hence the sortkey order to specify is "4,3,2,5,1,6".
+</para><para>
+Because  month names aren't good for sorting ("Apr" would be first) KDiff3 detects in which order 
+the month names were given and uses that number instead ("Apr"->"04"). 
+And if a pure number is found it will be transformed to a 4-digit value with leading zeros for sorting.
+Finally the resulting sort key for the first history entry start line will be:
+<screen>
+2001 04 0002 10:45:41 integration_branch_12   tom 
+</screen>
+</para><para>
+For more information also see <link linkend="diffmergeoptions">Diff and Merge Settings</link>.
 </para>
+</sect2>
 </sect1>
 
 <sect1 id="navigation"><title>Navigation And Editing</title>
@@ -499,18 +679,20 @@
 </para><para>
    A left-mouse-button-click into any summary column will synchronise all
    windows to show the beginning of the same group of lines (as explained
-   in section <link linkend="merging">"Merging"</link>).
+   in section <link linkend="synchronise_views">"Setting The Current Group And Synchronising Merge And Diff View Position"</link>).
 </para><para>
-   The button bar also contains seven navigation buttons with which you can
+   The button bar also contains nine navigation buttons with which you can
    jump to the current/first/last difference, to the next/previous difference
    (ctrl-down/ctrl-up), to the next/previous conflict (ctrl-pgdown/ctrl-pgup),
    or to the next/previous unsolved conflict. Note that for KDiff3 a "conflict"
    that was not automatically solved at the start of the merge stays a "conflict"
    even if it is solved. Hence the necessity to distinguish "unsolved conflicts".
-</para><para>
+</para>
+<sect2 id="autoadvance"><title>Auto-Advance</title>
+<para>
    There also is a button "Automatically go to next unsolved conflict after
    source selection" (Auto-Advance). If you enable this, then, when one source
-   is selected, then KDiff3 will jump to and select the next unsolved conflict
+   is selected, KDiff3 will jump to and select the next unsolved conflict
    automatically. This can help when you always want to choose one source only.
    When you need both sources, or you want to edit after selecting, then you
    probably want to switch this off. Before proceeding to the next unsolved conflict
@@ -520,6 +702,7 @@
    Tired of many clicks? - Use a small Auto-Advance-delay and the shortcuts
    Ctrl-1/2/3 to select A/B/C for many conflicts.
 </para>
+</sect2>
 </sect1>
 
 <sect1 id="selections"><title>Select, Copy And Paste</title>
@@ -531,15 +714,30 @@
    output   editor you can also select via the keyboard by holding the "shift"-button
    and navigation with the cursor keys.
 </para><para>
+   If the selection exceeds the visible range you can move the mouse over the 
+   window borders which causes KDiff3 to scroll in that direction. 
+</para><para>
+   For very large selections you can also use the navigation keys while holding down 
+   the mouse. E.g. use page up and page down to quickly go to a certain position. At the 
+   end position release the mouse button.
+</para><para>
+   In order to select everything in the current window use menu "Edit"->"Select All" (Ctrl-A).
+</para><para>
    To copy to the clipboard you must press the "Copy"-button (Ctrl-C or Ctrl-Insert).
-   But   there exists an option "Auto Copy Selection". If this is enabled,
-   then  whatever   you select is copied immediately and you don't need to explicitely
+   But there exists an option "Auto Copy Selection". If this is enabled,
+   then whatever you select is copied immediately and you don't need to explicitely
    copy. But pay attention when using this because the contents of the clipboard
-   might   then be destroyed accidentally.
+   might then be destroyed accidentally.
 </para><para>
    "Cut" (Ctrl-X or Shift-Delete) copies to the clipboard and deletes the
-   selected text and   "Paste" (Ctrl-V or Shift-Insert) inserts the text in
-   the clipboard at the cursorposition  or over the current selection.
+   selected text.
+</para><para>
+   "Paste" (Ctrl-V or Shift-Insert) inserts the text in the clipboard at the 
+   cursorposition or over the current selection.
+   If you paste to either diff input window the contents of the clipboard will 
+   be shown in that window and the comparison will restart immediately. This is 
+   useful if you want to quickly grab a piece of text from somewhere and 
+   compare it with something else without first creating files.
 </para>
 </sect1>
 
@@ -567,12 +765,47 @@
    (Ctrl-F) in the Edit-menu opens a dialog that lets you specify the string
    to search for. You can also select the windows which should be searched.
    Searching will always start at the top. Use the "Find Next"-command (F3)
-   to proceed to the next occurance. If you select to search several windows then the first
+   to proceed to the next occurrence. If you select to search several windows then the first
    window will be searched from top to bottom before the search starts in the next
    window at the top again, etc.
 </para>
 </sect1>
 
+<sect1 id="printing"><title>Printing</title>
+<para>
+   KDiff3 supports printing for textfile differences. The "Print..."-command (Ctrl-P) 
+   in the File-menu opens a dialog that allows you to select the printer and to adjust
+   other options.
+</para><para>
+   There are several possibilities to adjust the range. Due to different printing 
+   dialogs on different operating systems, the method to achieve certain range selections varies.
+</para>
+<variablelist>
+   <varlistentry><term>All:</term><listitem><para>Print everything.</para></listitem></varlistentry>
+   <varlistentry><term>Current:</term><listitem><para>Print a page starting at the first visible line in the window. 
+       (On systems without this option this can be achived by specifying page number 10000 for printing.)</para></listitem></varlistentry>
+   <varlistentry><term>Selection:</term><listitem><para>
+       Before choosing to print select text with the mouse (like for copy and paste) 
+       in one of the diff input windows to define the start and end line. If no text 
+       in one of the diff input windows was selected, then this won't be an available 
+       choice. (On systems without this option this can be achived by specifying page 
+       number 9999 for printing.)</para></listitem></varlistentry>
+   <varlistentry><term>Range:</term><listitem><para>Specify the first and last page.
+       </para></listitem></varlistentry>
+</variablelist>
+<para>
+   Other important options for printing will be taken from the normal options:
+</para><itemizedlist>
+   <listitem><para>Font, font size</para></listitem>
+   <listitem><para>Show line numbers</para></listitem>
+   <listitem><para>Word wrap</para></listitem>
+   <listitem><para>Colors</para></listitem>
+   <listitem><para>etc.</para></listitem>
+</itemizedlist>
+<para>
+   Landscape formatting is also recommended for printing.
+</para>
+</sect1>
 
 <sect1 id="options"><title>Options</title>
 <para>
@@ -603,8 +836,16 @@
    <varlistentry><term><emphasis>Conflict Color:</emphasis></term><listitem><para> Usually red.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>Current range background color:</emphasis></term><listitem><para> Usually light yellow.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>Current range diff background color:</emphasis></term><listitem><para> Usually dark yellow.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Color for manually selected diff ranges:</emphasis></term><listitem><para> Usually orange.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Newest file color in directory comparison:</emphasis></term><listitem><para> Usually green.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Oldest file color in directory comparison:</emphasis></term><listitem><para> Usually red.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Middle age file color in directory comparison:</emphasis></term><listitem><para> Usually dark yellow.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Color for missing files in directory comparison:</emphasis></term><listitem><para> Usually black.</para></listitem></varlistentry>
 </variablelist>
 <para>
+   Changing the colors for directory comparison will be effective only when starting the next directory comparison.
+</para>
+<para>
    On systems with only 16 or 256 colors some colors are not available in pure
    form. On such systems the "Defaults"-button will choose a pure color.
 </para>
@@ -622,12 +863,10 @@
       to the clipboard   when active and you needn't explicitely copy it. </para></listitem></varlistentry>
    <varlistentry><term><emphasis>   Line end style:</emphasis></term><listitem><para> When saving you can select what line 
       end style you prefer. The default setting is the common choice for the used operating system. </para></listitem></varlistentry>
-   <varlistentry><term><emphasis>   Use locale encoding:</emphasis></term><listitem><para> For displaying foreign characters.
-      Try changing this if some characters of your language aren't displayed correctly. </para></listitem></varlistentry>
 </variablelist>
 </sect2>
 
-<sect2><title>Diff &amp; Merge Settings</title>
+<sect2 id="diffmergeoptions"><title>Diff and Merge Settings</title>
 <para>
    When comparing files, KDiff3 first it tries to match lines that are equal
    in all input files. Only during this step it might ignore white space. The
@@ -675,6 +914,55 @@
       in the merge menu. Note that if you enable either "Ignore numbers" or "Ignore C/C++ comments"
       then this auto-choice also applies for conflicts in numbers or comments.
    </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Auto merge regular expression:</emphasis></term><listitem><para>
+      Regular expression for lines where KDiff3 should automatically choose one source. See also <link linkend="vcskeywordsmergesupport">Automatic Merge ...</link>
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Run regular expression auto merge on merge start:</emphasis></term><listitem><para>
+      If activated KDiff3 runs the automatic merge using the "Auto merge regular expression" when a merge is started.
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>History start regular expression:</emphasis></term><listitem><para>
+      Regular expression for the start of the merge history entry.
+      Usually this line contains the "$Log$
+      Usually this line contains the "Revision 1.5  2006/04/10 08:33:34  joachim99
+      Usually this line contains the "KDiff3 0.9.89
+      Usually this line contains the ""-keyword.
+      Default value: ".*\$Log.*\$.*"
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>History entry start regular expression:</emphasis></term><listitem><para>
+      A merge history entry consists of several lines.
+      Specify the regular expression to detect the first line (without the leading comment).
+      Use parentheses to group the keys you want to use for sorting.
+      If left empty, then KDiff3 assumes that empty lines separate history entries.
+      See also <link linkend="vcskeywordsmergesupport">Automatic Merge ...</link>
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>History merge sorting:</emphasis></term><listitem><para>
+      Enable version control history sorting.
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>History entry start sort key order:</emphasis></term><listitem><para>
+      Each parentheses used in the regular expression for the history start entry
+      groups a key that can be used for sorting.
+      Specify the list of keys (that are numbered in order of occurrence
+      starting with 1) using ',' as separator (e.g. "4,5,6,1,2,3,7").
+      If left empty, then no sorting will be done.
+      See also <link linkend="vcskeywordsmergesupport">Automatic Merge ...</link>
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Merge version control history on merge start:</emphasis></term><listitem><para>
+      If activated KDiff3 runs the automatic history merging using aforementioned options when a merge is started.
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Test your regular expressions</emphasis></term><listitem><para>
+      This button shows a dialog that allows you to improve and test the regular expressions above.
+      Just copy the respective data from your files into the example lines. The "Match results" 
+      will immediately show whether the match succeeds or not.
+      The "Sort key result" will display the key used for history merge sorting.
+   </para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Irrelevant merge command:</emphasis></term><listitem><para>
+      Specify a command of your own that should be called when KDiff3 detects 
+      that for a three file merge the file from B doesn't contribute any 
+      relevant data that isn't already contained in the file from C.
+      The command is called with the three filenames as parameters.
+      Data matched by the "Auto merge regular expression" or in the 
+      history isn't considered relevant.
+   </para></listitem></varlistentry>
 </variablelist>
 
 </sect2>
@@ -844,9 +1132,10 @@
 http://unxutils.sourceforge.net</ulink>.
 Note that the following examples assume that the <command>sed</command>-command is in some 
 directory in the PATH-environment variable. If this is not the case, you have to specify the full absolute
-path for the command. Also note that the following examples use the single quotation mark (') which won't work for Windows. 
-On Windows you should use the double quotation marks (") instead.
+path for the command. 
 </para>
+<note><para>Also note that the following examples use the single quotation mark (') which won't work for Windows. 
+On Windows you should use the double quotation marks (") instead.</para></note>
 <para>
 In this context only the <command>sed</command>-substitute-command is used:
 <screen>
@@ -892,8 +1181,8 @@
 to add or remove a special meaning of certain characters. The single quotation marks (') before 
 and after the substitution-command are important now, because otherwise the shell will
 try to interpret some special characters like '#', '$' or '\' before passing them to 
-<command>sed</command>. Note that on Windows you will need the double quotation marks (") here. Windows
-substitutes other characters like '%', so you might have to experiment a little bit.
+<command>sed</command>. <emphasis>Note that on Windows you will need the double quotation marks (") here. Windows
+substitutes other characters like '%', so you might have to experiment a little bit.</emphasis>
 </para>
 </sect3>
 <sect3><title>Caseinsensitive Diff</title>
@@ -1007,7 +1296,7 @@
 <sect2><title>Warning</title>
 <para>
 The preprocessor-commands are often very useful, but as with any option that modifies
-your texts or hides away certain differences automatically, you might accidently overlook 
+your texts or hides away certain differences automatically, you might accidentally overlook 
 certain differences and in the worst case destroy important data.
 </para><para>
 For this reason during a merge if a normal preprocessor-command is being used KDiff3 
@@ -1025,7 +1314,7 @@
 
 
 <chapter id="dirmerge"><title>Directory Comparison and Merge with KDiff3</title>
-<sect1 id="dirmergeintro"><title>Introduction</title>
+<sect1 id="dirmergeintro"><title>Introduction into Directory Comparison and Merge</title>
 <para>
    Often programmers must modify many files in a directory to achieve their
    purpose. For this KDiff3 also lets you compare and merge complete directories
@@ -1101,7 +1390,7 @@
 </sect2>
 </sect1>
 
-<sect1 id="dirmergevisible"><title>Visible Information</title>
+<sect1 id="dirmergevisible"><title>Directory Merge Visible Information</title>
 <para>
    While reading the directories a message-box appears that informs you of
    the progress. If you abort the directory scan, then only files that have
@@ -1270,10 +1559,34 @@
 </para>
 </sect2>
 
+<sect2 id="selectingvisiblefiles"><title>Selecting Listed Files</title>
+<para>   
+   Several options influence which files are listed here. Some are accessible in the 
+   <link linkend="dirmergeoptions">settings dialog</link>. The Directory-menu contains the entries:
+</para><para><itemizedlist>
+     <listitem><para>"Show Identical Files": Files that have been detected equal in all input directories.</para></listitem>
+     <listitem><para>"Show Different Files": Files that exist in two or more directories but are not equal.</para></listitem>
+     <listitem><para>"Show Files only in A": Files that exist only in A, but not in B or C.</para></listitem>
+     <listitem><para>"Show Files only in B": Files that exist only in B, but not in A or B.</para></listitem>
+     <listitem><para>"Show Files only in C": Files that exist only in C, but not in A or B.</para></listitem>
+</itemizedlist></para>
+<para>
+   Activate only the "Show"-options for the items you want listed. If for example you only want to list all items that 
+   exist either in A or in B but not in both, you'll have to activate "Show Files only in A" and "Show Files only in B" 
+   and deactivate all others ("Show Identical Files", "Show Different Files", "Show Files only in C").
+   The list will be updated immediately to reflect the change.
+</para><para>
+   These options also apply for directories with one exception: Disabling "Show Different Files" will not hide 
+   any complete directories. This will work only for files within.
+</para><para>
+   Note that of these only the "Show Identical Files"-option is persistant. The others are enabled when starting KDiff3. 
+</para>
+</sect2>
+
 </sect1>
 
 
-<sect1 id="dothemerge"><title>Doing A Merge</title>
+<sect1 id="dothemerge"><title>Doing A Directory Merge</title>
 <para>
    You can either merge the currently selected item (file or directory), or all items.
    When you have made all your operation choices (in all subdirectories too)
@@ -1293,21 +1606,26 @@
                      will not be found.</para></listitem>
      <listitem><para>"Pattern"/"Anti-Pattern": Include/exclude items that match</para></listitem>
      <listitem><para>"Exclude Hidden Files"</para></listitem>
-     <listitem><para>"List only Deltas": Files that match in all directories don't appear
-                     in the tree, and hence also not in the destination.</para></listitem>
+     <listitem><para><link linkend="selectingvisiblefiles">"Show"-options</link> (Show Identical/Different Files, Files only in A/B/C)</para></listitem>
 </itemizedlist>
 <para>
-   (In the current version, you must do a rescan via menu "Directory"->"Rescan"
-   yourself, after changing options affecting the directory scan.)
+   If you change the settings in order to list more files, you must do a rescan via menu "Directory"->"Rescan" yourself.
+   (The reason for this is that for faster comparison-speed KDiff3 omits the comparison for files suppressed by these criteria.)
+   If you changed your file and dir patterns to exclude files, then the file-list will immediately be updated on closing
+   the options-dialog.
+</para><para>
+   Note that when you write to a completely new directory then you usually also want to copy the identical files.
+   In that case enable the "Show Identical Files"-option. If your destination-directory is one of the inputs, 
+   then this isn't necessary because the file is already there.
 </para><para>
    If you are satisfied so far, the rest is easy.
 </para><para>
    To merge all items: Select "Start/Continue directory merge" in the "Directory"-menu
-   or press F7 (which is the shortcut).
+   or press F7 (which is the default shortcut).
    To merge only the current item: Select "Run Operation For Current Item"
    or press F6.
 </para><para>
-   If  due to conflicting filetypes still some items with invalid operations
+   If due to conflicting filetypes still some items with invalid operations
    exist, then a messagebox will appear and these items will be pointed out,
    so you can select a valid operation for the item.
 </para><para>
@@ -1324,8 +1642,8 @@
    interaction  is required (single file merge), then a merge window will open
    (<link linkend="dirmergebigscreenshot">see the big screenshot</link>).
 </para><para>
-   When you have finished with a file, again select "Start/Continue directory
-   merge" or the key F7. If you haven't saved yet, a dialog will ask you to
+   When you have finished with manually merging a file, again select "Start/Continue directory
+   merge" or the key F7. If you haven't saved it yet, a dialog will ask you to
    do so. Then KDiff3 will continue with the next item.
 </para><para>
    When KDiff3 encounters an error, it will tell you so and will show the
@@ -1338,17 +1656,18 @@
    When the merge is complete, then KDiff3 will inform you via a message
    box.
 </para><para>
-   If some items were merged individually then KDiff3 remembers this (while this
+   If some items were merged individually before running the directorymerge then 
+   KDiff3 remembers this (while this
    merge-session goes on), and doesn't merge them again when later the merge for
    all items is run. Even when the merge was skipped or nothing was saved these
-   items count as completed. Only when you change the merge operation the item
-   will be merged again.
+   items count as completed. Only when you change the merge operation the 
+   "Done"-status of the item will be removed and it can be merged again.
 </para>
 </sect1>
 
 <sect1 id="dirmergeoptions"><title>Options for Comparing and Merging Directories</title>
 <para>
-   The KDiff3-preferences (menu "Settings"-&gt;"Configure KDiff3") now has
+   The KDiff3-preferences (menu "Settings"-&gt;"Configure KDiff3") has
    a section called "Directory Merge" with these options:
 </para>
 
@@ -1356,13 +1675,17 @@
    <varlistentry><term><emphasis>Recursive Directories:</emphasis></term><listitem><para> Select whether to search directories
          recursively.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>File Pattern(s):</emphasis></term><listitem><para> Only files that match any pattern here will
-         be put in the tree. More than one pattern may be specified here via using
+         be put in the tree. More than one pattern may be specified here by using
          the semicolon ";" as separator. Valid wildcards: '*' and '?'. (e.g. "*.cpp;*.h").
-         Default is "*". Directories need not match this pattern.</para></listitem></varlistentry>
-   <varlistentry><term><emphasis>Anti-Pattern(s):</emphasis></term><listitem><para> Files and directories that match this pattern
+         Default is "*". This pattern is not used on directories.</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>File Anti-Pattern(s):</emphasis></term><listitem><para> Files that match this pattern
          will be excluded from the tree. More than one pattern may be specified here
          via using the semicolon ";" as separator. Valid wildcards: '*' and '?'. Default
-         is "*.orig;*.o".</para></listitem></varlistentry>
+         is "*.orig;*.o;*.obj".</para></listitem></varlistentry>
+   <varlistentry><term><emphasis>Directory Anti-Pattern(s):</emphasis></term><listitem><para> Directories that match this pattern
+         will be excluded from the tree. More than one pattern may be specified here
+         via using the semicolon ";" as separator. Valid wildcards: '*' and '?'. Default
+         is "CVS;deps;.svn".</para></listitem></varlistentry>
    <varlistentry><term><emphasis>Use CVS-Ignore:</emphasis></term><listitem><para>
          Ignore files and directories that would also be ignored by CVS.
          Many automatically generated files are ignored by CVS.
@@ -1381,14 +1704,9 @@
          the program doesn't check if the link is "recursive". So for example a directory
          that contains a link to the directory would cause an infinite loop, and after
          some time when the stack overflows or all memory is used up, crash the program.)
-         Default is off.</para></listitem></varlistentry>   
-   <varlistentry><term><emphasis>List only deltas:</emphasis></term><listitem><para> Only items that are not equal in all input
-         directories will be listed and only the changed files are visible. Hence
-         files that are equal in all directories won't be copied during a merge and
-         if the destination dir does not contain the files before the merge, you might
-         miss some files later. (This option is likely to be changed in a later version.)
          Default is off.</para></listitem></varlistentry>
-
+   <varlistentry><term><emphasis>Case Sensitive Filename Comparison:</emphasis></term><listitem><para> 
+         Default is false on Windows, true for other operating systems.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>File Comparison Mode:</emphasis></term><listitem><para>
 <variablelist>            
    <varlistentry><term><emphasis>Binary Comparison:</emphasis></term><listitem><para>
@@ -1419,7 +1737,7 @@
          Default is off.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>Copy newer instead of merging:</emphasis></term><listitem><para> Instead of merging the proposed
          operation will copy the newer source if changes happened. (Considered unsafe,
-         because it implies that the knowledge, that the other file hasn't been edited
+         because it implies that you know, that the other file hasn't been edited
          too. Check to make sure in every case.) Default is off.</para></listitem></varlistentry>
    <varlistentry><term><emphasis>Backup files:</emphasis></term><listitem><para> If a file or complete directory is replaced
          by  another or is deleted then the original version will be renamed with an
@@ -1429,7 +1747,7 @@
 </variablelist>
 </sect1>
 
-<sect1 id="other"><title>Other Functions</title>
+<sect1 id="other"><title>Other Functions in Directory Merge Window</title>
 <sect2><title>Split/Full Screen Mode</title>
 <para>
    Usually the directory merge list view remains visible while a single file
@@ -1444,8 +1762,8 @@
 <para>
    Probably you will prefer a simple double mouse click on a file in order
    to compare it. Nevertheless there also exists an entry in the "Directory"-menu.
-   You can also directly merge a single file, without starting the directory
-   merge via the "Merge single file" in the "Directory"-Menu. On saving the
+   You can also directly merge a single file by selecting it and 
+   choosing "Merge current file" in the "Merge"-Menu. On saving the
    result, the status will be set to done, and the file will not be merged again
    if a directory merge is started.
 </para><para>
@@ -1453,6 +1771,22 @@
    scan: "Directory"-menu: "Rescan"
 </para>
 </sect2>
+<sect2><title>Comparing or Merging Files with Different Names</title>
+<para>
+   Sometimes you need to compare or merge files with different names (e.g. the current 
+   file and the backup in the same folder).
+</para><para>
+   Select the exact file by clicking onto the icon in the column A, B or C. The first 
+   file selected thus will be marked with an "A", the second and third with "B" and "C" 
+   regardless on what column they are in. Only up to three files can be chosen like this.
+</para><para>
+   Proceed by choosing "Compare Explicitely Selected Files" or "Merge Explicitely 
+   Selected Files" from the "Directory"-menu. For your convenience these menu entries 
+   also appear as context menu when you right-click the last selected file.
+</para><para>
+   The comparison or merge of a file will happen in the same window. 
+   If this method is used for directories a new window will be opened.
+</para></sect2>
 </sect1>
 </chapter>
 
@@ -1465,7 +1799,7 @@
 KDE supports networktransparency via KIO-slaves. KDiff3 uses this
 for reading input files and for scanning directories.
 This means that you can specify files and directories on local and
-remote ressources via URLs.
+remote resources via URLs.
 </para><para>
 Example:
 </para><para>
@@ -1606,6 +1940,7 @@
    are   treated as "equal" at first, while just one different non-white character
    causes the lines to be "different". If similar lines appear next to each
    other, this actually is coincidence but this fortunately is often the case.
+   See also <link linkend="manualdiffhelp">Manual Diff Help</link>.
 </para></answer></qandaentry>
 
 <qandaentry><question><para>
@@ -1620,6 +1955,12 @@
 </para></answer></qandaentry>
 
 <qandaentry><question><para>
+   How can I synchronise the diff and merge views, so that all views show the same text position?
+</para></question><answer><para>
+  Click into the summary column left of the text. (<link linkend="synchronise_views">See also here.</link>)
+</para></answer></qandaentry>
+
+<qandaentry><question><para>
    Why does the editor in the merge result window not have an "undo"-function?
 </para></question><answer><para>
   This was too much effort until now. You can always
@@ -1649,6 +1990,45 @@
 </para></answer></qandaentry>
 
 <qandaentry><question><para>
+   Can I use KDiff3 to compare OpenOffice.Org, Word, Excel, PDF-, etc. files?
+</para></question><answer><para>
+   Although KDiff3 will analyse any kind of file the result will probably
+   not be very satisfactory for you.
+</para><para>
+   KDiff3 was made to compare pure text files. OpenOffice, Word, Excel etc.
+   store much more information in the files (about fonts, pictures, pages,
+   colors etc.) which KDiff3 doesn't know about. So KDiff3 will 
+   show you the contents of the file interpreted as pure text, but 
+   this might be unreadable or at least it will look very odd.
+</para><para>
+   Since most programs nowadays store their contents in XML-format, you might 
+   be able to read it as pure text. So if the change was only small,
+   KDiff3 still might help you.
+</para><para>
+   The best solution if you only want to compare the text (without embedded 
+   objects like pictures) is to use "Select All" and "Copy" in your program 
+   to copy the interesting text to the clipoard and then in KDiff3 paste the 
+   text into either diff input window. 
+   (See also <link linkend="selections">Select, Copy And Paste</link>.)
+</para></answer></qandaentry>
+
+<qandaentry><question><para>
+   Where has the the directory option "List only deltas" gone?
+</para></question><answer><para>
+   There are now several <link linkend="selectingvisiblefiles">"Show"-options</link> in the directory menu.
+   Disabling "Show identical files" will achieve what enabling "List only deltas" used to do.
+</para></answer></qandaentry>
+
+<qandaentry><question><para>
+   How can I make a big selection in the diff input window
+   because scrolling takes so long?
+</para></question><answer><para>
+   Start the selection as usual (click and hold the left mouse button). 
+   Then use the navigation keys (e.g. page up, page down) while holding the left mouse button down.
+   (See also <link linkend="selections">Select, Copy And Paste</link>.)
+</para></answer></qandaentry>
+
+<qandaentry><question><para>
    There is so much information here, but your question is still not answered?
 </para></question><answer><para>
    Please send me your question. I appreciate every comment.
@@ -1665,14 +2045,14 @@
 &kdiff3; - File and Directory Comparison and Merge Tool
 </para>
 <para>
-Program copyright 2002-2005 Joachim Eibl <email>joachim.eibl at gmx.de</email>
+Program copyright 2002-2006 Joachim Eibl <email>joachim.eibl at gmx.de</email>
 </para>
 <para>
-Several cool ideas and bugreports came from colleagues and many people out in the Wild Wild Web. Thank you!
+Several cool ideas and bugreports came from colleagues and many people out in the World Wild Web. Thank you!
 </para>
 
 <para>
-Documentation Copyright &copy; 2002-2005 Joachim Eibl <email>joachim.eibl at gmx.de</email>
+Documentation Copyright &copy; 2002-2006 Joachim Eibl <email>joachim.eibl at gmx.de</email>
 </para>
 
 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
@@ -1728,6 +2108,7 @@
 <replaceable>kde-dir</replaceable> specifies the directory
 containing KDE on your system. If you are not sure, read the README-file for details.
 </para>
+<para>If you don't use KDE don't use <command>configure</command> but follow the instructions for Qt-only systems in the README file.</para>
 <para>Since &kdiff3; uses <command>autoconf</command> and
 <command>automake</command> you should have no trouble compiling it. Should you
 run into problems please report them to the &kde; mailing lists.</para>
Binary file kdiff3/doc/en/iteminfo.png has changed
Binary file kdiff3/doc/en/letter_by_letter.png has changed
Binary file kdiff3/doc/en/merge_current.png has changed
Binary file kdiff3/doc/en/open_dialog.png has changed
Binary file kdiff3/doc/en/screenshot_diff.png has changed
Binary file kdiff3/doc/en/screenshot_merge.png has changed
Binary file kdiff3/doc/en/triple_diff.png has changed
Binary file kdiff3/doc/en/white_space.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/es/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,4 @@
+KDE_DOCS = kdiff3
+KDE_LANG = es
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/es/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2982 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+  <!ENTITY kdiff3 "<application
+>KDiff3</application
+>">
+  <!ENTITY kappname "&kdiff3;">
+  <!ENTITY package "extragear-utils">
+  <!ENTITY % addindex "IGNORE">
+  <!ENTITY % Spanish "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<bookinfo>
+<title
+>El manual de &kdiff3;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Joachim</firstname
+> <surname
+>Eibl</surname
+></personname
+> <email
+>joachim.eibl@gmx.de</email
+> </author>
+<othercredit role="translator"
+> <firstname
+>Santiago</firstname
+> <surname
+>Fernández Sancho</surname
+> <affiliation
+><address
+><email
+>santi@est.unileon.es</email
+></address
+></affiliation
+> <contrib
+>Traductor</contrib
+> </othercredit
+> 
+
+</authorgroup>
+
+<copyright>
+<year
+>2002</year
+><year
+>2005</year>
+<holder
+>Joachim Eibl</holder>
+</copyright>
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<date
+>2005-01-30</date>
+<releaseinfo
+>0.9.87</releaseinfo>
+
+<abstract>
+<para
+>&kdiff3; es una herramienta para ver diferencias y fusionar archivos y directorios que: <itemizedlist>
+<listitem
+><para
+>Compara y fusiona dos o tres archivos o directorios de texto.</para
+></listitem>
+<listitem
+><para
+>Muestra las diferencias línea a línea y caracter a caracter (!).</para
+></listitem>
+<listitem
+><para
+>Proporciona una utilidad de fusión automática.</para
+></listitem>
+<listitem
+><para
+>Tiene un editor para resolver de forma cómoda los conflictos de fusión.</para
+></listitem>
+<listitem
+><para
+>Proporciona transparencia de red a través de KIO.</para
+></listitem>
+<listitem
+><para
+>Tiene opciones para resaltar u ocultar los cambios en los espacios en blanco o en los comentarios.</para
+></listitem>
+<listitem
+><para
+>Soporta Unicode, UTF-8 y otras codificaciones de archivo.</para
+></listitem>
+</itemizedlist>
+</para>
+</abstract>
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear</keyword>
+<keyword
+>kdiff3</keyword>
+<keyword
+>diferencia</keyword>
+<keyword
+>fusión</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>triple diferencia</keyword>
+<keyword
+>comparar</keyword>
+<keyword
+>archivos</keyword>
+<keyword
+>directorios</keyword>
+<keyword
+>control de versiones</keyword>
+<keyword
+>fusión del árbol</keyword>
+<keyword
+>diferencias en línea</keyword>
+<keyword
+>sincronización</keyword>
+<keyword
+>kpart</keyword>
+<keyword
+>kio</keyword>
+<keyword
+>transparencia de red</keyword>
+<keyword
+>editor</keyword>
+<keyword
+>espacio en blanco</keyword>
+<keyword
+>comentarios</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction"
+><title
+>Introducción</title>
+<sect1 id="why"
+><title
+>¿Otro interfaz para diff?</title>
+<para
+>Ya existen varias herramientas gráficas para diff. ¿Por qué elegir &kdiff3;? Déjeme decirle por qué lo escribí.</para>
+
+<para
+>&kdiff3; se inició debido a la dificultad para hacer la fusión. La fusión es necesaria cuando varias personas trabajan sobre los mismos archivos en un proyecto. Una fusión puede ser algo automatizado, cuando la herramienta de fusionado no solo tiene nuevos archivos modificados (llamados «ramas»), sino también el archivo original (llamado «base»). La herramienta de fusionado seleccionará automáticamente cualquier modificación que se haga solo en una rama. Cuando varios colaboradores cambian la misma línea, la herramienta detecta un conflicto que deberá resolverse manualmente.</para>
+
+<para
+>El fusionado se vuelve difícil porque, por ejemplo, un colaborador cambió muchas cosas y corrigió el sangrado en algunos lugares. Otro colaborador también cambió mucho texto en el mismo archivo, y todo esto dió como resultado varios conflictos durante la fusión.</para>
+
+<para
+>La herramienta que utilizaba, solo mostraba las líneas cambiadas, pero no los cambios hechos en estas líneas. Y no había información sobre los cambios en el sangrado. La fusión era una pequeña pesadilla.</para>
+
+<para
+>Por eso empecé. La primera versión podía mostrar las diferencias en un línea y las diferencias en los espacios en blanco. Después se añadieron otras características para incrementar la utilidad.</para>
+
+<para
+>Por ejemplo, si desea comparar algún texto rápidamente, podrá copiarlo al portapapeles y pegarlo en otra ventana de diff.</para>
+
+<para
+>Una característica que requería un enorme esfuerzo era la capacidad de comparar y fusionar directorios, que convirtió el programa en un navegador de archivos completo.</para>
+
+<para
+>Espero que &kdiff3; le funcione también. ¡Diviértase!</para>
+
+<para
+>Joachim Eibl (2003)</para>
+</sect1>
+
+<sect1 id="screenshots"
+><title
+>Capturas de pantalla y características</title>
+<para
+>Esta captura de pantalla muestra la diferencia entre dos archivos de texto.</para>
+<para
+>(Utilizando una versión temprana de &kdiff3;):</para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para
+>Están plenamente soportadas 3 formas de fusionado. Ésto es práctico si dos personas cambian código de manera independiente.</para>
+<para
+>El archivo original (la base) se utiliza para ayudar a &kdiff3; a seleccionar automáticamente los cambios correctos.</para>
+<para
+>El editor de la fusión inferior le permitirá resolver los conflictos a través de las ventanas de diff, mostrándole la salida que obtendría.</para>
+<para
+>También podrá editar la salida.</para>
+
+<para
+>Esta captura muestra tres archivos de entrada que se han fusionado:</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para id="dirmergebigscreenshot"
+>&kdiff3; también le ayuda a comparar y fusionar directorios completos. Esta captura muestra &kdiff3; durante la fusión de un directorio:</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="dirmergebig.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+</sect1>
+
+<sect1 id="features"
+><title
+>Más características</title>
+<sect2
+><title
+>Visor de diferencias línea a línea y caracter a caracter</title>
+
+<para
+>Utilizando las posibilidades que permite una pantalla gráfica a color &kdiff3; muestra exactamente cuál es la diferencia. Cuando haga algunas revisiones de código, obtendrá algo como esto.</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="letter_by_letter.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Ver diferencias de espacios en blanco de un vistazo</title>
+<para
+>Los espacios y tabulaciones que difieren se muestran visiblemente. Cuando las líneas difieren solo en la cantidad de espacios en blanco puede verse de un vistazo en la columna resumen en la parte izquierda (no más preocupaciones cuando se hagan cambios en el sangrado). </para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="white_space.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Triple diferencia</title>
+<para
+>Analiza tres archivos y ve dónde está la diferencia. </para
+><para
+>Las ventanas izquierda/central/derecha se llamarán A/B/C y tendrán los colores azul/verde/gris respectivamente. </para
+><para
+>Si un archivo es igual y el otro es diferente en una línea, el color mostrado en el archivo será diferente. El color rojo significa que ambos archivos son diferentes. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="triple_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Fusión cómoda de dos o tres archivos de entrada</title>
+<para
+>&kdiff3; puede utilizarse para fusionar dos o tres archivos de entrada y hacer la fusión todo lo automática que sea posible. El resultado se presentará en una ventana editable donde se podrán resolver la mayor parte de los conflictos con una pulsación de ratón: Seleccione los botones A/B/C de la barra de botones para seleccionar la fuente que se utilizará. También podrá seleccionar más de una fuente. Como la ventana de salida es un editor aunque los conflictos puedan necesitar correcciones más profundas, éste hecho puede resolverse aquí sin ninguna herramienta adicional. </para>
+</sect2>
+
+<sect2
+><title
+>Y ...</title>
+<itemizedlist>
+   <listitem
+><para
+>Navegación rápida a través de los botones.</para
+></listitem>
+   <listitem
+><para
+>Una pulsación del ratón en la columna resumen sincronizará todas las ventanas para mostrar la misma posición.</para
+></listitem>
+   <listitem
+><para
+>Seleccione una copia desde cualquier ventana y péguela en la ventana de fusión del resultado.</para
+></listitem>
+   <listitem
+><para
+>Columna de vista general que muestra los cambios y conflictos.</para
+></listitem>
+   <listitem
+><para
+>Los colores pueden ajustarse a sus preferencias.</para
+></listitem>
+   <listitem
+><para
+>Tamaño de pestaña ajustable.</para
+></listitem>
+   <listitem
+><para
+>Opción de insertar espacios en lugar de tabuladores.</para
+></listitem>
+   <listitem
+><para
+>Abrir archivos cómodamente a través de un diálogo o especificando archivos en la línea de órdenes.</para
+></listitem>
+   <listitem
+><para
+>Buscar cadenas en todas las ventanas de texto. Buscar (<keycombo
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+>) y Buscar siguiente (<keycap
+>F3</keycap
+>).</para
+></listitem>
+   <listitem
+><para
+>Mostrar los números de línea. </para
+></listitem>
+   <listitem
+><para
+>Pegar el portapapeles y arrastrar texto a una ventana de diferencias.</para
+></listitem>
+   <listitem
+><para
+>Transferencia de red a través de KIO.</para
+></listitem>
+   <listitem
+><para
+>Puede utilizarse como visor de diff en KDevelop 3.</para
+></listitem>
+   <listitem
+><para
+>Ajuste de línea para las líneas largas.</para
+></listitem>
+   <listitem
+><para
+>Soporte para Unicode, UTF-8 y otras codificaciones.</para
+></listitem>
+   <listitem
+><para
+>Soporte para idiomas que van de derecha a izquierda.</para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="documentation"
+><title
+>Documentación de la comparación y fusión de archivos</title>
+
+<sect1 id="commandline"
+><title
+>Opciones de la línea de órdenes</title>
+
+<sect2
+><title
+>Comparar 2 archivos: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Fusionar 2 archivos: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2</replaceable
+> <option
+>-m</option>
+<command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2</replaceable
+> <option
+>-o</option
+> <replaceable
+>archivosalida</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Comparar 3 archivos: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2 archivo3</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Fusionar 3 archivos: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2 archivo3</replaceable
+> <option
+>-m</option>
+<command
+>kdiff3</command
+> <replaceable
+>archivo1 archivo2 archivo3</replaceable
+> <option
+>-o</option
+> <replaceable
+>archivosalida</replaceable
+></screen>
+<para
+>Tenga en cuenta que <replaceable
+>archivo1</replaceable
+> será tratado como base de <replaceable
+>archivo2</replaceable
+> y <replaceable
+>archivo3</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Caso especial: Archivos con el mismo nombre </title>
+<para
+>Si todos los archivos tienen el mismo nombre pero están en directorios diferentes, puede reducir el tipo de trabajo especificando el nombre del archivo sólo para el primer archivo. &eg;: </para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>directorio1/nombrearchivo directorio2 directorio3</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Línea de órdenes para iniciar la comparación o fusión de un directorio: </title>
+<para
+>Es muy similar, pero ahora  sobre directorios.</para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2</replaceable
+> <option
+>-o</option
+> <replaceable
+>directoriodestino</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2 directorio3</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2 directorio3</replaceable
+> <option
+>-o</option
+> <replaceable
+>directoriodestino</replaceable
+>
+</screen>
+<para
+>Para la comparación y fusión de directorios puede continuar leyendo <link linkend="dirmerge"
+>aquí</link
+>.</para>
+</sect2>
+
+<sect2
+><title
+>Para obtener más información sobre las opciones de la línea de órdenes utilice: </title>
+<screen
+><command
+>kdiff3</command
+> <option
+>--help</option>
+<computeroutput
+>Opciones:
+  -m, --merge               Fusiona la entrada.
+  -b, --base archivo        Archivo base explícito. Por compatibilidad con ciertas herramientas.
+  -o, --output archivo      Archivo de salida. Supone -m. Ejem.: -o nuevoarchivo.txt
+  --out archivo             Archivo de salida, de nuevo. (Por compatibilidad con ciertas herramientas.)
+  --auto                    Sin interfaz si todos los conflictos se resuelven de forma automática. (Necesita -o archivo)
+  --qall                    No resuelve los conflictos automáticamete. (Por compatibilidad...)
+  --L1 alias1               Reemplazo de nombre visible para la entrada del archivo 1 (base).
+  --L2 alias2               Reemplazo de nombre visible para la entrada del archivo 2.
+  --L3 alias3               Reemplazo de nombre visible para la entrada del archivo 3.
+  -L, --fname alias         Reemplazo de nombre visible alternativo. Proporcione éste una vez para cada entrada.
+  -u                        Sin efecto. Por compatibilidad con ciertas herramientas.</computeroutput
+></screen>
+</sect2>
+
+</sect1>
+
+<sect1 id="opendialog"
+><title
+>Diálogo abrir</title>
+<para
+>Como se pueden seleccionar varios archivos de entrada, el programa tiene un diálogo de apertura especial: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="open_dialog.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>El diálogo abrir le permite editar los nombres de los archivos manualmente, seleccionando un archivo a través del navegador de archivos (<guilabel
+>Archivo...</guilabel
+>) o permitir la elección de los archivos recientes a través de las listas desplegables. Si abre el diálogo nuevamente, el nombre actual continúa ahí. El tercer archivo de entrada no es necesario. si la entrada para «C» permanece vacía, solo se efectuará el análisis de diferencia de dos archivos. </para
+><para
+>Puede seleccionar un directorio a través de <guilabel
+>Dir...</guilabel
+> Si se especifica un directorio para A entonces comienza la comparación/fusión de directorios. Si en A especifica un archivo pero en B,C o en la salida se especifica un directorio, &kdiff3; utiliza el nombre del archivo de A en los directorios especificados. </para
+><para
+>Si está seleccionado <guilabel
+>Fusionar</guilabel
+>, la línea de <guilabel
+>Salida</guilabel
+> será editable. Pero no se necesita especificar el nombre de archivo de salida de forma inmediata. Puede postponerlo hasta que lo guarde. </para
+><para
+>El botón <guibutton
+>Configurar...</guibutton
+> abre el diálogo de opciones, de forma que pueda seleccionar las opciones antes de realizar el análisis. </para>
+</sect1>
+
+<sect1 id="pasteinput"
+><title
+>Pegar y soltar la entrada</title>
+<para
+>Algunas veces deseará comparar partes de un texto que no sea propiamente un archivo. &kdiff3; también le permite pegar texto desde el portapapeles a la ventana de entrada de diff que tenga el foco. El análisis de las diferencias se producirá inmediatamente. En el diálogo abrir no necesitará especificar archivos entonces, ciérrelo con el botón <guibutton
+>Cancelar</guibutton
+>. </para
+><para
+>También podrá utilizar arrastrar y soltar: Arrastre un archivo desde un administrador de archivos o seleccione texto en un editor y arrástrelo a la ventana de entrada. </para
+><para
+>¿Cuál es la idea? Algunas veces un archivo contiene dos funciones similares, pero comprobar las similitudes es un esfuerzo enorme si primero debe crear los archivos y luego cargarlos. Ahora bastará con copiar, pegar y comparar las secciones relevantes. </para>
+<note
+><para
+>En estos momentos no podrá arrastrar nada desde &kdiff3;. Solo está soportado en la ventana de entrada diff. </para
+></note>
+<warning
+><para
+>Algunos editores todavía interpretan arrastrar y soltar en otro programa como cortar (en lugar de copiar) y pegar. En este caso sus datos originales se perderían. </para
+></warning>
+</sect1>
+
+<sect1 id="interpretinginformation"
+><title
+>Interpretar la información en las ventanas de entrada</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>En la parte superior de cada ventana de texto se encuentra la «línea de información». Las líneas de información de las ventanas de entrada contienen una letra <guilabel
+>A</guilabel
+>, <guilabel
+>B</guilabel
+> o <guilabel
+>C</guilabel
+>, el nombre del archivo y el número de línea de la primera línea visible en la ventana (recuerde que la ventana <guilabel
+>C</guilabel
+> es opcional). Cada línea de información aparecerá de diferente color (Si las rutas son demasiado largas para ajustarlas, puede mover el ratón sobre la línea de información y se le mostrará un mensaje con el nombre completo). </para
+><para
+>Las tres ventanas de entrada tienen asignadas las letras <guilabel
+>A</guilabel
+>, <guilabel
+>B</guilabel
+> y <guilabel
+>C</guilabel
+>, <guilabel
+>A</guilabel
+> tiene color azul, <guilabel
+>B</guilabel
+> verde y <guilabel
+>C</guilabel
+> magenta (estos son los valores predeterminados, pero puede cambiarlos en el menú <guimenu
+>Preferencias</guimenu
+>). </para
+><para
+>Cuando se detecta una diferencia el color mostrado en el archivo de entrada cambia. Cuando los dos archivos presentan diferencias el color utilizado para expresar esto es rojo de manera predeterminada (<guilabel
+>Color de conflicto</guilabel
+> en las preferencias). Este esquema de color es especialmente práctico en el caso de que tenga tres archivos de entrada, tal y como se verá en la próxima sección (<link linkend="merging"
+>Fusionar</link
+>). </para
+><para
+>A la izquierda de cada texto se encuentra la «columna resumen». Si las diferencias se producen en una línea la columna resumen muestra el color correspondiente. Si la diferencia es sólo de espacios en blanco se marca el resumen. Para los lenguajes de programación en los que los espacios no son importantes es práctico para apreciar de un vistazo si se modificó algo importante. (En C/C++ los espacios en blanco sólo son interesantes en el interior de las cadenas, comentarios, para el preprocesador y en otra serie de extrañas situaciones). </para
+><para
+>La línea vertical que separa la columna resumen y el texto se interrumpe si el archivo de entrada no tiene líneas. Cuando se activa el ajuste de línea, esta línea vertical aparecerá punteada en las líneas ajustadas. </para
+><para
+>En el lado derecho podemos encontrar la columna «visión general», a la izquierda de la barra de desplazamiento. Muestra la columna de resumen comprimida de la entrada <guilabel
+>A</guilabel
+>. todas las diferencias y conflictos se pueden apreciar de un vistazo. Cuando solo se utilizan dos ventanas de entrada, todas las diferencias aparecerán en rojo, ya que cada diferencia supondrá un conflicto. Un rectángulo negro marca la parte visible de las entradas. Para los archivos con entradas muy largas, cuando el número de líneas es más grande que la altura de la columna visión general en pixels, varias líneas de entrada compartirán una línea de visión general. Un conflicto tendrá más prioridad que las simples diferencias, que a su vez tendrán prioridad sobre lo no cambiado, de forma que no se pierdan las diferencias o los conflictos aquí. Pulsando sobre la columna de visión general se mostrará el correspondiente texto. </para>
+</sect1>
+
+
+<sect1 id="merging"
+><title
+>Fusionar y la ventana del editor de la salida fusionada</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>La ventana del editor de la salida fusionada (bajo las ventanas de la entrada de diferencias) también tiene una línea de información sobre ella que mostrará <guilabel
+>Salida</guilabel
+>, el nombre del archivo y <guilabel
+>[Modificado]</guilabel
+> si edita algo. Normalmente contendrá texto que podrá fusionarse automáticamente con facilidad, pero algunas veces también contendrá conflictos. </para
+><para
+>El guardado está desactivado hasta que se hayan resuelto todos los conflictos (utilice los botones <guibutton
+>Ir al conflicto anterior/siguiente sin resolver</guibutton
+> para encontrar los conflictos que falten). </para
+><para
+>Con sólo dos archivos de entrada, cada diferencia es también un conflicto que debe resolverse manualmente. </para
+><para
+>Con tres archivos de entrada el primer archivo se utiliza como base, mientras que el segundo y tercer archivos de entrada contienen las modificaciones. Si en cualquier línea solo tienen cambios la entrada B o la C pero no ambas se seleccionará automáticamente la fuente cambiada. Solo cuando B y C tengan cambios en las mismas líneas, la herramienta detectará un conflicto que debe resolverse manualmente. Cuando B y C sean iguales, pero diferentes a A, se seleccionará C. </para
+><para
+>El editor de la salida de fusionado también tiene una columna resumen a su izquierda. Mostrará la letra de la entrada de la que se seleccionó la línea, o nada si las tres fuentes son iguales en esa línea. Para los conflictos mostrará un signo de interrogación <guilabel
+>?</guilabel
+> y la línea mostrará <guilabel
+>&lt;Conflicto de fusionado&gt;</guilabel
+>, en rojo. Puesto que resolver los conflictos línea a línea es muy arduo, las líneas se agruparán en grupos que tengan las mismas diferencias y conflictos característicos. Pero los conflictos causados solo por espacios en blanco se separarán de los conflictos no causados por espacios en blanco para facilitar el fusionado de los archivos cuando el sangrado cambia en muchas líneas. </para
+><para
+>Cuando se pulsa en la columna resumen con el botón izquierdo del ratón en la ventana a la que pertenezca este grupo, se seleccionarán todas las ventanas y se mostrará el comienzo de este grupo (ésto implica un salto automático en la posición de la ventana si el principio del grupo no se encuentra visible). El grupo se convierte en el «grupo actual». Se resalta con la «gama (diff) de color del fondo actual» y aparecerá una barra negra en la parte izquierda del texto. </para
+><para
+>Vea que los botones de selección de entradas contienen las letras <guibutton
+>A</guibutton
+>, <guibutton
+>B</guibutton
+> y <guibutton
+>C</guibutton
+> en la barra de botones bajo la barra de menú. Cuando pulse en cualquiera de los botones de selección, las líneas de éste se añadirán al final del grupo seleccionado, si este grupo no contenía la fuente antes. En otro caso las líneas de esta entrada se eliminarán. </para
+><para
+>Además, podrá editar cualquier línea directamente. La columna resumen mostrará <guibutton
+>m</guibutton
+> por cada línea que haya modificado. </para
+><para
+>Algunas veces, cuando una línea se elimina bien por el fusionado o por la edición manual y no hay más líneas en este grupo, aparecerá el texto <computeroutput
+>&lt;Sin línea fuente&gt;</computeroutput
+>. Se coloca en lugar del grupo de forma que pueda cambiar de idea y seleccionar de nuevo la fuente. Este texto no aparecerá en el archivo guardado o en cualquier selección que copie y pegue. </para
+><para
+>El texto «&lt;Conflicto de fusionado&gt;» aparecerá en el portapapeles si copia y pega texto que lo contenga. </para
+><para
+>El fusionado normal se inicia resolviendo los conflictos sencillos automáticamente. Pero el menú <guimenu
+>Fusionar</guimenu
+> proporciona algunas acciones para otras necesidades habituales. Si ha seleccionado la misma fuente para más conflictos, podrá seleccionar «A», «B» o «C» en cualquier sitio, o solo para los conflictos pendientes de resolver, o para los conflictos sin resolver que sean debidos a espacios. Si desea decidir cada delta por sí mismo, puede <guilabel
+>Establecer deltas a conflictos</guilabel
+>. O si desea volver a las elecciones automáticas de &kdiff3; seleccione «Resolver automáticamente conflictos simples». &kdiff3; reiniciará el fusionado. Para las acciones que cambien sus modificaciones anteriores KDiff3 le pedirá confirmación antes de realizarlo. </para>
+
+<note
+><para
+>Cuando seleccione fuente para los conflictos de espacios en blanco sin resolver y las opciones <guilabel
+>Ignorar números</guilabel
+> o <guilabel
+>Ignorar comentarios C/C++</guilabel
+> los cambios en los números o en los comentarios serán tratados también como espacios en blanco. </para
+></note>
+</sect1>
+
+<sect1 id="navigation"
+><title
+>Navegación y edición</title>
+<para
+>La mayor parte de la navegación puede realizarse con las barras de desplazamiento y el ratón, pero también puede navegar con las teclas. Si pulsa en cualquier ventana puede utilizar los botones <keycap
+>Flecha izquierda</keycap
+>, <keycap
+>Flecha derecha</keycap
+>, <keycap
+>Flecha arriba</keycap
+>, <keycap
+>Flecha abajo</keycap
+>, <keycap
+>Página arriba</keycap
+>, <keycap
+>Página abajo</keycap
+>, <keycap
+>Inicio</keycap
+>, <keycap
+>Fin</keycap
+>, <keycombo action="simul"
+>&Ctrl;<keycap
+>Inicio</keycap
+></keycombo
+>, <keycombo action="simul"
+>&Ctrl;<keycap
+>Fin</keycap
+></keycombo
+> tal y como lo haría en otros programas. La columna vista general situada al lado de la barra vertical de desplazamiento en los archivos de entrada también puede utilizarse para navegar pulsando sobre ella. </para
+><para
+>También puede utilizar la rueda del ratón para desplazarse arriba y abajo. </para
+><para
+>En el editor de la salida de fusionado también puede utilizar las otras teclas para la edición. Puede cambiar entre los modos insertar y sobreescribir con la tecla <keycap
+>Insertar</keycap
+> (el modo predeterminado es insertar). </para
+><para
+>Una pulsación del &LMB; en la columna resumen sincronizará todas las ventanas para mostrar el inicio del mismo grupo de líneas (tal y como se explicaba en la sección <link linkend="merging"
+>«Fusionado»</link
+>). </para
+><para
+>La barra de botones también contiene siete botones de navegación con los que podrá saltar a la diferencia actual/primera/última, a la siguiente/anterior diferencia (<keycombo action="simul"
+>&Ctrl;<keycap
+>Flecha abajo</keycap
+></keycombo
+>/<keycombo action="simul"
+>&Ctrl;<keycap
+>Flecha arriba</keycap
+></keycombo
+>), al siguiente/anterior conflicto (<keycombo action="simul"
+>&Ctrl;<keycap
+>Página abajo</keycap
+></keycombo
+>/<keycombo action="simul"
+>&Ctrl;<keycap
+>Página arriba</keycap
+></keycombo
+>), o al siguiente/anterior conflicto sin resolver. Tenga en cuenta que para &kdiff3; un «conflicto» que no se pudo resolver automáticamente al comienzo del fusionado continúa siendo un «conflicto» aunque se haya resuelto. De aquí la necesidad de distinguir los «conflictos sin resolver» </para
+><para
+>También existe el botón <guibutton
+>Automáticamente ir al conflicto siguiente sin resolver después de una selección origen</guibutton
+> (avance automático). Si activa esto, cuando se seleccione una fuente &kdiff3; saltará automáticamente al siguiente conflicto sin resolver. Esto puede ayudarle cuando desee seleccionar una sola fuente. Cuando necesite ambas fuerte, o desee editar después de la selección, probablemente querrá desactivar esto. Antes de continuar con el siguiente conflicto sin resolver &kdiff3; muestra el resultado de su elección durante un momento. Este retardo es ajustable en las preferencias Diff &amp; Fusión: Puede especificar en <guilabel
+>Retardo auto avanzado</guilabel
+> en milisegundos un valor entre 0 y 2.000.</para>
+<tip
+><para
+>¿Cansado de tanta pulsación? Utilice un «Retardo auto avanzado» pequeño y los accesos rápidos <keycombo action="simul"
+>&Ctrl;<keycap
+>1</keycap
+></keycombo
+>, <keycombo action="simul"
+>&Ctrl;<keycap
+>2</keycap
+></keycombo
+> y <keycombo action="simul"
+>&Ctrl;<keycap
+>3</keycap
+></keycombo
+> para seleccionar los archivos A, B o C para muchos conflictos.</para
+></tip>
+</sect1>
+
+<sect1 id="selections"
+><title
+>Seleccionar, copiar y pegar</title>
+<para
+>Las ventanas de entrada no muestran un cursor, por ello las selecciones se hacen pulsando el &LMB; al inicio, manteniendo pulsado el botón del ratón y moviéndose al final, momento en el que soltará el botón del ratón. También puede seleccionar una palabra con una doble pulsación. En la salida del editor de fusionado puede realizar la selección a través del teclado manteniendo pulsado el botón &Shift; y navegando con las teclas de cursor. </para
+><para
+>Para copiar al portapapeles debe pulsar el botón <guibutton
+>Copiar</guibutton
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>C</keycap
+></keycombo
+> o <keycombo action="simul"
+>&Ctrl;<keycap
+>Insertar</keycap
+></keycombo
+>). Pero también existe la opción «Auto copiar selección». Si está activado, todo lo que seleccione se copiará inmediatamente y no necesitará realizar la copia explícitamente. Ponga atención cuando lo utilice ya que el contenido del portapapeles puede destruirse accidentalmente. </para
+><para
+><guimenuitem
+>Cortar</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>X</keycap
+></keycombo
+> o <keycombo action="simul"
+>&Shift;<keycap
+>Borrar</keycap
+></keycombo
+>) copia el portapapeles, borra el texto seleccionado y <guimenuitem
+>Pegar</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>V</keycap
+></keycombo
+> o <keycombo action="simul"
+>&Shift;<keycap
+>Insertar</keycap
+></keycombo
+>) inserta el texto en el portapapeles en la posición del cursor o sobre la selección actual. </para>
+</sect1>
+
+<sect1 id="saving"
+><title
+>Guardar</title>
+<para
+>Guardar solo estará permitido cuando se hayan resuelto todos los conflictos. Si el archivo ya existe y la opción «Archivos de copia de seguridad» está activada el archivo existente se renombrará con una extensión <filename role="extension"
+>.orig</filename
+>, pero si ya existe un archivo se borrará. Cuando salga o inicie otro análisis de diferencias y los datos no se hayan guardado, &kdiff3; le preguntará si desea <guibutton
+>Guardar</guibutton
+>, <guibutton
+>Cancelar</guibutton
+> o <guibutton
+>Continuar sin guardar</guibutton
+>. &kdiff3; no captura ninguna señal. Por eso si ejecuta «kill» sobre &kdiff3; sus datos se perderán. </para
+><para
+>Los finales de línea se guardan de acuerdo con el método utilizado por el sistema operativo. Para Unix cada línea termina con un caracter de nueva línea <literal
+>\n</literal
+>, mientras que para los sistemas basados en &Windows; cada línea termina con un retorno de carro + un nueva línea <literal
+>\r\n</literal
+>. &kdiff3; no conserva los finales de línea de los archivos de entrada, lo que significa que no debería utilizar &kdiff3; con archivos binarios. </para>
+</sect1>
+
+<sect1 id="find"
+><title
+>Buscar cadenas</title>
+<para
+>Puede buscar una cadena en cualquier ventana de texto de &kdiff3;. La orden <guimenuitem
+>Buscar...</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+>) en el menú <guimenu
+>Editar</guimenu
+> abre un diálogo que le permite especificar la cadena a buscar. La búsqueda siempre comenzará en la parte superior. Utilice la orden <guimenuitem
+>Buscar siguiente</guimenuitem
+> (<keycap
+>F3</keycap
+>) para buscar la siguiente aparición. si selecciona la búsqueda en varias ventanas se comenzará a buscar en la primera ventana de arriba hacia abajo antes de iniciar la búsqueda en la parte superior de la siguiente ventana, &etc; </para>
+</sect1>
+
+
+<sect1 id="options"
+><title
+>Opciones</title>
+<para
+>Las opciones y la lista de archivos recientes se guardarán cuando salga del programa, y se recargarán cuando lo inicie (Menú <menuchoice
+><guimenu
+>Preferencias</guimenu
+><guimenuitem
+>Configurar KDiff3</guimenuitem
+></menuchoice
+>...). </para>
+<sect2
+><title
+>Fuente</title>
+<para
+>Seleccione un tipo de letra de ancho fijo (en algunos sistemas este diálogo puede mostrar tipos de letra de ancho variable, pero no debería utilizarlas). </para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Fuente cursiva para deltas:</guilabel
+></term
+><listitem
+><para
+>Si selecciona esto, las diferencias de texto se dibujarán con la versión cursiva del tipo de letra. Si el tipo de letra no soporta cursiva, no hará nada.</para>
+   </listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Colores</title>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Color del primer plano:</guilabel
+></term
+><listitem
+><para
+>Habitualmente negro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color de fondo:</guilabel
+></term
+><listitem
+><para
+>Habitualmente blanco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color del fondo de diff:</guilabel
+></term
+><listitem
+><para
+>Habitualmente gris claro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color A:</guilabel
+></term
+><listitem
+><para
+>Habitualmente azul oscuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color B:</guilabel
+></term
+><listitem
+><para
+>Habitualmente verde oscuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color C:</guilabel
+></term
+><listitem
+><para
+>Habitualmente magenta oscuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Color de conflicto:</guilabel
+></term
+><listitem
+><para
+>Habitualmente rojo.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Rango actual de color de fondo:</guilabel
+></term
+><listitem
+><para
+>Habitualmente amarillo claro.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Rango actual de color de fondo de diff:</guilabel
+></term
+><listitem
+><para
+>Habitualmente amarillo oscuro.</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>En sistemas que solo tengan 16 ó 256 colores algunos de ellos no estarán disponibles en su forma exacta. En aquellos sistema el botón <guibutton
+>Predeterminados</guibutton
+> seleccionará un color puro. </para>
+</sect2>
+
+<sect2
+><title
+>Preferencias del editor</title>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>El tabulador inserta espacios:</guilabel
+></term
+><listitem
+><para
+>Si está desactivado y pulsa la tecla tabulador, se insertará un caracter de tabulación, sino se insertará la cantidad adecuada de caracteres.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Tamaño del tabulador:</guilabel
+></term
+><listitem
+><para
+>Se puede ajustar para sus necesidades. El valor predeterminado es 8. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Auto indentación:</guilabel
+></term
+><listitem
+><para
+>Cuando pulsa &Enter; o <keycap
+>Return</keycap
+> el sangrado de la línea anterior se utiliza para la nueva línea. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Auto-copiar selección:</guilabel
+></term
+><listitem
+><para
+>Cada selección se copia inmediatamente al portapapeles de forma que no necesitará copiarlo explícitamente. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Estilo línea final:</guilabel
+></term
+><listitem
+><para
+>Al guardar puede seleccionar qué estilo de línea prefiere. El valor predeterminado es la elección habitual para el sistema operativo utilizado. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Utilizar codificación local:</guilabel
+></term
+><listitem
+><para
+>Para mostrar caracteres extranjeros. Intente cambiar ésto si algunos caracteres de su idioma no se muestran correctamente. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Preferencias de Diff y fusión</title>
+<para
+>Cuando se comparan archivos, &kdiff3; primero intenta hacer coincidir las líneas que sean iguales en todos los archivos de entrada. Solo durante este paso se ignorarán los espacios en blanco. El segundo paso compara cada línea. En este paso los espacios en blanco no se ignorarán. Los espacios en blanco tampoco se ignorarán durante la fusión. </para>
+
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Conservar el retorno de carro</guilabel
+></term
+><listitem
+><para
+>Algunos editores (en algunos sistemas) guardan los caracteres de retorno de carro <literal
+>\r</literal
+> y de línea siguiente <literal
+>\n</literal
+> al final de la línea, mientras que otros solo guardan el de línea siguiente <literal
+>\n</literal
+>. Normalmente &kdiff3; ignora el retorno de carro, pero a pesar de que debido a ello no tengan el mismo tamaño parecerán iguales si se comparan juntos. Cuando se activa esta opción, los caracteres de retorno de carro se harán visibles, pero se tratarán como espacios en blanco. Esta opción debería estar desactivada durante el mezclado. El valor predeterminado es apagado.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar números:</guilabel
+></term
+><listitem
+><para
+>De forma predeterminada estará desactivado. Los caracteres numéricos («<literal
+>0-9</literal
+>», <literal
+>.</literal
+>», «<literal
+>-</literal
+>») se ignorarán en la primera parte del análisis en la que se efectuará la coincidencia de líneas. Sin embargo en el resultado las diferencias sí se mostrarán, pero serán tratados como espacios en blanco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar comentarios de C/C++:</guilabel
+></term
+><listitem
+><para
+>De forma predeterminada estará desactivado. Los cambios en los comentarios se tratarán como cambios de espacios en blanco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar mayúsculas:</guilabel
+></term
+><listitem
+><para
+>De forma predeterminada estará desactivado. Las diferencias de mayúsculas de los caracteres (como entre «<literal
+>A</literal
+>» y «<literal
+>a</literal
+>») serán tratadas como los cambios de los espacios en blanco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando del preprocesador:</guilabel
+></term
+><listitem
+><para
+>Vea la <link linkend="preprocessors"
+>siguiente sección</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando de preprocesador de combinación de línea:</guilabel
+></term
+><listitem
+><para
+>Vea la <link linkend="preprocessors"
+>siguiente sección</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Intentar más a fondo:</guilabel
+></term
+><listitem
+><para
+>Intenta encontrar más a fondo una delta más pequeña (de forma predeterminada estará activada). Debería ser efectivo para archivos grandes y complicados. Y lento para archivos muy grandes. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Retardo auto avanzado (ms):</guilabel
+></term
+><listitem
+><para
+>Cuando está activado el modo de «auto avanzado» aquí se especifica durante cuanto tiempo se mostrará el resultado de la selección antes de saltar al siguiente conflicto sin resolver. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Fusionar por omisión espacios en blanco de dos/tres archivos:</guilabel
+></term
+><listitem
+><para
+>Resuelve automáticamente todos los conflictos de los espacios en blanco seleccionando el archivo especificado (el modo predeterminado es el manual). Práctico si los espacios no son realmente importantes en los archivos. Si solo necesita ésto ocasionalmente mejor utilice <guimenuitem
+>Seleccionar A/B/C para todos conflictos de los espacios en blanco sin resolver</guimenuitem
+> en el menú <guimenu
+>Fusionar</guimenu
+>. Tenga en cuenta que si ha activado <guilabel
+>Ignorar números</guilabel
+> o <guilabel
+>Ignorar comentarios de C/C++</guilabel
+> esta autoelección también se aplica a los conflictos en los números y en los comentarios. </para
+></listitem
+></varlistentry>
+</variablelist>
+
+</sect2>
+
+<sect2
+><title
+>Fusión de directorios</title>
+<para
+>Estas opciones están relacionadas con la exploración del directorio y el manejo del fusionado: Vea la <link linkend="dirmergeoptions"
+>Comparación/fusión de directorios de documentos</link
+> para obtener los detalles. </para
+><para
+>También existe una opción relevante para guardar archivos sencillos: </para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Archivos de copia de seguridad:</guilabel
+></term
+><listitem
+><para
+>Cuando se guarde una archivo y ya exista una versión antigua, la versión original se renombrará con una extensión <filename role="extension"
+>.orig</filename
+>. Si ya existía un archivo de copia de seguridad antigua con la extensión <filename role="extension"
+>.orig</filename
+> se borrará. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Configuraciones regionales</title>
+  <variablelist>
+    <varlistentry
+><term
+><guilabel
+>Idioma:</guilabel
+></term
+><listitem
+><para
+>Ajusta el idioma de la interfaz de usuario. Cambiar esta opción no afectará a la ejecución del programa. Tendrá que salir y reiniciar &kdiff3; para que el cambio tenga efecto (esta opción no está disponible en la versión de &kde; de &kdiff3; porque el idioma se ajusta de forma global en las preferencias de &kde;). </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Usar la misma codificación para todo:</guilabel
+></term
+><listitem
+><para
+>Las siguientes opciones de codificación se pueden ajustar de forma separada para cada elemento, o si esta opción está activada, todos los valores tomarán el primer valor. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificación local:</guilabel
+></term
+><listitem
+><para
+>Sobre los selectores de código aparece una nota que le indica cuál es la codificación local (no es ajustable, ya que se utiliza para informarle de su codificación en caso de que no la conozca, y necesite seleccionarla). </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificación de archivo para A/B/C:</guilabel
+></term
+><listitem
+><para
+>Ajusta la codificación para los archivos de entrada. Esto tiene efecto en la interpretación de los caracteres especiales. Como puede ajustar cada codificación por separado puede comparar y fusionar archivos guardados con diferentes codificaciones. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificación de archivo para la salida de la fusión y guardar:</guilabel
+></term
+><listitem
+><para
+>Cuando haya editado un archivo, podrá ajustar qué codificación se utilizará al guardarse en el disco. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificación de archivo para los archivos del preprocesador:</guilabel
+></term
+><listitem
+><para
+>Cuando defina el preprocesador puede que no sea capaz de operar con su codificación (ejem: Sus archivos son de unicode de 16 bit y su preprocesador solo puede utilizar ascii de 8 bit). Con esta opción puede definir la codificación de la salida del preprocesador. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Idioma de derecha a izquierda:</guilabel
+></term
+><listitem
+><para
+>Algunos idiomas se escriben de derecha a izquierda. Cuando esta opción está activada, &kdiff3; dibuja el texto de derecha a izquierda en las ventanas de entrada de diff y en la ventana de la salida del fusionado. Tenga en cuenta que si inicia &kdiff3; con la opción de línea de órdenes <option
+>--reverse</option
+> toda la distribución se hará de derecha a izquierda también (ésta es una característica proporcionada por &Qt;). Este manual se escribió asumiendo que «Idioma de derecha a izquierda» o invertir distribución están desactivados. Por ello, algunas referencias a «izquierda» o «derecha» se reemplazarán por sus respectivas homólogas si utiliza estas opciones. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
+>Varios</title>
+<para
+>Estas opciones y acciones están disponibles en los menús o en la barra de botones.</para>
+<variablelist>
+  <varlistentry
+><term
+><guilabel
+>Mostrar números de líneas:</guilabel
+></term
+><listitem
+><para
+>Puede seleccionar si los números deberían mostrarse en los archivos de entrada.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Mostrar caracteres espacio y tabulador por diferencias:</guilabel
+></term
+><listitem
+><para
+>Algunas veces los espacios visibles y los tabuladores molestan. Puede desactivarlos.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Mostrar espacio en blanco:</guilabel
+></term
+><listitem
+><para
+>Desactívelo para suprimir cualquier resaltado o cambio de «solo espacio en blanco» en el texto o en las columnas de vista general (tenga en cuenta que ésto también se aplicará a los cambios en los números y comentarios si están activadas las opciones <guilabel
+>Ignorar números</guilabel
+> o «Ignorar comentarios C/C++»).</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Opciones de la vista general:</guilabel
+></term
+><listitem
+><para
+>Estas elecciones están disponibles cuando compara tres archivos. En el modo normal todas las diferencias se muestra en un color codificado en la columna de vista general. Pero algunas veces puede estar interesado en las diferencias entre solo dos de los tres archivos. Seleccionando vista <guilabel
+>A vs. B</guilabel
+>, <guilabel
+>A vs. C</guilabel
+> o <guilabel
+>B vs. C</guilabel
+> se mostrará una segunda columna de vista general con la información requerida situado al lado de la visión general normal. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Ajuste de palabras en las ventanas diff:</guilabel
+></term
+><listitem
+><para
+>Ajusta las líneas cuando su longitud excede del ancho de una ventana. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guimenuitem
+>Mostrar ventana A/B/C:</guimenuitem
+></term
+><listitem
+><para
+>Algunas veces deseará utilizar mejor el espacio de la pantalla para las líneas largas. Oculte las ventanas que no sean importantes (en el menú <guimenu
+>Ventanas</guimenu
+>).</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guimenuitem
+>Cambiar orientación de división:</guimenuitem
+></term
+><listitem
+><para
+>Cambia entre las ventanas diff mostrándolas una cerca de la otra (A a la izquierda de B, y a la izquierda de C) o una sobre otra (A sobre B y sobre C). También debería servir de ayuda para las líneas largas (en el menú <guimenu
+>Ventanas</guimenu
+>). </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Iniciar fusión rápida:</guilabel
+></term
+><listitem
+><para
+>Algunas veces puede estar viendo las deltas y decidir fusionarlas. <inlinemediaobject
+><imageobject
+><imagedata fileref="merge_current.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guimenuitem
+>Fusionar el archivo actual</guimenuitem
+> en el menú <guimenu
+>Directorio</guimenu
+> también funcionará si solo compara dos archivos. Una simple pulsación inicia la fusión y utiliza el nombre de archivo del último archivo de entrada como nombre de archivo predeterminado (cuando se utiliza esto para reiniciar una fusión, se conservará el nombre de archivo de la salida).</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="shortcuts"
+><title
+>Configurar accesos rápidos de teclado</title>
+<para
+>En estos momentos solo la versión para &kde; soporta accesos rápidos de teclado configurables por el usuario (<menuchoice
+><guimenu
+>Preferencias</guimenu
+><guimenuitem
+>Configurar accesos rápidos...</guimenuitem
+></menuchoice
+>). </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Órdenes del preprocesador</title>
+<para
+>&kdiff3; soporta dos opciones para el preprocesador. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Comando del preprocesador:</guilabel
+></term
+><listitem
+><para
+>Cuando se lee cualquier archivo, se redirigirá a través de esta orden externa. Se podrá ver la salida de esta orden en lugar del archivo original. Puede escribir su propio preprocesador que cubra sus necesidades específicas. Utilice esto para cortar determinadas partes del archivo, o para corregir de forma automática el sangrado, &etc;. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando de preprocesador de combinación de línea:</guilabel
+></term
+><listitem
+><para
+>Cuando se lee cualquier archivo, se redirigirá a través de esta orden externa. Si se especifica una orden de preprocesado (ver a continuación), la salida del preprocesador será la entrada de la coincidencia de líneas del preprocesador. La salida solo se utilizará durante la fase de coincidencia de líneas durante el análisis. Puede escribir su propio preprocesador que cubra sus necesidades específicas. Cada línea de entrada tendrá la correspondiente línea de salida. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>La idea es permitir al usuario gran flexibilidad durante la configuración del resultado de diff. Pero necesita un programa externo, y muchos usuarios no quieren escribirlo ellos. La buena noticia es que muchas veces <command
+>sed</command
+> o <command
+>perl</command
+> harán este trabajo. </para>
+<para
+>Ejemplo: Simple comprobación de mayúsculas y minúsculas: Considere el archivo <filename
+>a.txt</filename
+> (6 líneas):</para>
+<screen
+>aa
+ba
+ca
+da
+eafa
+</screen>
+
+<para
+>Y el archivo <filename
+>b.txt</filename
+> (3 líneas):</para>
+
+<screen
+>cg
+dg
+eg</screen>
+
+<para
+>Sin un preprocesador las siguientes líneas se colocarán unas al lado de las otras:</para>
+
+<screen
+>aa - cg
+ba - dg
+ca - eg
+da
+ea
+fa</screen>
+
+<para
+>Ésto no es lo que probablemente se desee ya que la primera letra contiene la información que es en realidad interesante. Para ayudar al algoritmo de coincidencia a ignorar la segunda letra utilizaremos una orden del preprocesador de líneas coincidentes para reemplazar <literal
+>g</literal
+> con <literal
+>a</literal
+>:</para>
+
+<screen
+><command
+>sed</command
+> 's/g/a/'</screen>
+
+<para
+>Con esta orden el resultado de la comparación sería:</para>
+
+<screen
+>aa
+ba
+ca - cg
+da - dg
+ea - eg
+fa</screen>
+
+<para
+>Internamente el algoritmo de coincidencia ve los archivos después de ejecutar la línea de coincidencia del preprocesador, pero la pantalla del archivo permanecerá sin cambios (el preprocesador normal también cambiará los datos en la pantalla).</para>
+
+<sect2 id="sedbasics"
+><title
+>Lo básico de <command
+>sed</command
+></title>
+<para
+>Esta sección solo introduce algunas características muy básicas de <command
+>sed</command
+>. Para obtener más información vea <ulink url="info:/sed"
+>info:/sed</ulink
+> o <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Una versión precompilada para &Windows; puede encontrarse en <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Tenga en cuenta que los siguientes ejemplo asumen que la orden <command
+>sed</command
+> se encuentra en algún directorio definido en la variable de entorno <envar
+>PATH</envar
+>. Si este no es el caso, deberá especificar la ruta completa absoluta de lo orden. Tenga en cuenta también que los siguientes ejemplos utilizan la comilla simple (<literal
+>'</literal
+>) que no funciona en &Windows;. En &Windows; debería utilizar las comillas dobles (<literal
+>"</literal
+>) en su lugar.</para>
+<para
+>En este contexto solo se utiliza la orden de sustitución <command
+>sed</command
+>:</para>
+<screen
+><command
+>sed</command
+> 's/<replaceable
+>EXPRESIÓN-REGULAR</replaceable
+>/<replaceable
+>REEMPLAZO</replaceable
+>/<replaceable
+>PARÃMETROS</replaceable
+>'</screen>
+<para
+>Antes de utilizar una orden nueva dentro de &kdiff3;, debería comprobarlo primero en una consola. Aquí la orden <command
+>echo</command
+> es práctica. Ejemplo:</para>
+
+<screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+<computeroutput
+>obrakadabra</computeroutput
+></screen>
+
+<para
+>Este ejemplo muestra una orden sed que tan solo reemplaza la primera aparición de «a» con «o». Si desea reemplazar todas las apariciones necesitará utilizar el parámetro <parameter
+>g</parameter
+>:</para>
+
+<screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+<computeroutput
+>obrokodobro</computeroutput
+></screen>
+
+<para
+>El símbolo «<literal
+>|</literal
+>» es la orden que transfiere la salida de la orden anterior a la entrada de la siguiente orden. Si desea comprobarlo con un archivo largo puede utilizar <command
+>cat</command
+> en los sistemas de tipo Unix o <command
+>type</command
+> en los sistemas de tipo &Windows;. <command
+>sed</command
+> realiza la sustitución para cada línea.</para>
+
+<screen
+><command
+>cat</command
+> <replaceable
+>nombre-archivo</replaceable
+> |<command
+>sed</command
+> <replaceable
+>opciones</replaceable
+></screen>
+
+
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Ejemplo para la utilización de <command
+>sed</command
+> en &kdiff3;</title>
+<sect3
+><title
+>Ignorar otros tipos de comentarios</title>
+<para
+>En estos momentos &kdiff3; solo entiende los comentarios C/C++. Utilizando la orden del preprocesador de la línea de coincidencias puede ignorar otros tipos de comentarios, convirtiendo los comentarios a C/C++.</para>
+
+<informalexample>
+<para
+>Para ignorar los comentarios que comiencen con <literal
+>#</literal
+>, podría querer convertirlos en <literal
+>//</literal
+>. Tenga en cuenta que también puede activar las opción <guilabel
+>Ignorar comentarios C/C++</guilabel
+> para que tengan efecto. Una orden de preprocesado podría ser:</para>
+
+<screen
+><command
+>sed</command
+> 's/#/\/\//'</screen>
+</informalexample>
+
+<para
+>Al igual que para <command
+>sed</command
+> los caracteres <literal
+>/</literal
+> tienen un significado especial, y es necesarío reemplazar el caracter <literal
+>\</literal
+> antes de cada <literal
+>/</literal
+> en la cadena de reemplazo. Algunas veces el <literal
+>\</literal
+> es necesario para añadir o eliminar un significado especial de ciertos caracteres. Las comillas simples (<literal
+>'</literal
+>) antes y después de la orden de sustitución son importantes, ya que sino el intérprete de órdenes intentará interpretar algunos caracteres especiales como <literal
+>#</literal
+>, <literal
+>$</literal
+> o <literal
+>\</literal
+> antes de pasarlos a <command
+>sed</command
+>. Tenga en cuenta que en &Windows; aquí necesitará utilizar las dobles comillas (<literal
+>"</literal
+>). &Windows; sustituye otros caracteres como <literal
+>%</literal
+>, por ello debería experimentar un poquito.</para>
+</sect3>
+
+<sect3
+><title
+>Sensibilidad de diff a mayúsculas y minúsculas</title>
+
+<para
+>Use la siguiente orden de preprocesado para convertir todas las entradas a mayúsculas:</para>
+
+<screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'</screen>
+
+<para
+>Aquí el «<literal
+>.*</literal
+>» es una expresión regular que incluye a todos los caracteres en la línea. El <literal
+>\1</literal
+> en la cadena de reemplazo hace referencia al texto que coincide con el primer par de <literal
+>\(</literal
+> y <literal
+>\)</literal
+>. La <literal
+>\U</literal
+> convierte el texto insertado a mayúsculas. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar las claves de control de versión</title>
+<para
+><acronym
+>CVS</acronym
+> y otros sistemas de control de versión utilizan algunas claves para insertar cadenas automáticamente generadas (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword sustitución</ulink
+>). Todos ellos siguen el modelo <literal
+>$PALABRA-CLAVE generada texto$</literal
+>. Ahora necesitaremos una orden de preprocesado que elimine solo el texto generado:</para>
+<screen
+><command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'</screen>
+
+<para
+><literal
+>\|</literal
+> separan las posibles palabras clave. Podría querer modificar esta lista de acuerdo a sus necesidades. La <literal
+>\</literal
+> antes de <literal
+>$</literal
+> es necesario porque sino el <literal
+>$</literal
+> coincidiría con el final de la línea. </para>
+<para
+>Mientras experimenta con <command
+>sed</command
+> puede llegar a entender y a gustarle las expresiones regulares. Son prácticas porque hay muchos programas que soportan cosas similares. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar números</title>
+<para
+>Ignorar los números en realidad es una opción de construcción. Pero como en otros ejemplos, indica el aspecto que podría tener la orden de preprocesado.</para>
+<screen
+><command
+>sed</command
+> 's/[0123456789.-]//g'</screen>
+<para
+>Cualquier caracter situado entre <literal
+>[</literal
+> y <literal
+>]</literal
+> será una coincidencia y no se reemplazará con nada. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar ciertas columnas</title>
+<para
+>Algunas veces una texto tiene un formato muy estricto y contiene columnas que desearía ignorar, mientras que otras columnas deseará conservarlas para el análisis. En el siguiente ejemplo las primeras cinco columnas (caracteres) se ignorarán, las siguientes diez se conservarán, otras cinco se ignorarán y el resto de la línea se conservará.</para>
+
+<screen
+><command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'</screen>
+
+<para
+>Cada punto <literal
+>.</literal
+> coincide con cualquier caracter. El <literal
+>\1</literal
+> y <literal
+>\2</literal
+> en la cadena de reemplazo se refieren al texto coincidente en el primer y segundo par de <literal
+>\(</literal
+> y <literal
+>\)</literal
+> significando el texto conservado.</para>
+</sect3>
+
+<sect3
+><title
+>Combinar varias sustituciones</title>
+
+<para
+>Algunas veces deseará aplicar varias sustituciones a la vez. Puede utilizar el punto y coma <literal
+>;</literal
+> para separarlas unas de otras.</para>
+
+<screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+<computeroutput
+>OBROKODOBRO</computeroutput
+></screen>
+
+</sect3>
+
+<sect3
+><title
+>Utilizar <command
+>perl</command
+> en lugar de <command
+>sed</command
+></title>
+<para
+>En lugar de <command
+>sed</command
+> puede desear utilizar algo parecido a <command
+>perl</command
+>.</para>
+<screen
+><command
+>perl</command
+> -p -e 's/<replaceable
+>EXPRESIÓN-REGULAR</replaceable
+>/<replaceable
+>REEMPLAZO</replaceable
+>/<replaceable
+>PARÃMETROS</replaceable
+>'</screen>
+<para
+>Pero algunos detalles son diferentes en <command
+>perl</command
+>. Tenga en cuenta que donde <command
+>sed</command
+> necesita <literal
+>\(</literal
+> y <literal
+>\)</literal
+> <command
+>perl</command
+> requiere simplemente <literal
+>(</literal
+> y <literal
+>)</literal
+> sin estar precedido de <literal
+>\</literal
+>.</para>
+
+<screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+<command
+>perl</command
+> -p -e 's/(.*)/\U\1/'</screen>
+
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Orden de la ejecución de preprocesado</title>
+<para
+>Los datos van pasando por todos los preprocesadores internos y externos en el siguiente orden: </para>
+<itemizedlist>
+<listitem
+><para
+>Preprocesador normal.</para
+></listitem>
+<listitem
+><para
+>Preprocesador de coincidencia de líneas.</para
+></listitem>
+<listitem
+><para
+>Ignorar mayúsculas (conversión a mayúsculas).</para
+></listitem>
+<listitem
+><para
+>Detección de comentarios C/C++.</para
+></listitem>
+<listitem
+><para
+>Ignorar números.</para
+></listitem>
+<listitem
+><para
+>Ignorar espacios en blanco.</para
+></listitem>
+</itemizedlist>
+<para
+>Los datos después del preprocesador normal se conservarán para mostrarse y fusionarse. El resto de operaciones solo modificarán los datos para que los vea el algoritmo de coincidencia de líneas de diff. </para
+><para
+>En alguna ocasión cuando use el preprocesador normal se dará cuenta de que el preprocesador de coincidencia de líneas verá la salida del preprocesador normal como entrada. </para>
+</sect2>
+
+<sect2
+><title
+>Aviso</title>
+<para
+>La orden de preprocesado suele ser muy práctica, pero como con cualquier opción que modifique su texto u oculte ciertas diferencias automáticamente, puede saltarse accidentalmente ciertas diferencias y en el peor de los casos destruir datos importantes. </para
+><para
+>Por esta razón durante un fusionado si &kdiff3; utiliza una orden de preprocesado normal le preguntará si desea desactivarla o no. Pero no se producirá ningún aviso si está activada la orden de preprocesado de líneas coincidentes. La fusión no se completará hasta que se resuelvan los conflictos. Si desactiva <guilabel
+>Mostrar espacios en blanco</guilabel
+> las diferencias eliminadas con la orden de preprocesado de líneas coincidentes también estarán visibles. Si el botón guardar continúa desactivado durante una fusión (porque aún existen conflictos), asegúrese de activar <guilabel
+>Mostrar espacios en blanco</guilabel
+>. Si no desea fusionar estas diferencias sin importancia de forma manual puede elegir <guimenuitem
+>Seleccionar [A|B|C] para todos los conflictos de espacios en blanco sin resolver</guimenuitem
+> en el menú <guimenu
+>Fusionar</guimenu
+>. </para>
+</sect2>
+</sect1>
+</chapter>
+
+
+<chapter id="dirmerge"
+><title
+>Comparación y fusionado de directorios con &kdiff3;</title>
+<sect1 id="dirmergeintro"
+><title
+>Introducción</title>
+<para
+>Frecuentemente los programadores modifican varios archivos en un directorio para conseguir su propósito. Para esto &kdiff3; también le permite comparar y fusionar directorios completos recursivamente. </para
+><para
+>Aunque la comparación y fusionado de directorios parezca bastante obvio, existen varios detalles que debería conocer. Lo más importante es el hecho de la operación podría afectar a muchos archivos. Si no tiene copias de seguridad de los datos originales, podría ser complicado e incluso imposible devolverlos a su estado original. Por lo tanto, antes de realizar un fusionado, asegúrese de guardar sus datos en un lugar seguro, de forma que sea posible volver atrás. Si crea un archivo o utiliza algún sistema de control de versiones es cosa suya, pero los programadores experimentados y los integradores pueden necesitan las antiguas fuentes. Y tenga en cuenta que a pesar de que yo (el autor de &kdiff3;) intento hacerlo lo mejor posible, no garantizo que no existan fallos. De acuerdo con la licencia GNU GPL NO EXISTE NINGUNA GARANTÃA para este programa. Por lo tanto, sea humilde y tenga siempre lo siguiente en mente: </para>
+<blockquote
+><para>
+   <emphasis
+>Errar es humano, pero para echar las cosas a perder necesita un ordenador.</emphasis>
+</para
+></blockquote>
+<para
+>Ésto es lo que este programa puede hacer por usted: &kdiff3;... </para>
+<itemizedlist>
+     <listitem
+><para
+>... lee y compara dos o tres directorios recursivamente.</para
+></listitem>
+     <listitem
+><para
+>... tiene un especial cuidado con los enlaces simbólicos.</para
+></listitem>
+     <listitem
+><para
+>... le permitirá navegar por los directorios con una doble pulsación del ratón.</para
+></listitem>
+     <listitem
+><para
+>... para cada elemento propone una operación de fusión, que puede cambiar antes de iniciar la fusión del directorio.</para
+></listitem>
+     <listitem
+><para
+>... le permite simular la fusión y lista las acciones que se realizarían si se llegasen a llevar a cabo.</para
+></listitem>
+     <listitem
+><para
+>... le permite realizar la fusión, y le permite interactuar cuando sea necesaria la interacción manual.</para
+></listitem>
+     <listitem
+><para
+>... le permite ejecutar las operaciones seleccionadas para todos los elementos (tecla <keycap
+>F7</keycap
+>) o para el elemento seleccionado (tecla <keycap
+>F6</keycap
+>).</para
+></listitem>
+     <listitem
+><para
+>... le permite continuar la fusión después de la interacción manual con la tecla <keycap
+>F7</keycap
+>.</para
+></listitem>
+     <listitem
+><para
+>... crea copias de seguridad opcionales, con la extensión <filename role="extension"
+>.orig</filename
+>.</para
+></listitem>
+     <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect1>
+
+<sect1 id="startingdirmerge"
+><title
+>Iniciar la comparación o fusión del directorio</title>
+<para
+>Es similar a la fusión y comparación de archivos. Solo debe especificar los directorios en la línea de órdenes o en el diálogo abrir archivo. </para>
+<sect2
+><title
+>Comparar/fusionar dos directorios: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2</replaceable
+> <option
+>-o</option
+> <replaceable
+>directorio-destino</replaceable
+>
+</screen>
+<para
+>Sino se especifica directorio de destino, &kdiff3; utilizará <replaceable
+>directorio2</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Comparar/fusionar tres directorios: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2 directorio3</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>directorio1 directorio2 directorio3</replaceable
+>  <option
+>-o</option
+> <replaceable
+>directorio-destino</replaceable
+>
+</screen>
+<para
+>Cuando se fusionen tres directorios <replaceable
+>directorio1</replaceable
+> se utiliza como base para la fusión. Sino se especifica directorio destino, &kdiff3; utilizará <replaceable
+>directorio3</replaceable
+> como directorio destino para la fusión. </para>
+
+<para
+>Tenga en cuenta que solo la comparación se inicia automáticamente, no la fusión. Para esto debería seleccionar la entrada de menú o la tecla <keycap
+>F7</keycap
+> (más detalles a continuación). </para>
+</sect2>
+</sect1>
+
+<sect1 id="dirmergevisible"
+><title
+>Información visible</title>
+<para
+>Mientras lee estos directorios se mostrará un cuadro de diálogo en el que se informará del progreso. Si cancela la exploración del directorio, solo se compararán los archivos listados. </para
+><para
+>Cuando se termine la exploración del directorio &kdiff3; mostrará una lista con el resultado... </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="dirbrowser.png" format="PNG"/></imageobject
+> <!--alt="Image of the directory browser."-->
+</mediaobject
+></screenshot>
+<para
+>... y detalles sobre el elemento seleccionado actualmente a la derecha: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="iteminfo.png" format="PNG"/></imageobject>
+   <!--alt="Image with information about the selected item."-->
+</mediaobject
+></screenshot>
+
+<sect2 id="name"
+><title
+>La columna nombre</title>
+<para
+>Cada archivo y directorio que se encuentre durante la exploración se mostrará aquí en un árbol. Puede seleccionar un elemento pulsando una vez con el ratón. </para
+><para
+>De forma predeterminada los directorios están contraídos. Puede expandirlos y contraerlos pulsando en <guiicon
+>+</guiicon
+>/<guiicon
+>-</guiicon
+>, con una doble pulsación, o utilizando las teclas <keycap
+>Flecha izquierda</keycap
+> o <keycap
+>Flecha derecha</keycap
+>. El menú <guimenu
+>Directorio</guimenu
+> también contiene dos acciones <guimenuitem
+>Plegar todos los subdirectorios</guimenuitem
+> y <guimenuitem
+>Desplegar todos los subdirectorios</guimenuitem
+> con los que podrá contraer y expandir todos los directorios de una vez. </para
+><para
+>Si hace una doble pulsación sobre un elemento de fichero comenzará la comparación y aparecerá la ventana de diferencias de archivos. </para>
+<para
+>La imagen de la columna nombre reflejará el tipo de archivo en el primer directorio («A»). Puede ser uno de estos: </para>
+<itemizedlist>
+     <listitem
+><para
+>Archivo normal.</para
+></listitem>
+     <listitem
+><para
+>Directorio normal (imagen de directorio).</para
+></listitem>
+     <listitem
+><para
+>Enlace a un archivo (imagen de archivo con una flecha de enlace).</para
+></listitem>
+     <listitem
+><para
+>Enlace a un directorio (imagen de directorio con una flecha de enlace).</para
+></listitem>
+</itemizedlist>
+<para
+>Si el tipo de archivo es diferente en el resto de directorios, ésto podrá verse en las columnas A/B/C y en la ventana que muestra los detalles sobre el elemento seleccionado. Tenga en cuenta que en este caso la fusión no podrá seleccionarse automáticamente. Cuando inicie la fusión, el usuario será informado de problemas de este tipo. </para>
+</sect2>
+
+<sect2 id="coloring"
+><title
+>Las columnas A/B/C y el esquema de coloreado</title>
+<para
+>Como puede verse en la imagen superior los colores rojo, verde, amarillo y negro son los que se utilizan en las columnas A/B/C. </para>
+<itemizedlist>
+     <listitem
+><para
+>Negro: Este elemento no existe en este directorio.</para
+></listitem>
+     <listitem
+><para
+>Verde: El elemento más nuevo.</para
+></listitem>
+     <listitem
+><para
+>Amarillo: Más antiguo que verde, más nuevo que rojo.</para
+></listitem>
+     <listitem
+><para
+>Rojo: El elemento más antiguo.</para
+></listitem>
+</itemizedlist>
+<para
+>Pero para los elementos que son idénticos en la comparación sus colores son idénticos aunque no coincida la antigüedad. </para
+><para
+>Los directorios se consideran iguales si todos los elementos que contienen son idénticos. Entonces tendrán el mismo color. Pero la antigüedad de un directorio no se considerará para su color. </para
+><para
+>La idea de este esquema de color se basa en <ulink url="http://samba.org/cgi-bin/cvsweb/dirdiff"
+>dirdiff</ulink
+>.Los colores son semejantes a las hojas, que son verdes cuando nacen, se vuelven amarillas más tarde y cuando envejecen se vuelven rojos. </para>
+
+</sect2
+><sect2 id="operation"
+><title
+>La columna Operación</title>
+<para
+>Después de comparar los directorios &kdiff3; también evalúa una propuesta para una operación de fusión. Esto se muestra en la columna <guilabel
+>Operación</guilabel
+>. Puede modificar la operación pulsando en la operación que desee cambiar. Aparecerá un pequeño menú y le permitirá seleccionar una operación para este elemento (también puede seleccionar las operaciones a través del teclado. Ctrl+1/2/3/4/Supr seleccionarán A/B/C/Fusionar/Borrar respectivamente si están disponibles). Esta operación se ejecutará durante la fusión. La disponibilidad de estas operaciones dependerá del elemento y del modo de fusión. El modo de fusión será uno de los siguientes: </para>
+<itemizedlist>
+     <listitem
+><para
+>Fusión del árbol de directorios («A» será tratada como la base más antigua de ambas).</para
+></listitem>
+     <listitem
+><para
+>Fusionar dos directorios.</para
+></listitem>
+     <listitem
+><para
+>Sincronizar dos directorios (activado a través de la opción <guimenuitem
+>Sincronizar directorios</guimenuitem
+>).</para
+></listitem>
+</itemizedlist>
+<para
+>En la fusión de tres directorios la operación propuesta será: Si para un elemento... </para>
+<itemizedlist>
+     <listitem
+><para
+>Todos los directorios son iguales: Copiar desde C.</para
+></listitem>
+     <listitem
+><para
+>A y C son iguales pero B no: Copiar desde B (o si B no existe, borra el destino, si existe).</para
+></listitem>
+     <listitem
+><para
+>A y B son iguales pero C no: Copiar desde C (o si C no existe, borra el destino, si existe).</para
+></listitem>
+     <listitem
+><para
+>B y C son iguales pero A no: Copiar desde C (o si C no existe, borra el destino, si existe).</para
+></listitem>
+     <listitem
+><para
+>Solo existe A: Borrar el destino (si existe).</para
+></listitem>
+     <listitem
+><para
+>Solo existe B: Copiar desde B.</para
+></listitem>
+     <listitem
+><para
+>Solo existe C: Copiar desde C.</para
+></listitem>
+     <listitem
+><para
+>A, B y C no son iguales: Fusionar.</para
+></listitem>
+     <listitem
+><para
+>A, B y C no tienen el mismo tipo de archivo (&eg; A es un directorio, B es un archivo): <errorname
+>Error: Conflicto en los tipos de archivo</errorname
+>. Mientras existan elementos como éstos la fusión de directorio no comenzará.</para
+></listitem>
+</itemizedlist>
+<para
+>En la fusión de dos directorios la operación propuesta será: Si para un elemento... </para>
+<itemizedlist>
+     <listitem
+><para
+>Ambos directorios son iguales: Copiar desde B.</para
+></listitem>
+     <listitem
+><para
+>A existe, pero B no: Copiar desde A.</para
+></listitem>
+     <listitem
+><para
+>B existe, pero no A: Copiar desde B.</para
+></listitem>
+     <listitem
+><para
+>A y B existe pero no son iguales: Fusionar.</para
+></listitem>
+     <listitem
+><para
+>A y B no tienen el mismo tipo de archivo (&eg; A es un directorio, B es un archivo): <errorname
+>Error: Conflicto en los tipos de archivo</errorname
+>. Mientras existan de elementos como éstos la fusión de directorio no comenzará.</para
+></listitem>
+</itemizedlist>
+<para
+>El modo de sincronización estará activo si solo existen dos directorios, no se ha especificado destino y está activa la opción <guilabel
+>Sincronizar directorios</guilabel
+>. &kdiff3; seleccionará una operación predeterminada de forma que ambos directorios sean idénticos después. Si para un elemento: </para>
+<itemizedlist>
+     <listitem
+><para
+>ambos directorios son iguales: No se hará nada.</para
+></listitem>
+     <listitem
+><para
+>A existe, pero B no: copiar A a B.</para
+></listitem>
+     <listitem
+><para
+>B existe, pero A no: Copiar B a A.</para
+></listitem>
+     <listitem
+><para
+>A y B existen, pero no son iguales: Fusionar y guardar el resultado en ambos directorios (para los usuarios el nombre de archivo guardado es B, pero entonces &kdiff3; copiará B a A).</para
+></listitem>
+     <listitem
+><para
+>A y B no tienen el mismo tipo de archivo (&eg; A es un directorio, B es un archivo): <errorname
+>Error: Conflicto en los tipos de archivo</errorname
+>. Mientras existan de elementos como éstos la fusión de directorio no comenzará.</para
+></listitem>
+</itemizedlist>
+<para
+>Cuando se fusionen dos directorios y esté seleccionada la opción <guilabel
+>Copiar nuevo en lugar de fusionar</guilabel
+>, &kdiff3; buscará en las fechas y propondrá como elección el nuevo archivo. Si los archivos no son iguales pero tienen las mismas fechas, la operación contendrá <errorname
+>Error: Las fechas son iguales pero los archivos no</errorname
+>. Mientras éstos elementos existan no se iniciará la fusión de directorios. </para>
+</sect2>
+
+<sect2 id="status"
+><title
+>La columna estado</title>
+<para
+>Durante la fusión se procesará un archivo tras otro. La columna estado mostrará <computeroutput
+>Hecho</computeroutput
+> para los elementos donde se haya producido la operación de fusionado, y otro texto si sucede algo inesperado. Cuando se completa una fusión, debería hacer una última comprobación para ver si el estado de todos los elementos es el adecuado. </para>
+</sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Columnas estadísticas</title>
+<para
+>Cuando está activado en las opciones el modo de comparación de archivos <guilabel
+>Análisis completo</guilabel
+>, &kdiff3; mostrará columnas que contienen el número de conflictos sin resolver, resueltos, no en blanco o de espacios en blanco (la columna resueltos solo se mostrará cuando se comparen o fusionen directorios). </para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="dothemerge"
+><title
+>Hacer una fusión</title>
+<para
+>Puede fusionar el elemento seleccionado (archivo o directorio) o todos los elementos. Cuando haya hecho todas sus operaciones de elección (en todos los subdirectorios también) podrá iniciar la fusión. </para
+><para
+>Sea consciente de que sino especifica un directorio de destino explícitamente, el destino será «C» en el modo de tres directorios, «B» en el modo de fusión de dos directorios, y en el modo de sincronización será «A» y/o «B». </para
+><para
+>Si ha especificado un directorio de destino marque todos los elementos del árbol que debieran estar en la salida. Existen algunas opciones que hará que se omitan ciertos elementos del directorio de comparación y del de fusión. Marque estas opciones para evitar sorpresas desagradables: </para>
+<itemizedlist>
+     <listitem
+><para
+><guilabel
+>Directorios recursivos</guilabel
+>: Si está desactivado, no se buscarán los elementos de los directorios.</para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Patrón</guilabel
+>/<guilabel
+>Anti-patrón</guilabel
+>: Incluir/excluir elementos que coincidan.</para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Excluir archivos ocultos.</guilabel
+></para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Listar solo deltas</guilabel
+>: Los archivos que coincidan en todos los directorios no aparecerán en el árbol, de ahí que no aparezcan en el destino.</para
+></listitem>
+</itemizedlist>
+<para
+>(En la versión actual, debería volverlo a explorar por sí mismo a través del menú <menuchoice
+><guimenu
+>Directorio</guimenu
+><guimenuitem
+>Volver a buscar</guimenuitem
+></menuchoice
+>, después de cambiar opciones que afecten al directorio explorado). </para
+><para
+>Si está satisfecho con ésto, el resto es sencillo. </para
+><para
+>Para fusionar todos los elementos: Seleccione <guimenuitem
+>Comenzar/continuar fusión de directorio</guimenuitem
+> en el menú <guimenu
+>Directorio</guimenu
+> o pulse <keycap
+>F7</keycap
+> (que es el acceso rápido). Para fusionar solo el elemento actual: Seleccione <guimenuitem
+>Realizar operación para el elemento actual</guimenuitem
+> o pulse <keycap
+>F6</keycap
+>. </para
+><para
+>Si debido a tipos de archivos conflictivos todavía continúan existiendo operaciones no válidas, aparecerá un mensaje señalándolo, de forma que pueda seleccionar una operación válida para este elemento. </para
+><para
+>Si fusiona todos los elementos aparecerá un diálogo proporcionándole las opciones <guibutton
+>Hacer</guibutton
+>, <guibutton
+>Simular</guibutton
+> y <guibutton
+>Cancelar</guibutton
+>. </para>
+<itemizedlist>
+     <listitem
+><para
+>Seleccione <guibutton
+>Simular</guibutton
+> si desea ver el resultado sin hacer la fusión. Se mostrará un lista de todas las operaciones.</para
+></listitem>
+     <listitem
+><para
+>Sino seleccione <guibutton
+>Hacer</guibutton
+> para realizar el fusionado.</para
+></listitem>
+</itemizedlist>
+<para
+>Entonces &kdiff3; realizará las operaciones especificadas para todos los elementos. Si se precisa interacción manual (fusión de un solo archivo), aparecerá una ventana de fusión (<link linkend="dirmergebigscreenshot"
+>vea la gran captura de pantalla</link
+>). </para
+><para
+>Cuando haya terminado con un archivo, seleccione de nuevo <guimenuitem
+>Comenzar/continuar fusión de directorio</guimenuitem
+> o la tecla <keycap
+>F7</keycap
+>. Si todavía no la había guardado, un diálogo le preguntará para hacerlo. Entonces &kdiff3; continuará con el siguiente elemento. </para
+><para
+>Cuando &kdiff3; encuentre un error, éste se lo indicará con información literal del estado. En la parte inferior de la lista, aparecerán algunos mensajes de error que deberían ayudarle a entender la causa del problema. Cuando continúe con la fusión (tecla <keycap
+>F7</keycap
+>) &kdiff3; le permitirá reintentar o saltarse el elemento que provocó el problema. Esto significa que antes de continuar puede seleccionar otra operación o resolver el problema por otros medios. </para
+><para
+>Cuando la fusión se haya completado, &kdiff3; le informará a través de un cuadro de diálogo. </para
+><para
+>Si algunos elementos se fusionaron de forma individual &kdiff3; lo recordará (mientras esté en esta sesión de fusionado), y no les fusionará nuevamente cuando haga la fusión para todos los elementos. Incluso cuando se salte la fusión o no se guarde nada estos elementos se contarán como completos. Solo cuando cambie la operación de fusión el elemento se fusionará de nuevo. </para>
+</sect1>
+
+<sect1 id="dirmergeoptions"
+><title
+>Opciones para comparación y fusión de directorios</title>
+<para
+>Las preferencias de &kdiff3; (menú <menuchoice
+><guimenu
+>Preferencias</guimenu
+><guimenuitem
+>Configurar KDiff3</guimenuitem
+></menuchoice
+>) ahora tienen una sección llamada <guilabel
+>Fusión de directorio</guilabel
+> con estas opciones: </para>
+
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Directorios recursivos:</guilabel
+></term
+><listitem
+><para
+>Indica si se realizará la búsqueda en los directorios de forma recursiva.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Patrón(es) de archivo(s):</guilabel
+></term
+><listitem
+><para
+>Solo los archivos que coincidan con el patrón se colocarán en el árbol. Puede especificarse más de un patrón utilizando el punto y coma <literal
+>;</literal
+> como separador. Comodines válidos: <literal
+>*</literal
+> y <literal
+>?</literal
+> (&eg; <literal
+>*.cpp;*.h</literal
+>). El valor predeterminado es <literal
+>*</literal
+>. Los directorios no necesitan coincidir con este patrón.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Anti-Patrón(es):</guilabel
+></term
+><listitem
+><para
+>Los archivos y directorios que coincidan con este patrón se excluirán del árbol. Se puede especificar más de un patrón utilizando el <literal
+>;</literal
+> como separador. Comodines válidos: <literal
+>*</literal
+> y <literal
+>?</literal
+>. El valor predeterminado es <literal
+>*.orig;*.o</literal
+>.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Usar .cvsignore:</guilabel
+></term
+><listitem
+><para
+>Ignora los archivos y directorios que también se vayan a ignorar por el <acronym
+>CVS</acronym
+>. Muchos archivos generados automáticamente se ingorarán por el <acronym
+>CVS</acronym
+>. La gran ventaja es que puede ser un directorio especificado a través del archivo local <filename
+>.cvsignore</filename
+> (vea <ulink url="info:/cvs/cvsignore"
+>info:/cvs/cvsignore</ulink
+>).</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Buscar archivos y directorios ocultos:</guilabel
+></term
+><listitem
+><para
+>En algunos sistemas de archivos tienen un atributo «Oculto». En otros sistemas el nombre de archivo comienza con un punto (<literal
+>.</literal
+>), lo que hace que esté oculto. Esta opción le permite decidir si incluir o no estos archivos en el árbol. De forma predeterminada está activado.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Seguir enlaces de archivos:</guilabel
+></term
+><listitem
+><para
+>Para los enlaces de los archivos: Cuando esté desactivado, se compararán los enlaces simbólicos. Cuando esté activado, se compararán los archivos que estén detrás de los enlaces. De forma predeterminada está desactivada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Seguir enlaces de directorios:</guilabel
+></term
+><listitem
+><para
+>Para los enlaces de los directorios: Cuando esté desactivado se compararán los enlaces simbólicos. Cuando esté activado, el enlace será tratado como un directorio y se explorará recursivamente (tenga en cuenta que el programa no comprueba si el enlace es «recursivo»). Así por ejemplo, un directorio que contenga un enlace al directorio puede provocar un bucle infinito, y después de cierto tiempo podrá sobrecargar la pila o utilizar toda la memoria, colgando el programa). De forma predeterminada está desactivada.</para
+></listitem
+></varlistentry
+>   
+   <varlistentry
+><term
+><guilabel
+>Listar solo deltas:</guilabel
+></term
+><listitem
+><para
+>Solo los elementos que no sean iguales en todos los directorios de entrada se listarán y solo los cambios de los archivos serán visibles. De ahí que los archivos que sean iguales en todos los directorios no se compiarán durante una fusión y si el directorio de destino no contiene los archivos antes de la fusión, podría omitir algunos archivos posteriormente (probablemente esta opción se cambiará en una versión posterior). De forma predeterminada está desactivada.</para
+></listitem
+></varlistentry>
+
+   <varlistentry
+><term
+><guilabel
+>Modo de comparación de archivos:</guilabel
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><guilabel
+>Comparación binaria:</guilabel
+></term
+><listitem
+><para
+>Éste es el modo de comparación de archivos predeterminado. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><guilabel
+>Análisis completo:</guilabel
+></term
+><listitem
+><para
+>Hace un análisis completo de cada archivo y muestra las columnas de información estadística (número de conflictos resueltos, sin resolver, no blancos y blancos). El análisis completo es más lento que un simple análisis binario, y mucho más lento cuando se utiliza con archivos que no contienen texto (especifique el anti-patrón archivo). </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><guilabel
+>Validar la fecha de modificación:</guilabel
+></term
+><listitem
+><para
+>Si compara directorios grandes sobre una red lenta, es más rápido comparar solo las fechas de modificación y el tamaño del archivo. Pero esta mejora del rendimiento paga el precio de una pequeña inseguridad. Utilice esta opción con cuidado. De forma predeterminada estará desactivada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Validar el tamaño:</guilabel
+></term
+><listitem
+><para
+>Similar a la validación de la fecha. No hace comparaciones reales. Dos archivos se consideran iguales si sus tamaños son iguales. Esto es práctico cuando la operación de copiado no conserva la fecha de modificación. Utilice esta opción con cuidado. De forma predeterminada estará desactivada.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><guilabel
+>Sincronizar directorios:</guilabel
+></term
+><listitem
+><para
+>Activa el «Modo sincronizado» cuando se comparan dos directorios y no se especificó el directorio de destino. En este modo las operaciones propuestas se seleccionarán de forma que tras realizar la operación ambos directorios queden iguales. Por ello el resultado del fusionado se escribirá en ambos directorios. De forma predeterminada estará desactivada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Copiar el más nuevo en vez de fusionar:</guilabel
+></term
+><listitem
+><para
+>En lugar de fusionar la operación propuesta será copiar la fuente nueva si hubo algún cambio (considerado inseguro, ya que implica que el otro directorio no ha sido editado. Deberá hacer una comprobación para cada caso). De forma predeterminada estará desactivada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Archivos de copia de seguridad:</guilabel
+></term
+><listitem
+><para
+>Si se reemplaza un archivo o directorio por otro o se borra, la versión original se renombrará con una extensión <literal role="extension"
+>.orig</literal
+>. Si ya existía un archivo con la extensión <literal role="extension"
+>.orig</literal
+> se borrará sin hacer copia de seguridad. También afecta al fusionado normal de archivos simples, no solo al modo de fusionado de directorio. De forma predeterminada estará activada.</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="other"
+><title
+>Otras funciones</title>
+<sect2
+><title
+>Modo de pantalla dividida/completa</title>
+<para
+>Normalmente la vista de la lista de fusionado de directorios permanece visible cuando se compara o fusiona un solo archivo. Con el ratón puede mover la barra divisoria que separa la lista de archivos de las ventanas de texto diff. Sino desea ésto, puede desactivar la <guimenuitem
+>Vista de pantalla dividida</guimenuitem
+> en el menú <guimenu
+>Directorio</guimenu
+>. A continuación utilice <guimenuitem
+>Cambiar vista</guimenuitem
+> en el menú <guimenu
+>Directorio</guimenu
+> para conmutar entre la lista de archivos y la ventana de texto diff que ocupará la pantalla completa. </para>
+</sect2>
+<sect2
+><title
+>Comparar o fusionar un solo archivo</title>
+<para
+>Probablemente preferirá una doble pulsación del ratón sobre un archivo para compararlos. Sin embargo existe una entrada en el menú <guimenu
+>Directorio</guimenu
+>. También puede fusionar directamente un solo archivo, sin iniciar el fusionado del directorio a través de la opción <guimenuitem
+>Fusionar un solo archivo</guimenuitem
+> en el menú <guimenu
+>Directorio</guimenu
+>. Al guardar el resultado, el estado cambiará a «hecho», y el archivo no se fusionará si se inicia un fusionado de directorio. </para
+><para
+>Pero tenga en cuenta que la información del estado se perderá cuando vuelva a explorar un directorio: <menuchoice
+><guimenu
+>Directorio</guimenu
+><guimenuitem
+>Volver a buscar</guimenuitem
+></menuchoice
+>. </para>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="misc">
+<title
+>Temas variados</title>
+<sect1 id="networktransparency">
+<title
+>Transparencia de red a través de KIO</title>
+<sect2
+><title
+>KIO-Slaves</title>
+<para
+>&kde; soporta transparencia de red a través de los KIO-slaves. &kdiff3; lo utiliza para leer los archivos de entrada y para explorar directorios. Esto significa que puede especificar archivos y directorios locales y en recursos remotos a través de &URL;s. </para
+><para
+>Ejemplo: </para
+><para>
+<screen
+><command
+>kdiff3</command
+> prueba.cpp  ftp://ftp.muylejos.org/prueba.cpp
+<command
+>kdiff3</command
+> tar:/home/hacker/archivo.tar.gz/dir ./dir
+</screen>
+</para>
+<para
+>La primera línea compara un archivo local con un archivo en un servidor &FTP;. La segunda línea compara un directorio con un archivo comprimido con un directorio local. </para
+><para
+>Otros KIO-slaves interesantes son: </para>
+<itemizedlist>
+<listitem
+><para
+>Archivos de la web (http:).</para
+></listitem>
+<listitem
+><para
+>Archivos desde el FTP (ftp:).</para
+></listitem>
+<listitem
+><para
+>Transferencia de archivos encriptados (fish:, sftp:).</para
+></listitem>
+<listitem
+><para
+>Recursos Windows (smb:).</para
+></listitem>
+<listitem
+><para
+>Archivos locales (file:).</para
+></listitem>
+</itemizedlist>
+<para
+>Otras cosas posibles, aunque probablemente poco prácticas son: </para>
+<itemizedlist>
+<listitem
+><para
+>Páginas de manual (man:).</para
+></listitem>
+<listitem
+><para
+>Páginas de información (info:).</para
+></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2
+><title
+>Cómo escribir &URL;s</title>
+<para
+>Una &URL; tiene una sintaxis diferente comparada con las rutas de los archivos y directorios locales. Algunas cosas a considerar son: </para>
+<itemizedlist>
+<listitem
+><para
+>Una ruta puede ser relativa y puede contener <literal
+>.</literal
+> o <literal
+>..</literal
+> Ésto no es posible para &URL;s que son siempre absolutas. </para
+></listitem
+><listitem
+><para
+>Los caracteres especiales deben escribirse «escapados» («#» se convertirá en «%23», los espacios se convertirán en «%20» y así sucesivamente). &eg; Un archivo con el nombre «/#foo#» tendrá la &URL; <literal
+>file:///%23foo%23</literal
+>. </para
+></listitem
+><listitem
+><para
+>Cuando una &URL; no funcione tal y como esperaba, intente abrirla primero en &konqueror;. </para
+></listitem>
+</itemizedlist>
+
+</sect2>
+
+<sect2
+><title
+>Capacidades de los KIO-Slaves.</title>
+<para
+>La transparencia de red tiene un inconveniente: No todos los recursos tienen las mismas capacidades. </para
+><para
+>Algunas veces esto es debido al sistema de archivos del servidor, otras al protocolo. Aquí tenemos una pequeña lista de restricciones: </para>
+<itemizedlist>
+<listitem
+><para
+>Algunas veces no soporta enlaces. </para
+></listitem
+><listitem
+><para
+>O no hay forma de distinguir si un enlace apunta a un archivo o a un directorio. Siempre se asume un archivo (ftp:, sftp:). </para
+></listitem
+><listitem
+><para
+>No siempre se puede determinar el tamaño del archivo. </para
+></listitem
+><listitem
+><para
+>Soporte limitado para los permisos. </para
+></listitem
+><listitem
+><para
+>No hay posibilidad de modificar los permisos o la hora, por ello los permisos o la hora de la copia puede diferir del original (vea la opción «Verificar tamaño»). La modificación de permisos o de la hora solo es posible en los archivos locales. </para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+
+<sect1 id="kpart">
+<title
+>Utilizar &kdiff3; como un KPart</title>
+<para
+>&kdiff3; es un KPart. Actualmente implementa la interfaz <interface
+>KParts::ReadOnlyPart</interface
+>. </para
+><para
+>Su principal utilización es la de visor de diferencias en <application
+>KDevelop</application
+>. <application
+>KDevelop</application
+> siempre inicia primero el visor interno de diferencias. Para llamar a &kdiff3; pulse el &RMB; en la ventana de diferencias y seleccione <guimenuitem
+>Mostrar en KDiff3Part</guimenuitem
+> en el menú contextual. </para
+><para
+>&kdiff3; normalmente requiere dos archivos completos como entrada. Cuando se utiliza como una parte &kdiff3; asume que el archivo de entrada es un archivo de parches en formato unificado. &kdiff3; recupera el nombre del archivo original del archivo del parche. Al menos uno de los dos archivos debe estar disponible. &kdiff3; llamará a <command
+>patch</command
+> para volver a crear el segundo archivo. </para
+><para
+>En &konqueror; puede seleccionar un archivo de parche y seleccionar <menuchoice
+><guisubmenu
+>Previsualizar en</guisubmenu
+><guimenuitem
+>KDiff3Part</guimenuitem
+></menuchoice
+> desde el menú contextual. Sea consciente de que esto no funcionará si no está disponible ninguno de los archivos originales, y no será fiable si hubo modificaciones en el(los) archivo(s) original(es) desde que se generó el parche. </para
+><para
+>Cuando se ejecute como una parte, &kdiff3; solo proporcionará la diferencia de dos archivos, una pequeñísima barra de herramientas y un menú. La fusión y comparación de directorios no está soportada. </para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Preguntas y respuestas</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry
+><question
+><para
+>¿Por qué se llama &kdiff3;? </para
+></question
+><answer
+><para
+>Las herramientas llamadas <application
+>KDiff</application
+> y <application
+>KDiff2</application
+> (ahora llamada &kompare;) ya existen. Por tanto &kdiff3; debería sugerir que incluye la fusión de forma similar a la herramienta <command
+>diff3</command
+> de la colección de herramientas Diff. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>¿Por qué la he liberado bajo la <acronym
+>GPL</acronym
+>? </para
+></question
+><answer
+><para
+>He utilizado programas <acronym
+>GPL</acronym
+> durante mucho tiempo y aprendí mucho echando un vistazo a muchas fuentes. Ésta es mi forma de dar las «gracias» a todos programadores que han hecho lo mismo. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Faltan algunos botones y funciones. ¿Que está pasando? </para
+></question
+><answer
+><para
+>Compiló las fuentes, pero probablemente no especificó de forma correcta el parámetro «prefix» de &kde; en <command
+>configure</command
+>. De forma predeterminada configure intentará instalarlo en <filename class="directory"
+>/usr/local</filename
+> pero &kde; no encuentra el archivo de recursos de la interfaz de usuario (&ie;, <filename
+>kdiff3ui.rc</filename
+>). El archivo <filename
+>README</filename
+> contiene más información sobre el parámetro «prefix» correcto. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Algunas líneas que son similares, pero no idénticas aparecen unas al lado de las otras, pero no siempre. ¿Por qué? </para
+></question
+><answer
+><para
+>Las líneas que solo contienen una cantidad diferente de espacios se tratan «igual» al principio, de forma que solo una diferencia en un caracter que no sea un espacio en blanco hará que las líneas sean «diferentes». Si aparecen líneas similares unas al lado de las otras, en realidad es una coincidencia, y sucede algunas veces. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>¿Por que se deben resolver todos los conflictos de fusionado antes de guardarlos? </para
+></question
+><answer
+><para
+>Para cada sección ya sea igual o diferente el editor en la ventana de resultado de la fusión recordará su comienzo y su final. Ésto es necesario para que los conflictos puedan resolverse manualmente pulsando el botón de la fuente (A, B o C). Esta información se perderá cuando se guarde el texto y es demasiado complicado crear un formato de archivo especial que soporte el guardado y la restauración de toda la información. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>¿Por qué el editor en la ventana de resultado no tiene una función «deshacer»? </para
+></question
+><answer
+><para
+>Es demasiado esfuerzo por el momento. Siempre puede restaurar una versión a partir de una fuente (A, B o C) pulsando el botón respectivo. Para editar archivos grandes se recomienda utilizar otro editor. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Cuando eliminó texto, de repente aparece «&lt;Sin línea fuente&gt;» y no se puede borrar. ¿Qué significa y cómo puedo eliminarlo? </para
+></question
+><answer
+><para
+>Para cada sección ya sea igual o diferente el editor en la ventana de resultado de la fusión recuerda dónde comienza y dónde termina. «&lt;Sin línea fuente&gt;» significa que no falta nada en una sección, ni siquiera un caracter de línea nueva. Esto puede suceder mientras realiza la fusión automática o mientras está editando. Ésto no es un problema, ya que no aparecerá en el archivo guardado. Si desea volver al archivo original seleccione la sección (pulse en la columna de resumen a la izquierda) y después pulse el botón de la fuente con los contenidos necesarios (A/B o C). </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>¿Por qué &kdiff3; no soporta resaltado de sintaxis? </para
+></question
+><answer
+><para
+>&kdiff3; ya utiliza muchos colores para resaltar las diferencias. Más resaltado resultaría confuso. Utilice otro editor para esto. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Aquí hay mucha información, pero ¿su pregunta no está respondida? </para
+></question
+><answer
+><para
+>Por favor, envíeme su pregunta. Aprecio todos los comentarios. </para
+></answer
+></qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<title
+>Créditos y licencia</title>
+
+<para
+>&kdiff3; - Herramienta de comparación y fusionado de archivos y directorios. </para>
+<para
+>Programa copyright 2002-2005 Joachim Eibl <email
+>joachim.eibl@gmx.de</email
+>. </para>
+<para
+>Algunas buenas ideas e informes de fallos me llegaron de colegas y de mucha gente a lo largo de la red ¡Gracias! </para>
+
+<para
+>Documentación Copyright &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl@gmx.de</email
+>. </para>
+
+<para
+>Traducido por Santiago Fernández Sancho <email
+>santi@est.unileon.es</email
+>.</para
+> 
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Instalación</title>
+
+<sect1 id="getting-kdiff3">
+<title
+>Cómo obtener &kdiff3;</title>
+
+<para
+>Puede descargar la última versión de &kdiff3; de su página principal: <ulink url="http://kdiff3.sourceforge.net"
+>http://kdiff3.sourceforge.net</ulink
+>. </para
+><para
+>&kdiff3; también está disponible para otras plataformas. Vea la página principal para obtener más detalles. </para>
+
+
+</sect1>
+
+<sect1 id="requirements">
+<title
+>Requerimientos</title>
+
+<para
+>Para utilizar adecuadamente todas las características de &kdiff3;, necesitará &kde; 3.1 o superior. </para
+><para
+>Para obtener información sobre cómo ejecutar &kdiff3; en otras plataformas sin &kde; vea la <ulink url="http://kdiff3.sourceforge.net"
+>página principal</ulink
+>. </para
+><para
+>Puede encontrar una lista de cambios en <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+>http://kdiff3.sourceforge.net/ChangeLog</ulink
+> o en el archivo <filename
+>ChangeLog</filename
+> del paquete fuente. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilación e instalación</title>
+&install.compile.documentation; </sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
--- a/kdiff3/doc/et/index.docbook	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/et/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -27,7 +27,7 @@
 > <affiliation
 ><address
 > <email
->joachim.eibl@gmx.de</email>
+>joachim.eibl at gmx.de</email>
 </address
 ></affiliation>
 </author>
@@ -51,7 +51,7 @@
 
 <copyright>
 <year
->2002-2003</year>
+>2002-2005</year>
 <holder
 >Joachim Eibl</holder>
 </copyright>
@@ -69,9 +69,9 @@
 Do NOT change these in the translation. -->
 
 <date
->2003-09-15</date>
+>2005-01-30</date>
 <releaseinfo
->0.9.70</releaseinfo>
+>0.9.87</releaseinfo>
 
 
 <abstract>
@@ -101,12 +101,16 @@
 ></listitem>
 <listitem
 ><para
->ja on väga värviline (juba vaikimisi :-)</para
+>võimaldab esile tõsta või peita tühikute või kommentaaride erinevusi</para
+></listitem>
+<listitem
+><para
+>toetab Unicode'i, UTF-8 ja muid kodeeringuid.</para
 ></listitem>
 </itemizedlist>
 </para
 ><para
->Käesolev käsiraamat kirjeldab KDiff3 versiooni 0.9.70.. </para>
+>Käesolev käsiraamat kirjeldab KDiff3 versiooni 0.9.87. </para>
 </abstract>
 
 <!-- This is a set of Keywords for indexing by search engines.
@@ -150,6 +154,10 @@
 >võrguläbipaistvus</keyword>
 <keyword
 >redaktor</keyword>
+<keyword
+>tühimärgid</keyword>
+<keyword
+>kommentaarid</keyword>
 </keywordset>
 
 </bookinfo>
@@ -161,15 +169,15 @@
 ><title
 >Veel üks võrdlemisrakendus?</title>
 <para
->Teatavasti on olemas üsna mitu graafilist võrdlusrakendust. Miks siis veel KDiff3? Siin ma sselgitan veidi selle loomise tagamaid. </para
+>Teatavasti on olemas üsna mitu graafilist võrdlusrakendust. Miks siis veel KDiff3? Siin ma selgitan veidi selle loomise tagamaid. </para
 ><para
 >KDiff3 nägi ilmavalgust sellepärast, et mul oli raskusi ühendamisega. Ühendamine on hädavajalik, kui mingi projekti failide kallal töötab korraga mitu inimest. Ühendamine peab olema mingil määral automatiseeritud, kui arvestada seda, et ühendamisvahend tegeleb nii uute, muudetud failidega (niinimetatud harudega) kui ka algse failiga (niinimetatud baas). Ühendamisvahend valib automaatselt muudatuse, mis mingis harus on tehtud. Kui mitu arendajat on muutnud üht ja sama rida, tuvastab ühendamisvahend konflikti, mis tuleb lahendada käsitsi. </para
 ><para
->Ühendamine on sellisel juhul keeruline, sest üks arendaja muutis hulk asju ja lisaks sellele parandas veel paljudes kohtades näiteks taanet. Samal ajal muutis teine arendaja samuti üsna palju samas failis ja nii tekibki korraga mitu ühendamiskonflikti. </para
+>Ühendamine oli sellisel juhul keeruline, sest üks arendaja muutis hulk asju ja lisaks sellele parandas veel paljudes kohtades näiteks taanet. Samal ajal muutis teine arendaja samuti üsna palju samas failis ja nii tekkiski korraga mitu ühendamiskonflikti. </para
 ><para
 >Vahendid, mida ma toona kasutasin, näitasid ainult muudetud ridu, aga mitte seda, mida neis ridades on muudetud. Ning miski ei viidanud ka sellele, et muudetud on ainult taanet. See muutis ühendamise väikest viisi luupainajaks. </para
 ><para
->Minu jaoks oli see alugspunkt. Esimene versioon oskas näidata erinevusi rea sees ning erinevusi tühimärkides. Hiljem lisandus veel hulk võimalusi, mis ainult suurendasid rakenduse kasulikkust. </para
+>Minu jaoks oli see alguspunkt. Esimene versioon oskas näidata erinevusi rea sees ning erinevusi tühimärkides. Hiljem lisandus veel hulk võimalusi, mis ainult suurendasid rakenduse kasulikkust. </para
 ><para
 >Nii on näiteks võimalik teksti kiireks võrdlemiseks kopeerida see lõikepuhvrisse ja asetada siis mis tahes võrdlusaknasse. </para
 ><para
@@ -237,7 +245,7 @@
 ><title
 >Tühimärkide erinevuste näitamine</title>
 <para
->Tühikute ja tabeldusmärkide erinevusi näidatakse otseselt ära. Kui read erinevad ainult tühimärkide arvu poolest, võib seda üheainsa pilguga näha vasakul asuval kokkuvõttetulbal (mis tähendab, et ei pruugi enam pead murda, kui muudetud on kõigest taanet). </para>
+>Tühikute ja tabeldusmärkide erinevused näidatakse otseselt ära. Kui read erinevad ainult tühimärkide arvu poolest, võib seda üheainsa pilguga näha vasakul asuval kokkuvõttetulbal (mis tähendab, et ei pruugi enam pead murda, kui muudetud on kõigest taanet). </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -324,6 +332,22 @@
 ></listitem>
    <listitem
 ><para
+>Võimalus kasutada KDevelop3 erinevuste näitajana.</para
+></listitem>
+   <listitem
+><para
+>Pikkade ridade murdmine.</para
+></listitem>
+   <listitem
+><para
+>Unicode'i, UTF-8 ja muude kodeeringute toetus.</para
+></listitem>
+   <listitem
+><para
+>Paremalt vasakule kirjutatavate keelte toetus.</para
+></listitem>
+   <listitem
+><para
 >...</para
 ></listitem>
 </itemizedlist>
@@ -464,6 +488,18 @@
 ><command
 >kdiff3</command
 > --help
+Võtmed:
+  -m, --merge               Sisendi liitmine.
+  -b, --base file           Baasfail. Ühilduvuseks teatud vahenditega.
+  -o, --output file         Väljundfail. Eelduseks -m. Nt.: -o newfile.txt
+  --out file                Taas väljundfail. (Ühilduvuseks teatud vahenditega.)
+  --auto                    GUI puudub, kui kõik konfliktid on automaatselt lahenevad. (Vajalik on -o file)
+  --qall                    Konflikte ei lahendata automaatselt. (Ühilduvuseks...)
+  --L1 alias1               Sisendfaili 1 (baas) näidatava nime asendus.
+  --L2 alias2               Sisendfaili 2 näidatava nime asendus.
+  --L3 alias3               Sisendfaili 3 näidatava nime asendus.
+  -L, --fname alias         Alternatiivne näidatava nime asendus. Tuleb anda kord iga sisendi kohta.
+  -u                        Toimeta. Ühilduvuseks teatud vahenditega.
 </screen>
 </sect2>
 
@@ -498,7 +534,7 @@
 ><para
 >Samuti võib kasutada lohistamist: lohista fail failihalduris või valitud tekst redaktorist ning kukuta see võrdlemise sisendaknasse. </para
 ><para
->Milleks see heea on? Mõnikord võib fail sisaldada kaht sarnast funktsiooni, kuid kontrollimine, kui sarnased nad ikkagi on, võib olla päris tülikas, kui sa pead näiteks kõigepealt looma kaks faili ja siis nad mõlemad avama. Nüüd aga on võimalik vajalikud osad lihtsalt kopeerida, asetada ja võrdlemine võibki alata. </para
+>Milleks see hea on? Mõnikord võib fail sisaldada kaht sarnast funktsiooni, kuid kontrollimine, kui sarnased nad ikkagi on, võib olla päris tülikas, kui sa pead näiteks kõigepealt looma kaks faili ja siis nad mõlemad avama. Nüüd aga on võimalik vajalikud osad lihtsalt kopeerida, asetada ja võrdlemine võibki alata. </para
 ><para
 >Märkus: praegu ei ole võimalik midagi KDiff3-st välja lohistada, toetatud on ainult lohistamine võrdlemise sisendaknasse. </para
 ><para
@@ -525,7 +561,7 @@
 ><para
 >Igast tekstist vasakul asub "kokkuvõttetulp". Kui real on erinevusi, näitab kokkuvõttetulp vastavat värvi. Ainult tühimärkide erinevuse korral on kokkuvõttetulbal näha ruuduline muster. See on abiks programmeerimiskeelte korral, kus tühimärkidel ei ole erilist tähendust, võimaldades ühe hetkega tuvastada, kas on ka mingeid olulisi muudatusi (näiteks C/C++ korral on tühimärkidel mingi roll ainult stringides, kommentaarides, preprotsessoris ja veel mõnel äärmiselt esoteerilisel juhtumil). </para
 ><para
->Kokkuvõttetulpa ja teksti lahutav püstjoon on katkestatud, kui sisendfailis pole selles kohas ühtki rida. </para
+>Kokkuvõttetulpa ja teksti lahutav püstjoon on katkestatud, kui sisendfailis pole selles kohas ühtki rida. Reamurdmise lubamisel on püstjoon murtud ridade juures punkteeritud. </para
 ><para
 >Paremal on otse kerimisriba kõrval näha "ülevaateriba". See näitab kokkusurutult sisendfaili "A" kokkuvõttetulpa. Nii on kõik erinevused ja konfliktid korraga näha. Kui kasutada ainult kaht sisendakent, on kõik erinevused punased, sest iga erinevus on sellisel juhul ju ka konflikt. Must ristkülik tähistab parajasti aknas näha olevat tekstiosa. Väga pikkade sisendfailide korral, kus sisendi ridade arv on suurem kui ülevaatetulba kõrgus pikslites, mahutatakse ühele ülevaatereale mitu sisendirida. Konflikti näitamist eelistatakse sellisel juhul tavalisele erinevusele ning viimast muutmata olekule, nii ei jää kindlasti nägemata ükski erinevus või konflikt. Ülevaateribale klõpsates näidatakse vastavat kohta tekstis. </para>
 </sect1>
@@ -557,18 +593,20 @@
 ><para
 >Lisaks saab vahetult redigeerida mis tahes rida. Kokkuvõttetulp näitab tähte "m" iga muudetud rea kohta. </para
 ><para
->Vahel võib juhtuda, et rida eemaldatakse automaatse liitmisega või redigeerides. Kui grupi ei ole jäänud enam ühtki rida, ilmub sellele reale tekst &lt;Lähterida puudub&gt;. See on kõigest grupi kohatäitja juhuks, kui muudad meelt ja valid taas mõne allika. Seda teksti ei ole näha ei salvestatud failis ega kopeeritavates/asetatavates valikutes. </para
+>Vahel võib juhtuda, et rida eemaldatakse automaatse liitmisega või redigeerides. Kui gruppi ei ole jäänud enam ühtki rida, ilmub sellele reale tekst &lt;Lähterida puudub&gt;. See on kõigest grupi kohatäitja juhuks, kui muudad meelt ja valid taas mõne allika. Seda teksti ei ole näha ei salvestatud failis ega kopeeritavates/asetatavates valikutes. </para
 ><para
->Tekst &lt;Ühendamise konflikt&gt; seevastu liigub küll lõikepuhvrisse, kui valida ja kopeerida/asetada sellist rida sisaldav tekst. Seepärast tasuks sellise võimalusega ettevaatlik olla. </para
+>Tekst "&lt;Ühendamise konflikt&gt;" seevastu liigub küll lõikepuhvrisse, kui valida ja kopeerida/asetada sellist rida sisaldav tekst. Seepärast tasuks sellise võimalusega ettevaatlik olla. </para
 ><para
->Menüü "Ühendamine" sisaldab teatud toiminguid, mis võimaldavad valida "A", "B" või "C" enam-vähem kõikjal. Kui valida "Lahenda automaatselt lihtsad konfliktid", taaskäivitab KDiff3 ühendamise ja lahendab nii palju konflikte, kui ta vähegi suudab ja oskab. "Määra erinevused konfliktideks" teeb aga täpselt vastupidist: isegi lihtsad konfliktid tuleb sellisel juhul käsitsi lahendada. Kõigi nende toimingute korral kaotatakse varasemad käsitsi tehtud valikud (KDiff3 hoiatab sellest muidugi ette ja küsib enne jätkamist sinu käest kinnitust). </para>
+>Tavaline ühendamine lahendab lihtsad konfliktid automaatselt. Menüü "Ühendamine" pakub lisaks mõningaid toiminguid muude levinumate vajaduste rahuldamiseks. Kui sul tuleb enamasti konfliktide puhul valida üks ja sama baas, võid valida kõikjal "A", "B" või "C" või ainult veel lahendamata konfliktidele või ainult lahendamata tühimärkide konfliktidele. Kui soovid lahendada iga erinevuse ise käsitsi, võid lülitada sisse võimaluse "Määra erinevused konfliktideks". Kui soovid aga taas panna KDiff3 automaatselt konflikte lahendama, vali "Lahenda automaatselt lihtsad konfliktid". Seejärel alustab KDiff3 uuesti ühendamist. Kui selle käigus muudetakse midagi, mida oled varem muutnud, küsib KDiff3 enne jätkamist, mida soovid teha. </para
+><para
+>Märkus: kui valid lahendamata tühimärkide konfliktide baasi ning võimalus "Numbreid ignoreeritakse" või "C/C++ kommentaare ignoreeritakse" on sisse lülitatud, koheldakse muutusi numbrites või kommentaarides samuti tühimärkidena. </para>
 </sect1>
 
 <sect1 id="navigation"
 ><title
 >Liikumine ja redigeerimine</title>
 <para
->Enamasti saab liikuda kerimisribade ja hiirega, kuid soovi korral on võimalik liikuda ka klahvidega. Kui klõpsata mis tahes aknasse, saab sarnaselt muude rakendustega kasutada noolenuppe, Page Up ja Page Down, Home, End, CTRL+Home, CTRL+End. Liikumiseks saab kasutada ka sisendafailide kerimisribast paremal pool asuvat ülevaateriba, mis võimaldab vajalikule kohale liikuda klõpsuga riba vajalikule kohale. </para
+>Enamasti saab liikuda kerimisribade ja hiirega, kuid soovi korral on võimalik liikuda ka klahvidega. Kui klõpsata mis tahes aknasse, saab sarnaselt muude rakendustega kasutada noolenuppe, Page Up ja Page Down, Home, End, Ctrl+Home, Ctrl+End. Liikumiseks saab kasutada ka sisendafailide kerimisribast paremal pool asuvat ülevaateriba, mis võimaldab vajalikule kohale liikuda klõpsuga riba vajalikule kohale. </para
 ><para
 >Üles-alla kerimiseks saab kasutada ka hiireratast. </para
 ><para
@@ -578,20 +616,20 @@
 >Ühendamine</link
 >). </para
 ><para
->Nupureal on seitse liikumisnuppu, millega saab hüpata praegusele/esimesele/viimasele erinevusele, eelmisele/järgmisele erinevusele (CTRL+Nool üles/CTRL+Nool alla), eelmisele/järgmisele konfliktile (CTRL+Page Down/CTRL+Page Up) või eelmisele/järgmisele lahendamata konfliktile. Pane tähele, et KDiff3 jaoks jääb "konflikt", mida ei lahendata automaatselt ühendamise alguses, "konfliktiks" ka pärast selle käsitsi lahendamist. Seepärast on ka eristatud "lahendamata konfliktid". </para
+>Nupureal on seitse liikumisnuppu, millega saab hüpata praegusele/esimesele/viimasele erinevusele, eelmisele/järgmisele erinevusele (Ctrl+Nool üles/Ctrl+Nool alla), eelmisele/järgmisele konfliktile (Ctrl+Page Down/Ctrl+Page Up) või eelmisele/järgmisele lahendamata konfliktile. Pane tähele, et KDiff3 jaoks jääb "konflikt", mida ei lahendata automaatselt ühendamise alguses, "konfliktiks" ka pärast selle käsitsi lahendamist. Seepärast on ka eristatud "lahendamata konfliktid". </para
 ><para
->Lisaks neile on nupp "Pärast allikavalikut liigu automaatselt järgmisele lahendamata konfliktile". Seda sisse lülitades hüppab KDiff3 allika valimisel automaatsel selles leiduval lahendamata konfliktile. See on abiks, kui soovid tavaliselt valida ainult ühe allika. Kui sul läheb vaja mõlemat allikat või soovid pärast valimist tegelda redigeerimisega, on tõenäoliselt mõttekas see välja lülitada. Enne järgmisele lahendamata konfliktile liikumist näitab KDiff3 hetkeks langetatud valiku toimet. Kui kaua see näitamine kestab, saab määrata seadistustes: "automaatse edasiliikumise viivitus" on võimalik määrata millisekundites 0 ja 2000 vahel. Vihje: kas oled tüdinud kogu aeg klõpsimast? Kasuta siis pisikest automaatse edasiliikumise viivitust ning kiirklahve CTRL+1/2/3 A/B/C valimiseks. </para>
+>Lisaks neile on nupp "Pärast allikavalikut liigutakse automaatselt järgmisele lahendamata konfliktile". Seda sisse lülitades hüppab KDiff3 allika valimisel automaatsel selles leiduval lahendamata konfliktile. See on abiks, kui soovid tavaliselt valida ainult ühe allika. Kui sul läheb vaja mõlemat allikat või soovid pärast valimist tegelda redigeerimisega, on tõenäoliselt mõttekas see välja lülitada. Enne järgmisele lahendamata konfliktile liikumist näitab KDiff3 hetkeks langetatud valiku toimet. Kui kaua see näitamine kestab, saab määrata seadistustes: "automaatse edasiliikumise viivitus" on võimalik määrata millisekundites 0 ja 2000 vahel. Vihje: kas oled tüdinud kogu aeg klõpsimast? Kasuta siis pisikest automaatse edasiliikumise viivitust ning kiirklahve Ctrl+1/2/3 A/B/C valimiseks. </para>
 </sect1>
 
 <sect1 id="selections"
 ><title
 >Valimine, kopeerimine ja asetamine</title>
 <para
->Sisendaknas kursorit ei näidata, seepärast tuleb valimine teha hiirega, klõpsates vasaku nupuga valiku alguses, hoides nuppu all ja liikudes valiku lõppu, pärast mida võib nupu vabastada. Sõna saab valida ka sellel topeltklõpsu tehes. Ühendamisväljundi redigeerimisaknas saab valida ka klaviatuuri abil, hoides all klahvi SHIFT ja liikudes noolenuppudega. </para
+>Sisendaknas kursorit ei näidata, seepärast tuleb valimine teha hiirega, klõpsates vasaku nupuga valiku alguses, hoides nuppu all ja liikudes valiku lõppu, pärast mida võib nupu vabastada. Sõna saab valida ka sellel topeltklõpsu tehes. Ühendamisväljundi redigeerimisaknas saab valida ka klaviatuuri abil, hoides all klahvi Shift ja liikudes noolenuppudega. </para
 ><para
->Lõikepuhvrisse kopeerimiseks tuleb vajutada nuppu "Kopeeri" (CTRL+C või CTRL+Insert). Lisaks sellele on olemas ka võimalus "Valiku automaatne kopeerimine". Selle sisselülitamisel kopeeritakse kõik, mida oled valinud, automaatselt ning sul puudub vajadus anda mis tahes moel kopeerimiskäsku. Kuid ole selle võimalusega ettevaatlik, sest nii võib kogemata üle kirjutada vajaliku lõikepuhvri sisu. </para
+>Lõikepuhvrisse kopeerimiseks tuleb vajutada nuppu "Kopeeri" (Ctrl+C või Ctrl+Insert). Lisaks sellele on olemas ka võimalus "Valiku automaatne kopeerimine". Selle sisselülitamisel kopeeritakse kõik, mida oled valinud, automaatselt ning sul puudub vajadus anda mis tahes moel kopeerimiskäsku. Kuid ole selle võimalusega ettevaatlik, sest nii võib kogemata üle kirjutada vajaliku lõikepuhvri sisu. </para
 ><para
->Käsk "Lõika" (CTRL+X või SHIFT+Delete) kopeerib valitud teksti lõikepuhvisse ning kustutab selle, "Aseta" (CTRL+V või SHIFT+Insert) aga asetab lõikepuhvris oleva teksti kursori asukohta või aktiivse valiku asemele. </para>
+>Käsk "Lõika" (Ctrl+X või Shift+Delete) kopeerib valitud teksti lõikepuhvisse ning kustutab selle, "Aseta" (Ctrl+V või Shift+Insert) aga asetab lõikepuhvris oleva teksti kursori asukohta või aktiivse valiku asemele. </para>
 </sect1>
 
 <sect1 id="saving"
@@ -607,7 +645,7 @@
 ><title
 >Stringide otsimine</title>
 <para
->Stringe saab otsida KDiff3 kõigis tekstiakendes. Redigeerimismenüü käsk "Otsi..." (CTRL+F) avab dialoogi, kus saab määrata, mida otsida. Samuti saab valida, millises aknas otsida. Otsimine algab alati teksti algusest. Käsk "Otsi järgmine" (F3) viib otsitava stringi järgmise esinemise juurde (kui seda muidugi on). Kui valid otsimise mitmes aknas, otsitakse esmalt ülalt alla läbi esimene aken, seejärel taas ülalt alla teine aken jne. </para>
+>Stringe saab otsida KDiff3 kõigis tekstiakendes. Redigeerimismenüü käsk "Otsi..." (Ctrl+F) avab dialoogi, kus saab määrata, mida otsida. Samuti saab valida, millises aknas otsida. Otsimine algab alati teksti algusest. Käsk "Otsi järgmine" (F3) viib otsitava stringi järgmise esinemise juurde (kui seda muidugi on). Kui valid otsimise mitmes aknas, otsitakse esmalt ülalt alla läbi esimene aken, seejärel taas ülalt alla teine aken jne. </para>
 </sect1>
 
 
@@ -778,6 +816,26 @@
 >Iga tekstivalik kopeeritakse otsekohe lõikepuhvrisse, ilma et oleks vaja anda spetsiaalset kopeerimiskäsku. </para
 ></listitem
 ></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Realõpu stiil:</emphasis
+></term
+><listitem
+><para
+>Salvestamisel saab valida, millist realõpu stiili eelistada. Vaikimisi on see valitud operatsioonisüsteemi põhjal. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kohaliku kodeeringu kasutamine:</emphasis
+></term
+><listitem
+><para
+>Mitte-ladina sümbolite näitamiseks. Tasub kasutada, kui mõningaid sinu keele sümboleid ei näidata korrektselt. </para
+></listitem
+></varlistentry>
 </variablelist>
 </sect2>
 
@@ -791,16 +849,6 @@
    <varlistentry
 ><term
 ><emphasis
->Tühimärke ignoreeritakse:</emphasis
-></term
-><listitem
-><para
->Vaikimisi sees. Sellisel juhul ignoreeritakse tühimärke analüüsi esimeses osas, kus võrreldakse ridu üldiselt. Analüüsi tulemuses näidatakse siiski ka tühimärgi erinevusi igal juhul. </para
-></listitem
-></varlistentry>
-   <varlistentry
-><term
-><emphasis
 >Säilitatakse reavahetus:</emphasis
 ></term
 ><listitem
@@ -821,11 +869,21 @@
    <varlistentry
 ><term
 ><emphasis
->Teisendatakse suurtäheliseks:</emphasis
+>C/C++ kommentaare ignoreeritakse:</emphasis
 ></term
 ><listitem
 ><para
->Vaikimisi väljas. Sisendi lugemise ajal muudetakse see suurtäheliseks. Sellisel juhul ei ole võrdlus tõstutundlik. Ole sellega ühendamise ajal ettevaatlik, sest nii läheb tähesuurusega seotud info kaotsi ka ühendamise tulemuses. </para
+>Vaikimisi väljas. Muudatusi kommentaarides tõlgendatakse tühimärkide muudatustena. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Tõstu ignoreeritakse:</emphasis
+></term
+><listitem
+><para
+>Vaikimisi väljas. Tähtede tõstu erinevusi (näiteks 'A' vs. 'a') tõlgendatakse tühimärkide muudatustena. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -835,7 +893,9 @@
 ></term
 ><listitem
 ><para
->Mis tahes faili lugemisel filtreeritakse see läbi siin määratud käsu. Algse faili asemel näeb siis antud käsu väljundit. Sul on võimalik panna kirja oma eeltöötluse käsk, mis rahuldaks just sinu vajadused. Kasuta seda võimalust näiteks faili ülearuste osade kõrvaldamiseks või taande automaatseks korrigeerimiseks vms. </para
+>Vaata <link linkend="preprocessors"
+>järgmist osa</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -845,17 +905,9 @@
 ></term
 ><listitem
 ><para
->Mis tahes faili lugemisel filtreeritakse see läbi siin määratud käsu. Kui määratud on ka eeltöötluse käsk (vaata eespool), on eeltöötluse käsu väljund ridade sobivuse eeltöötluse käsu sisendiks. Viimase väljundit kasutatakse ainult analüüsi esimeses, reasobivuse faasis. Sul on võimalik panna kirja oma eeltöötluse käsk, mis rahuldaks just sinu vajadused. Igal sisendi real peab olema talle vastav väljundi rida. </para
-></listitem
-></varlistentry>
-   <varlistentry
-><term
-><emphasis
->Välise rakenduse kasutamine:</emphasis
-></term
-><listitem
-><para
->Kui sul on mõni väline võrdlusrakendus (nt. GNU-diff), saad seda kasutada reasobivuse faasis. Mõningate keerulisemate failide puhul võib see olla isegi parem kui KDiff3 seesmine algoritm. </para
+>Vaata <link linkend="preprocessors"
+>järgmist osa</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -865,27 +917,7 @@
 ></term
 ><listitem
 ><para
->Edastab välisele võrdlusrakendusele võtme "--minimal", mis püüab seejärel tuvastada ka kõige pisemad erinevused. Ilmselt on sellest rohkem kasu keerulisemate ja suurte failide korral. Aga mõistagi on see väga suurte failide puhul ka väga aeglane. </para
-></listitem
-></varlistentry>
-   <varlistentry
-><term
-><emphasis
->Labaseid sobivusi ignoreeritakse:</emphasis
-></term
-><listitem
-><para
->Vaikimisi sees. Kui tavalised reab sobivad pärast erinevust, seda ignoreeritakse ning jätkub mittelabase sobiva rea otsing. See parandab tulemusi, kui sisendis on tühje ridu ning ridu, milles on ainult alustav või lõpetav sulg, nagu neid esineb sageli C/C++ programmides. </para
-></listitem
-></varlistentry>
-   <varlistentry
-><term
-><emphasis
->Otsingu maks. pikkus:</emphasis
-></term
-><listitem
-><para
->Sobivuse otsimine katkestatakse siin määratud ridade järel. Võrdlus võib ebaõnnestuda väikese väärtuse korral, kuid kesta liigagi kaua liiga suure väärtuse puhul. Vaikimisi 1000. </para
+>Püüab tuvastada ka kõige pisemad erinevused. Vaikimisi sees. Ilmselt on sellest rohkem kasu keerulisemate ja suurte failide korral. Aga mõistagi on see väga suurte failide puhul ka väga aeglane. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -898,6 +930,16 @@
 >Kui automaatne edasiliikumine on sisse lülitatud, määrab see võimalus, kui kaua näidatakse valiku tulemust, enne kui hüpatakse järgmisele lahendamata konfliktile. </para
 ></listitem
 ></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Tühimärkide käsitlemine 2/3 faili ühendamisel:</emphasis
+></term
+><listitem
+><para
+>Lahendab automaatselt kõik tühimärkide konfliktid määratud faili valides (vaikimisi käsitsivalik). Kasulik, kui tühimärgid pole olulise tähtsusega. Kui seda läheb ainult mõnikord vaja, kasuta parem ühendamismenüü käske "Vali A/B/C kõigi lahendamata tühimärgikonfliktide korral". Pane tähele, et kui sees on "Numbreid ignoreeritakse" või "C/C++ kommentaare ignoreeritakse", rakendub see automaatne valik ka kõigile numbrite või kommentaaride konfliktidele. </para
+></listitem
+></varlistentry>
 </variablelist>
 
 </sect2>
@@ -927,6 +969,84 @@
 
 <sect2
 ><title
+>Riigi ja keele valikud</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Keel:</emphasis
+></term
+><listitem
+><para
+>Kasutajaliidese keele määramine. Selle muutmine ei mõjuta töötavat rakendust. Keele muutmiseks tuleb KDiff3 sulgeda ja uuesti käivitada. (See valik ei ole kasutatav KDiff3 KDE versioonis, sest seal saab keele määrata KDE üldises seadistuses.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Kõikjal kasutatakse kodeeringut:</emphasis
+></term
+><listitem
+><para
+>Järgnevaid kodeeringuvalikuid saab määrata eraldi, välja arvatud juhul, kui äsjatoodud valik on sisse lülitatud, sest siis võtavad kõik valikud esimese valiku väärtuse. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Kohalik kodeering:</emphasis
+></term
+><listitem
+><para
+>Kodeeringu valimise väljade kohal seisab märge, mis annab teada kohaliku kodeeringu (see ei ole muudetav, vaid lihtsalt teadmiseks, kui sa ei peaks oma kodeeringut teadma). </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>A/B/C kodeering:</emphasis
+></term
+><listitem
+><para
+>Sisendfailide kodeeringu kohandamine. See mõjutab inglise tähestikku mittekuuluvate sümbolite esitamist. Kohandada saab iga kodeeringut eraldi, nii et sul on isegi võimalus võrrelda ja ühendada faile, mis on salvestatud erinevas kodeeringus. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Kodeering ühendamisväljundil ja salvestamisel:</emphasis
+></term
+><listitem
+><para
+>Kui muudad faili, saad siis määrata, millises kodeeringus salvestatakse see kettale. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Eelprotsessori failide kodeering:</emphasis
+></term
+><listitem
+><para
+>Kui oled määranud eelprotsessorid, võib juhtuda, et nad ei suuda sinu kodeeringut töödelda (kui näiteks sinu failid on 16-bitises Unicode''is, eelprotsessor suudab aga töödelda vaid 8-bitist ASCII-d). Siin saad määrata eelprotsessori väljundi kodeeringu. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Paremalt vasakule keeled:</emphasis
+></term
+><listitem
+><para
+>Mõningaid keeli kirjutatakse paremalt vasakule. Selle valiku sisselülitamisel näitab KDiff3 võrdluse sisendakendes ja ühendamise väljundaknas teksti paremalt vasakule. Pane tähele, et kui käivitad KDiff3 käsurealt võtmega "--reverse", kasutab kogu rakendus paremalt vasakule paigutust (seda võimaldab Qt). Käesolev käsiraamat on kirjutatud eeldusel, et "Paremalt vasakule keeled" ega võti "reverse" ei ole kasutusel. Sestap tuleb nende kasutamisel mõningaid "vasakul" või "paremal" antud kirjeldusi lugeda lihtsalt selle teadmise valguses vastupidi. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
 >Muud</title>
 <para
 >(neid valikuid ja toiminguid saab kasutada menüü või nupuriba vahendusel)</para>
@@ -954,6 +1074,36 @@
   <varlistentry
 ><term
 ><emphasis
+>Näita tühimärke:</emphasis
+></term
+><listitem
+><para
+>Selle väljalülitamisel ei tõsteta esile tühimärkide erinevusi tekstis ega ülevaatetulbal. Pane tähele, et et kui sees on "Numbreid ignoreeritakse" või "C/C++ kommentaare ignoreeritakse", rakendub see ka kõigile numbrite või kommentaaride konfliktidele.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Ülevaate valikud:</emphasis
+></term
+><listitem
+><para
+>Neid valikuid saab kasutada ainult kolme faili võrdlemisel. Tavarežiimis näidatakse erinevusi ühel värvilisel ülevaatetulbal. Kuid vahel võivad huvi pakkuda kolmest faili ainult kahe erinevused. Valides vastavalt ülevaate "A vs. B", "A vs. C" või "B vs. C", näidatakse tavalise ülevaatetulba kõrval teist vajaliku infoga. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Reamurdmine võrdlusakendes:</emphasis
+></term
+><listitem
+><para
+>Read murtakse, kui nende pikkus ületab akna laiust. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
 >Näita akent A/B/C:</emphasis
 ></term
 ><listitem
@@ -995,6 +1145,323 @@
 >Praegu toetab ainult KDE versioon kasutaja võimalust määrata kiirklahve (menüükäsk Seadistused -> Kiirklahvide seadistamine...) </para>
 </sect2>
 </sect1>
+
+<sect1 id="preprocessors"
+><title
+>Eeltöötluse käsud:</title>
+<para
+>KDiff3 toetab kaht eeltöötluse võimalust. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Eeltöötluse käsk:</emphasis
+></term
+><listitem
+><para
+>Mis tahes faili lugemisel filtreeritakse see läbi siin määratud käsu. Algse faili asemel näeb siis antud käsu väljundit. Sul on võimalik panna kirja oma eeltöötluse käsk, mis rahuldaks just sinu vajadused. Kasuta seda võimalust näiteks faili ülearuste osade kõrvaldamiseks või taande automaatseks korrigeerimiseks vms. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ridade sobivuse eeltöötluse käsk:</emphasis
+></term
+><listitem
+><para
+>Mis tahes faili lugemisel filtreeritakse see läbi siin määratud käsu. Kui määratud on ka eeltöötluse käsk (vaata eespool), on eeltöötluse käsu väljund ridade sobivuse eeltöötluse käsu sisendiks. Viimase väljundit kasutatakse ainult analüüsi esimeses, reasobivuse faasis. Sul on võimalik panna kirja oma eeltöötluse käsk, mis rahuldaks just sinu vajadused. Igal sisendi real peab olema talle vastav väljundi rida. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>Selle mõte on pakkuda kasutajale suuremat paindlikkust võrdlemistulemuse seadistamisel. Kuid see nõuab välist programmi ja mõistagi ei taha enamik sellist ise kirjutama hakata. Õnneks suudab enamasti selliste asjadega toime tulla <command
+>sed</command
+> või <command
+>perl</command
+>. </para>
+<para
+>Näide: lihtne testnäide: Võtame faili a.txt (6 rida): <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> Ja faili b.txt (3 rida): <screen>
+      cg
+      dg
+      eg
+</screen
+> Ilma eeltöötluseta seatakse vastavusse järgmised read: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Tõenäoliselt ei ole see sugugi see, mida sa soovisid, sest oluliseks infokandjaks on just esimesed tähed. Et sobivusalgoritn jätaks arvesse võtmata teise tähe, kasutame reasobivuse eeltöötluse käsku, mis asendab 'g' 'a'-ga: <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Selle käsu korral on võrdlemise tulemus järgmine: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> Seesmisel näeb sobivusalgoritm faile juba pärast reasobivuse eeltöötluse rakendamist, kuid ekraanil jääb fail muutmata. (Tavaline eeltöötlus muudaks andmeid ka ekraanil.) </para>
+
+<sect2 id="sedbasics"
+><title
+><command
+>sed</command
+> põhitõed</title>
+<para
+>Selles osas tutvustame ainult programmi <command
+>sed</command
+> üksikuid põhimõttelisi omadusi. Rohkem infot leiab käsuga <ulink url="info:/sed"
+>info:/sed</ulink
+> või aadressilt <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+> http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Windowsi eelkompileeritud versioon asub aadressil <ulink url="http://unxutils.sourceforge.net"
+> http://unxutils.sourceforge.net</ulink
+>. Pane tähele, et järgmistes näidetes eeldame, et käsk <command
+>sed</command
+> asub mõnes keskkonnamuutujaga PATH määratud kataloogis. Kui see nii ei ole, tuleb sul määrata käsu täielik asukoht. Pane tähele ka seda, et järgnevates näidetes on kasutatud ühekordset jutumärki ('), mis Windowsis ei toimi - seal tuleb kasutada topeltjutumärke ("). </para>
+<para
+>Antud kontekstis kasutatakse ainult <command
+>sed</command
+>-i asenduskäsku: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGULAARAVALDIS</replaceable
+>/<replaceable
+>ASENDUS</replaceable
+>/<replaceable
+>LIPUD</replaceable
+>'
+</screen
+> Enne uue käsu kasutamist KDiff3-ga võiks seda esmalt testida konsoolil. Siin tuleb kasuks käsk <command
+>echo</command
+>. Näide: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Toodud näites on tegemist äärmiselt lihtsa sed-käsuga, kus asendatakse esimene "a" "o"-ga. Kui soovid asendada kõik esinemiskorrad, tuleb kasutada lippu "g"-flag: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Sümbol "|" on torukäsk, mis edastab eelmise käsu väljundi järgmise käsu sisendile. Kui soovid testida pikema failiga, võid kasutada käsku <command
+>cat</command
+>, kui tegemist on UNIX-i süsteemiga, või <command
+>type</command
+>, kui tegu on Windowsiga. <command
+>sed</command
+> sooritab asenduse igal real. <screen
+><command
+>cat</command
+> <replaceable
+>failinimi</replaceable
+> | <command
+>sed</command
+> <replaceable
+>võtmed</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Näited <command
+>sed</command
+>-i kasutamise kohta KDiff3-ga</title>
+<sect3
+><title
+>Muud tüüpi kommentaaride ignoreerimine</title>
+<para
+>Praegu mõistab KDiff3 ainult C/C++ kommentaare. Reasobivuse eeltöötluse käsuga saab aga ignoreerida ka muud tüüpi kommentaare, teisendades need C/C++ kommentaarideks. Näide: kui soovid ignoreerida kommentaare, mille alguses on "#", tuleks need teisendada nii, et alguses oleks "//". Pane tähele, et seejuureks peaks olema võimalus "C/C++ kommentaare ignoreeritakse" olema sisse lülitatud, muidu pole asjal mõtet. Vastav reasobivuse eeltöötluse käsk näeb välja selline: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Kuna <command
+>sed</command
+> omistab sümbolile "/" eritähenduse, on oluline asetada asendusstringis iga "/" ette sümbol "\". Mõnikord on "\" vajalik teatud ertähendusega sümbolite lisamiseks või eemaldamiseks. Nüüd on olulised üksikjutumärgid (') enne ja pärast asenduskäsku, sest vastasel juhul püüab shell mõningaid erisümboleid, näiteks '#', '$' või '\' tõlgendada juba enne nende edastamist käsule <command
+>sed</command
+>. Pane tähele, et Windowsis tuleb anda topeltjutumärgid ("). Windows asendab ka muid sümboleid, näiteks '%', nii et siin võib olla vajalik veidi eksperimenteerida. </para>
+</sect3>
+<sect3
+><title
+>Tõstutundetu võrdlus</title>
+<para
+>Järgmise reasobivuse eeltöötluse käsuga saab kogu sisendi muuta suurtäheliseks: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Siin on ".*" regulaaravaldis, mis sobib iga stringiga, antud kontekstis siis iga real asuva sümboliga. "\1" asendusstringis tähistab sobivat teksti esimeses "\(" and "\)" paaris. "\U" teisendab sisestatud teksti suurtäheliseks. </para>
+</sect3>
+
+<sect3
+><title
+>Versioonikontrolli võtmesõnade ignoreerimine</title>
+<para
+>CVS ja muud versioonikontrolli süsteemid kasutavad mitmeid võtmesõnu automaatselt genereeritavate stringide lisamiseks (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Kõik need järgivad mustrit "$VÕTMESÕNA genereeritud tekst$". Nüüd läheb meil vaja reasobivuse eeltöötluse käsku, mis eemaldaks ainult genereeritud teksti: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Võimalikke võtmesõnu eraldab "\|". Seda loendit võid mõistagi vastavalt oma vajadustele muuta. Enne "$" on kindlasti vajalik "\", sest muidu on "$" sobivuseks rea lõpp. </para>
+<para
+>Kui katsetad <command
+>sed</command
+>-iga, hakkad arvatavasti veidi aduma regulaaravaldiste mõtet ja võib-olla isegi neid armastama. Iseenesest on regulaaravaldised väga kasulikud, sest päris paljud programmid toetavad sarnast võimalust. </para>
+</sect3>
+
+<sect3
+><title
+>Numbrite ignoreerimine</title>
+<para
+>Numbrite ignoreerimine on tegelikult juba sisseehitatud võimalus. Kuid näitame siinkohal, kuidas see näeks välja reasobivuse eeltöötluse käsuna: <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Sobivad kõik sümbolid '[' ja ']' vahel ning neid ei asendatagi, vaid lihtsalt kõrvaldatakse. </para>
+</sect3>
+
+<sect3
+><title
+>Teatud veergude ignoreerimine</title>
+<para
+>Tekst võib olla rangelt vormindatud ning sisaldada näiteks veergu, mida soovid alati ignoreerida, samas aga muid veerge analüüsiks kasutada. Järgnevas näites ignoreeritakse viit esimest veergu (sümbolit), järgmised kümme säilitatakse, siis ignoreeritakse taas viit veergu ning ülejäänud rida säilitatakse. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Iga punkt '.' vastab ühele sümbolile. "\1" ja "\2" asendusstringis tähistavad sobivat teksti esimeses ja teises "\(" ja "\)" paaris, märkides säilitatavat teksti. </para>
+</sect3>
+
+<sect3
+><title
+>Mitme asenduse kombineerimine</title>
+<para
+>Vahel võib tekkida tahtmine teha mitu asendust korraga. Selleks tuleb nende eraldamiseks kasutada semikoolonit ';'. Näide: <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+><command
+>perl</command
+>-i kasutamine <command
+>sed</command
+>-i asemel</title>
+<para
+><command
+>sed</command
+>-i asemel võib kasutada ka midagi muud, näiteks <command
+>perl</command
+>. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGULAARAVALDIS</replaceable
+>/<replaceable
+>ASENDUS</replaceable
+>/<replaceable
+>LIPUD</replaceable
+>'
+</screen
+> Kuid <command
+>perl</command
+> on mõnevõrra erinev. Pane tähele, et kui <command
+>sed</command
+>-ile oli vaja "\(" ja "\)", siis <command
+>perl</command
+>-ile on vaja lihtsalt "(" ja ")" ilma eelneva '\'. Näide: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Eeltöötluse sooritamise järjekord</title>
+<para
+>Andmed suunatakse läbi sisemiste ja väliste eeltöötluse käskude järgmises järjekorras </para>
+<itemizedlist>
+<listitem
+><para
+>Tavaline eeltöötlus,</para
+></listitem>
+<listitem
+><para
+>Reasobivuse eeltöötlus,</para
+></listitem>
+<listitem
+><para
+>Tõstu ignoreerimine (teisendamine suurtäheliseks),</para
+></listitem>
+<listitem
+><para
+>C/C++ kommentaaride tuvastamine,</para
+></listitem>
+<listitem
+><para
+>Numbrite ignoreerimine,</para
+></listitem>
+<listitem
+><para
+>Tühimärkide ignoreerimine</para
+></listitem>
+</itemizedlist>
+<para
+>Tavalise eeltöötluse tulemusandmed säilitatakse näitamiseks ja ühendamiseks. Muud operatsioonid muudavad ainult andmeid, mida näeb reasobivuse võrdlusalgoritm. </para
+><para
+>Neil harvadel juhtudel, kui kasutad tavalist eeltöötluse käsku, arvesta, et reasobivuse eeltöötluse käsk peab tavalise eeltöötluse käsu väljundit oma sisendiks. </para>
+</sect2>
+
+<sect2
+><title
+>Hoiatus</title>
+<para
+>Eeltöötluse käsud on sageli vägagi kasulikud, aga nagu ikka võimalustega, mis muudavad sinu teksti või peidavad automaatselt teatud erinevused, võib sel moel kogemata mõningad erinevused kahe silma vahele jätta või eriti halval juhul isegi olulised andmed hävitada. </para
+><para
+>Seetõttu teatab KDiff3 ühendamisel sellest, et kasutatakse tavalist eeltöötluse käsku, ning pärib, kas seda lubada vi mitte. Kuid sind ei hoiatata, kas reasobivuse eeltöötluse on aktiivne või mitte. Ühendamine on valmis alles siis, kui kõik konfliktid on lahendatud. Kui lülitad välja võimaluse "Tühimärkide näitamine", siis on nähtamatud ka erinevused, mis eemaldati reasobivuse eeltöötluse käsuga. Kui ühendamisel ei saa kasutada nuppu 'Salvesta' (sest failis on veel konflikte), lülita "tühimärkide näitamine" sisse. Kui sa ei soovi neid enamasti vähese tähtsusega erinevusi käsitsi ühendada, vali ühendamismenüüst käsk "Vali [A|B|C] kõigi lahendamata tühimärgikonfliktide korral". </para>
+</sect2>
+</sect1>
 </chapter>
 
 
@@ -1007,7 +1474,7 @@
 <para
 >Programmeerijad peavad sageli oma eesmärgi saavutamiseks muutma kataloogis paljusid faile. Selle ülesande kergendamiseks võimaldab KDiff3 võrrelda ja ühendada ka terveid katalooge koos nende alamkataloogidega! </para
 ><para
->Kuigi kataloogide võrdlemine ja ühendamine tundub olevat üsna lihtne ja selge, tuleks siin siiski arvestada mitme asjaga. Kõige olulisem on kahtlemata see, et sellisel juhul puudutab iga operatsioon paljusid faile korraga. Kui sa ei ole esialgsetest andmetest varukoopiat teinud, võib algoleku taastamine olla väga raske või isegi võimatu. Seepärast kontrolli enne ühendamise alustamist alati, et andmed on turvaliselt varundatud ja et sul on alati võimalus tagasi minna. Kas kasutada arhiveerimist või mõnda versioonide kontrollimise süsteemi, on sinu enda otsustada, kuid pea silmas, ka ülikogenud programmeerijad vajavad aeg-ajalt vanu alliktekste. Ning ühtlasi arvesta sedagi, et kuigi mina (see tähendab, KDiff3 autor) olen püüdnud anda endast parima, ei saa ma täie kindlusega öelda, et rakendus on ideaalne ja täiesti veatu. Nagu ütleb GNU Üldine Avalik Litsents, ei ole sellel rakendusel MITTE MINGIT garantiid. Seepärast pea alati meeles, et </para>
+>Kuigi kataloogide võrdlemine ja ühendamine tundub olevat üsna lihtne ja selge, tuleks siin siiski arvestada mitme asjaga. Kõige olulisem on kahtlemata see, et sellisel juhul puudutab iga operatsioon paljusid faile korraga. Kui sa ei ole esialgsetest andmetest varukoopiat teinud, võib algoleku taastamine olla väga raske või isegi võimatu. Seepärast kontrolli enne ühendamise alustamist alati, et andmed on turvaliselt varundatud ja et sul on alati võimalus tagasi minna. Kas kasutada arhiveerimist või mõnda versioonide kontrollimise süsteemi, on sinu enda otsustada, kuid pea silmas, et ka ülikogenud programmeerijad vajavad aeg-ajalt vanu alliktekste. Ning ühtlasi arvesta sedagi, et kuigi mina (see tähendab, KDiff3 autor) olen püüdnud anda endast parima, ei saa ma täie kindlusega öelda, et rakendus on ideaalne ja täiesti veatu. Nagu ütleb GNU Üldine Avalik Litsents, ei ole sellel rakendusel MITTE MINGIT garantiid. Seepärast pea alati meeles, et </para>
 <blockquote
 ><para>
    <emphasis
@@ -1043,7 +1510,11 @@
 ></listitem>
      <listitem
 ><para
->... lubab jätkata pärast sekkumist ühendamist klahvile F5 vajutades</para
+>... võimaldab käivitada valitud toimingu kõigil elementidel (klahv F7) või ainult valitud elemendil (klahv F6)</para
+></listitem>
+     <listitem
+><para
+>... lubab jätkata pärast sekkumist ühendamist klahvile F7 vajutades</para
 ></listitem>
      <listitem
 ><para
@@ -1107,7 +1578,7 @@
 >. </para>
 
 <para
->Pane tähele, et automaatselt algab ainult võrdlemine, mitte aga ühendamine. Viimase jaoks tuleb kasutada vastavat menüükäsku või klahvi F5 (sellest räägime pikemalt veidi hiljem). </para>
+>Pane tähele, et automaatselt algab ainult võrdlemine, mitte aga ühendamine. Viimase jaoks tuleb kasutada vastavat menüükäsku või klahvi F7 (sellest räägime pikemalt veidi hiljem). </para>
 </sect2>
 </sect1>
 
@@ -1115,7 +1586,7 @@
 ><title
 >Nähtav info</title>
 <para
->Kataloogide lugemise ilmub teatekast, mis näitab edenemise käiku. Kui katkestad kataloogi läbiuurimise, näidatakse ainult neid faile, mida selle hetkeni jõuti võrrelda. </para
+>Kataloogide lugemisel ilmub teatekast, mis näitab edenemise käiku. Kui katkestad kataloogi läbiuurimise, näidatakse ainult neid faile, mida selle hetkeni jõuti võrrelda. </para
 ><para
 >Kui kataloogide skaneerimine on lõpule jõudnud, näitab KDiff3 nimekirjakasti, kus vasakul on tulemused... </para>
 <screenshot
@@ -1205,11 +1676,11 @@
 ><title
 >Operatsiooniveerg</title>
 <para
->Pärast kataloogide võrdlemist hindab KDiff3 ühendamise võimalusi. Seda näitab veerg "Operatsioon". Operatsiooni on võimalik muuta, kui klõpsata sellel operatsioonil, mida soovid muuta. Ilmub väike hüpikmenüü, mis lubab valida antud elemendile vajaliku operatsiooni. Valitud operatsioon tehakse teoks ühendamise käigus. Valikud sõltuvad elemendist ning ühendamisrežiimist. Viimaseks võib olla üks järgmistest: </para>
+>Pärast kataloogide võrdlemist hindab KDiff3 ühendamise võimalusi. Seda näitab veerg "Operatsioon". Operatsiooni on võimalik muuta, kui klõpsata sellel operatsioonil, mida soovid muuta. Ilmub väike hüpikmenüü, mis lubab valida antud elemendile vajaliku operatsiooni. (Kõige vajalikumad operatsioonid saab valida ka klaviatuurilt, näiteks Ctrl+1/2/3/4/Del valib vastavalt võimalusele A/B/C/Ühenda/Kustuta.) Valitud operatsioon tehakse teoks ühendamise käigus. Valikud sõltuvad elemendist ning ühendamisrežiimist. Viimaseks võib olla üks järgmistest: </para>
 <itemizedlist>
      <listitem
 ><para
->Kolme kataloogi ühendamine (A on sellisel juhul teistele baasiks).</para
+>Kolme kataloogi ühendamine ("A" on sellisel juhul teistele baasiks).</para
 ></listitem>
      <listitem
 ><para
@@ -1318,6 +1789,14 @@
 <para
 >Ühendamisel võetakse ette üks fail teise järel. Staatuseveerg näitab kirjet "Tehtud" elementide puhul, mille ühendamist saatis edu, ning midagi muud, kui ühendamise käigus tuli ette midagi ootamatut. Kui ühendamine on lõpule jõudnud, võiksid üle kontrollida ka staatuseveeru, et näha, kas kõik seal ikka rahuldab sind. </para>
 </sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Statistikaveerg</title>
+<para
+>Kui seadistustes on sisse lülitatud failide võrdlemise režiim "Täielik analüüs", näitab KDiff3 lisatuple, kus on kirjas lahendamata, lahendatud, tühimärkide ja mitte-tühimärkide konfliktide arv. (Lahendatud konflitkide arvuga tulpa näidatakse ainult kolme kataloogi võrdlemisel või ühendamisel.) </para>
+</sect2>
+
 </sect1>
 
 
@@ -1325,7 +1804,7 @@
 ><title
 >Ühendamine</title>
 <para
->Kui oled langetanud kõik operatsioonivalikud (ka alamkataloogides), võid alustada tegelikku ühendamist. </para
+>Ühendada on võimalik parajasti valitud element (fail või kataloog) või kõik elemendid. Kui oled langetanud kõik operatsioonivalikud (ka alamkataloogides), võid alustada tegelikku ühendamist. </para
 ><para
 >Pane tähele, et kui sa ei määranud sihtkataloogi, peetakse kolme kataloogi ühendamisel selleks "C", kahe kataloogi ühendamisel "B" ning sünkroniseerimisel "A" ja/või "B". </para
 ><para
@@ -1349,15 +1828,15 @@
 ></listitem>
 </itemizedlist>
 <para
->(Praeguses versioonis tuleb taasskaneerimine pärast kataloogide skaneerimist mõjutavate valikute muutmist uuesti ette võtta.) </para
+>(Praeguses versioonis tuleb taasskaneerimine pärast kataloogide skaneerimist mõjutavate valikute muutmist käsuga "Kataloog"->"Uuri uuesti läbi" uuesti ette võtta.) </para
 ><para
 >Kui kõik on korras, siis ülejäänud on juba lihtne. </para
 ><para
->Vali menüüst "Kataloog" käsk "Alusta/jätka kataloogi ühendamist" või vajuta klahvi F5. </para
+>Kõigi elementide ühendamine: vali menüüst "Kataloog" käsk "Alusta/jätka kataloogi ühendamist" või kasuta kiirklahvi F7. Ainult aktiivse elemendi ühendamine: vali "Käivita operatsioon käesoleva elemendiga" või vajuta F6. </para
 ><para
 >Kui failitüüpide konflikti tõttu esineb veel mõningaid sobimatute operatsioonidega elemente, ilmub teatekast, mis osutab sellistele elementidele, nii et sa saad valida neile vajalikud operatsioonid. </para
 ><para
->Vastasel juhul ilmub dialoog, kus valikuvõimalusteks on "Tee ära", "Simuleeri" ja "Loobu". </para>
+>Kui ühendad kõik elemendid, ilmub dialoog, kus valikuvõimalusteks on "Tee ära", "Simuleeri" ja "Loobu". </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1373,18 +1852,20 @@
 >vaata suurt pilti</link
 >). </para
 ><para
->Kui oled faili kallal kõik vajaliku ära teinud, vali uuesti menüükäsk "Alusta/jätka kataloogi ühendamist" või vajuta klahvi F5. Kui sa ei ole veel salvestanud, ilmub dialoog, mis teeb sulle vastava ettepaneku. Seejärel võtab KDiff3 ette järgmise elemendi. </para
+>Kui oled faili kallal kõik vajaliku ära teinud, vali uuesti menüükäsk "Alusta/jätka kataloogi ühendamist" või vajuta klahvi F7. Kui sa ei ole veel salvestanud, ilmub dialoog, mis teeb sulle vastava ettepaneku. Seejärel võtab KDiff3 ette järgmise elemendi. </para
 ><para
->Kui KDiff3 satub silmitsi veaga, annab ta sellest sulle teada ning näitab ka põhjalikku infot vea kohta, mis võib aidata kaasa arusaamisele, mis viga põhjustas. Kui valid ühendamise jätkamise (klahv F5), võimaldab KDiff3 sul antud elemendi ühendamist uuesti proovida või see vahele jätta. See tähendab, et sa saad enne jätkamist valida mõne muu operatsiooni või jätta hetkel asi nii, nagu on, et leida lahendus hiljem. </para
+>Kui KDiff3 satub silmitsi veaga, annab ta sellest sulle teada ning näitab ka põhjalikku infot vea kohta, mis võib aidata kaasa arusaamisele, mis viga põhjustas. Kui valid ühendamise jätkamise (klahv F7), võimaldab KDiff3 sul antud elemendi ühendamist uuesti proovida või see vahele jätta. See tähendab, et sa saad enne jätkamist valida mõne muu operatsiooni või jätta hetkel asi nii, nagu on, et leida lahendus hiljem. </para
 ><para
->Kui ühendamine on lõpule jõudnud, annab KDiff3 sellest teatekastiga sulle märku. </para>
+>Kui ühendamine on lõpule jõudnud, annab KDiff3 sellest teatekastiga sulle märku. </para
+><para
+>Kui mõned elemendi on ühendatud individuaalselt, jätab KDiff3 selle (antud ühendamisseansi ajal) meelde ega hakka neid enam ühendama, kui valid hiljem kõigi elementide ühendamise. Isegi juhul, kui ühendamine jäeti tegelikult vahele või midagi ei salvestatud, peetakse neid elemente ühendatuks, nii et nendega saab hakata uuesti tegelema alles siis, kui oled vahetanud ühendamisoperatsiooni. </para>
 </sect1>
 
 <sect1 id="dirmergeoptions"
 ><title
 >Kataloogide võrdlemise ja ühendamise valikud</title>
 <para
->KDiff3 seadistustes (menüükäsk "Seadistused"&gt;"KDiff3 seadistamine") on sektsioon "Kataloogide ühendamine" järgmiste valikutega: </para>
+>KDiff3 seadistustes (menüükäsk "Seadistused"-&gt;"KDiff3 seadistamine") on sektsioon "Kataloogide ühendamine" järgmiste valikutega: </para>
 
 <variablelist>
    <varlistentry
@@ -1436,7 +1917,7 @@
 ></term
 ><listitem
 ><para
->Mõnes failisüsteemis on failidel atribuut "peidetud", teistes süsteemides peidab failid nende nime eest seisev punkt ("."). See valik lubab sul määrata, kas sellised failid kaasatakse puusse või mitte. Vaikimisi sees.</para
+>Mõnes failisüsteemis on failidel atribuut "peidetud", teistes süsteemides peidab failid nende nime ees seisev punkt ("."). See valik lubab sul määrata, kas sellised failid kaasatakse puusse või mitte. Vaikimisi sees.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1456,9 +1937,10 @@
 ></term
 ><listitem
 ><para
->Kui on väljas, võrreldakse nimeviitu, kui sees, peetakse viitu kataloogideks ning neid skaneeritakse rekursiivselt. (Pane tähele, et programm ei kontrolli, kas viit on "rekursiivne", nii et viita kataloogile sisaldav kataloog tekitab lõputu silmuse, siis mõne aja pärast, kui pinu on ületäidetud või mälu otsa saab, elab programm üle krahhi.) Vaikimisi väljas.</para
+>Kui on väljas, võrreldakse nimeviitu, kui sees, peetakse viitu kataloogideks ning neid skaneeritakse rekursiivselt. (Pane tähele, et programm ei kontrolli, kas viit on "rekursiivne", nii et kui viita kataloogile sisaldav kataloog tekitab lõputu silmuse, siis mõne aja pärast, kui pinu on ületäidetud või mälu otsa saab, elab programm üle krahhi.) Vaikimisi väljas.</para
 ></listitem
-></varlistentry>
+></varlistentry
+>   
    <varlistentry
 ><term
 ><emphasis
@@ -1469,6 +1951,38 @@
 >Näidatakse ainult elemente, mis ei ole sisendkataloogides võrdsed ning muudetud faile. Seepärast ei kopeerita ka kataloogides võrdseid faile ühendamisele ning kui sihtkataloog sellist faili eelnevalt ei sisaldanud, võibki see ilma selliste failideta jääda (võimalik, et tulevastes versioonides see valik muutub). Vaikimisi väljas.</para
 ></listitem
 ></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Failide võrdlemise režiim:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Binaarne võrdlemine:</emphasis
+></term
+><listitem
+><para
+>See on vaikimisi failide võrdlemise režiim. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Täielik analüüs:</emphasis
+></term
+><listitem
+><para
+>Sooritab iga faili täieliku analüüsi ja näitab statistikatulpi (lahendatud, lahendamata, tühimärkide ja mitte-tühimärkide konfliktide arv). Täielik analüüs on aeglasem kui tavaline binaarne analüüs ning palju aeglasem, kui tegemist on failidega, mis ei sisalda teksti. (Määra sobivad anti-failimustrid.) </para
+></listitem
+></varlistentry
+>         
    <varlistentry
 ><term
 ><emphasis
@@ -1482,6 +1996,21 @@
    <varlistentry
 ><term
 ><emphasis
+>Suuruse usaldamine:</emphasis
+></term
+><listitem
+><para
+>Sarnane muutmiskuupäeva usaldamisele. Tegelikku võrdlemist ei teostata. Kaht faili peetakse võrdseks, kui nende failisuurus on võrdne. See on abiks, kui failide kopeerimisel ei säilunud muutmise aeg. Kasuta seda siiski ettevaatlikult. Vaikimisi väljas.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><emphasis
 >Kataloogide sünkroniseerimine:</emphasis
 ></term
 ><listitem
@@ -1611,7 +2140,7 @@
 ></listitem
 ><listitem
 ><para
->Kui URL ei toimi oodatult, proovi seda avada Konqueroris. </para
+>Kui URL ei toimi oodatult, proovi see avada Konqueroris. </para
 ></listitem>
 </itemizedlist>
 
@@ -1643,7 +2172,7 @@
 ></listitem
 ><listitem
 ><para
->Puudub võimalus muuta õigusi või muutmisaega, mistõttu koopia õigused või aeg erineb originaalist (see on võimalik ainult kohalike failidega). </para
+>Puudub võimalus muuta õigusi või muutmisaega, mistõttu koopia õigused või aeg erinevad originaalist - vaata ka võimalust "Suuruse usaldamine". (See on võimalik ainult kohalike failidega.) </para
 ></listitem>
 </itemizedlist>
 </sect2>
@@ -1653,7 +2182,7 @@
 <title
 >&kdiff3; kui KPart</title>
 <para
->&kdiff3; on KPart. Hetkel on teostatud KParts::ReadOnlyPart-interface. </para
+>&kdiff3; on KPart. Hetkel on teostatud liides KParts::ReadOnlyPart. </para
 ><para
 >Selle peamine kasutusala on erinevuste vaatamine KDevelopis. KDevelop käivitab alati esmalt oma seesmise erinevuste näitaja. KDiff3 väljakutsumiseks klõpsa hiire parema nupuga erinevuste näitaja aknal ja vali kontekstimenüüst "Näita KDiff3-s". </para
 ><para
@@ -1712,7 +2241,7 @@
 ></question
 ><answer
 ><para
->Ridu, mis erinevad ainult tühimärkide arvu poolest, peetakse algul "võrdseks", samas muudab ka üksainus teistsugune tühimärk failid "erinevaks". Kui sarnased read satuvad teineteise kõrval, on see tegelikult kokkusattumus, aga õnneks esineb seda päris sageli. </para
+>Ridu, mis erinevad ainult tühimärkide arvu poolest, peetakse algul "võrdseks", samas muudab ka üksainus teistsugune tühimärk failid "erinevaks". Kui sarnased read satuvad teineteise kõrvale, on see tegelikult kokkusattumus, aga õnneks esineb seda päris sageli. </para
 ></answer
 ></qandaentry>
 
@@ -1741,11 +2270,11 @@
 <qandaentry
 ><question
 ><para
->Eemaldasin veidi teksti ja järsku ilmus &lt;Lähterida puudub&gt;, mida ei saa kuidagi kõrvaldada. Mida see tähendab ja kuidas sellest lahti saada? </para
+>Eemaldasin veidi teksti ja järsku ilmus "&lt;Lähterida puudub&gt;", mida ei saa kuidagi kõrvaldada. Mida see tähendab ja kuidas sellest lahti saada? </para
 ></question
 ><answer
 ><para
->Iga võrdse või erineva sektsiooni korral jätab redaktor ühendamise tulemuse aknas meelde, kus see algab või lõpeb. &lt;Lähterida puudub&gt; tähendab, et sektsiooni ei ole enam midagi jäänud, isegi mitte reavahetusmärki. See võib juhtuda automaatsel ühendamisel või redigeerimise ajal. Tegelikult ei ole see üldse mingi probleem, sest salvestatud failis seda viidet enam ei ole. Kui soovid algvarianti tagasi, vali lihtsalt sektsioon (klõpsuga vasakul asuval kokkuvõttetulbal) ning seejärel klõpsa vajaliku sisuga allkfaili nuppu (A/B või C). </para
+>Iga võrdse või erineva sektsiooni korral jätab redaktor ühendamise tulemuse aknas meelde, kus see algab või lõpeb. "&lt;Lähterida puudub&gt;" tähendab, et sektsiooni ei ole enam midagi jäänud, isegi mitte reavahetusmärki. See võib juhtuda automaatsel ühendamisel või redigeerimise ajal. Tegelikult ei ole see üldse mingi probleem, sest salvestatud failis seda viidet enam ei ole. Kui soovid algvarianti tagasi, vali lihtsalt sektsioon (klõpsuga vasakul asuval kokkuvõttetulbal) ning seejärel klõpsa vajaliku sisuga allkfaili nuppu (A/B või C). </para
 ></answer
 ></qandaentry>
 
@@ -1782,15 +2311,15 @@
 <para
 >&kdiff3; - failide ja kataloogide võrdlemise ja ühendamise vahend </para>
 <para
->Rakenduse autoriõigus 2002-2003: Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Rakenduse autoriõigus 2002-2005: Joachim Eibl <email
+>joachim.eibl AT gmx.de</email
 > </para>
 <para
 >Mitmed lahedad ideed ja vearaportid on pärit minu kolleegidelt ning paljudelt metsiku veebi asukatelt. Tänud teile kõigile! </para>
 
 <para
->Dokumentatsiooni autoriõigus &copy; 2002-2003: Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Dokumentatsiooni autoriõigus &copy; 2002-2005: Joachim Eibl <email
+>joachim.eibl AT gmx.de</email
 > </para>
 
 <para
@@ -1823,10 +2352,8 @@
 >Nõuded</title>
 
 <para
->&kdiff3; kõigi võimaluste edukaks kasutamiseks on vajalik &kde; 
->3.1. Parimate tulemuste jaoks on soovitatav <ulink url="http://www.gnu.org/software/diffutils/diffutils.html"
->GNU-diff-utils</ulink
-> võrdlemisvahend. </para
+>&kdiff3; kõigi omaduste edukaks kasutamiseks on vajalik &kde; 
+>3.1. </para
 ><para
 >Infot selle kohta, kuidas panna KDiff3 tööle muudel platvormidel ilma KDE-ta, vaata palun <ulink url="http://kdiff3.sourceforge.net"
 >koduleheküljelt</ulink
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/fr/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,4 @@
+KDE_DOCS = kdiff3
+KDE_LANG = fr
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/fr/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2320 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+  <!ENTITY kdiff3 "<application
+>KDiff3</application
+>">
+  <!ENTITY kappname "&kdiff3;">
+  <!ENTITY package "kdeextragear-1">
+  <!ENTITY % addindex "IGNORE">
+  <!ENTITY % French "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Le guide de &kdiff3;</title>
+
+<authorgroup>
+<author
+><firstname
+>Joachim</firstname
+> <surname
+>Eibl</surname
+> <affiliation
+><address
+> <email
+>joachim.eibl at gmx.de</email>
+</address
+></affiliation>
+</author>
+</authorgroup>
+
+&traducteurSimonDepiets; 
+
+<copyright>
+<year
+>2002-2004</year>
+<holder
+>Joachim Eibl</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook
+     and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2004-05-29</date>
+<releaseinfo
+>0.9.84</releaseinfo>
+
+
+<abstract>
+<para
+></para>
+<para
+>&kdiff3; est un comparateur fusionneur de fichiers et dossiers <itemizedlist>
+<listitem
+><para
+>qui compare et fusionne deux ou trois fichiers textes ou dossiers</para
+></listitem>
+<listitem
+><para
+>montre les différences ligne par ligne et caractère par caractère,</para
+></listitem>
+<listitem
+><para
+>proposant une fusion automatique facilitée,</para
+></listitem>
+<listitem
+><para
+>ayant un éditeur pour résoudre facilement les conflits de fusion</para
+></listitem>
+<listitem
+><para
+>proposant une transparence réseau via KIO</para
+></listitem>
+<listitem
+><para
+>ayant des options pour surligner ou cacher les changements dans les espaces ou commentaires.</para
+></listitem>
+</itemizedlist>
+</para
+><para
+>Ce document décrit kdiff3 version 0.9.84. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear</keyword>
+<keyword
+>kdiff3</keyword>
+<keyword
+>diff</keyword>
+<keyword
+>fusion</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>triple comparaison</keyword>
+<keyword
+>comparer</keyword>
+<keyword
+>fichiers</keyword>
+<keyword
+>dossiers</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>fusion à trois voies</keyword>
+<keyword
+>différences à la ligne</keyword>
+<keyword
+>synchronise</keyword>
+<keyword
+>kpart</keyword>
+<keyword
+>kio</keyword>
+<keyword
+>transparence réseau</keyword>
+<keyword
+>éditeur</keyword>
+<keyword
+>espace</keyword>
+<keyword
+>commentaires</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction"
+><title
+>Introduction</title>
+<sect1 id="why"
+><title
+>Encore une autre interface Diff ?</title>
+<para
+>Beaucoup d'outils graphiques pour diff existent. Pourquoi choisir KDiff3  Laissez moi vous expliquer pourquoi je l'ai écrit. </para
+><para
+>Kdiff3 a été créé car j'ai eu a faire une fusion difficile. Fusionner est nécessaire quand beaucoup de gens travaillent sur les mêmes fichiers dans un projet. Une fusion peut parfois être automatisée, quand l'outil de fusion n'a pas seulement les fichiers modifiés (appelés "branches"), mais aussi le fichier original (appelé "base"). L'outil de fusion choisira automatiquement la modification faite uniquement dans une seule branche. Quand beaucoup de contributeurs auront changé les mêmes lignes, alors l'outil de fusion détectera un conflit et vous devrez le résoudre manuellement. </para
+><para
+>La fusion fut donc difficile car un contributeur a changé beaucoup de choses. Un autre a aussi changé beaucoup de texte dans le même fichier, ce qui résulte en beaucoup de conflits lors de la fusion. </para
+><para
+>L'outil que j'ai utilisé ne m'a donc montré que les lignes modifiées mais pas ce qui avait changé dans ces lignes. La fusion fut un vrai cauchemar. </para
+><para
+>Voila donc le début. La première version a montré les différences dans une ligne et les différences d'espaces. Plus tard beaucoup d'autres options furent ajoutées pour augmenter l'utilité. </para
+><para
+>Par exemple si vous voulez comparer du texte rapidement, alors vous pouvez le copier dans le presse-papiers et le coller dans une autre fenêtre diff. </para
+><para
+>Une option qui me demanda beaucoup d'efforts fut la comparaison de dossiers et la facilitation de la fusion, qui a transformé le navigateur en navigateur complet. </para
+><para
+>J'espère que KDiff3 marche chez vous aussi. Amusez vous ! </para
+><para
+>Joachim Eibl (2003) </para>
+</sect1>
+
+<sect1 id="screenshots"
+><title
+>Captures d'écrans et caractéristiques</title>
+<para
+>Cette capture d'écran montre la différence entre deux fichiers texte.</para>
+<para
+>(Utilisant une ancienne version de KDiff3) :</para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para
+>La fusion à trois voies est pleinement supportée. Ceci est utile si deux personnes ont changé le code indépendamment. Le fichier original (la base) est utilisé pour aider KDiff3 a sélectionner les bons changements. L'éditeur de fusion situé sous la fenêtre diff vous autorise à résoudre les conflits, en vous montrant le résultat que vous obtiendrez. Vous pouvez aussi éditer le résultat. Cette capture d'écran montre trois fichiers en train d'être fusionnés. </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+
+<para id="dirmergebigscreenshot"
+>KDiff3 vous aide aussi à comparer et fusionner des dossiers complets. Cette capture d'écran montre KDiff3 pendant une fusion de dossiers : </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="dirmergebig.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+</sect1>
+
+<sect1 id="features"
+><title
+>Plus d'options</title>
+<sect2
+><title
+>Visionneuse de différences ligne par ligne et caractère par caractère</title>
+<para
+>En utilisant les possibilités d'affichages colorés d'une interface graphique, KDiff3 montre exactement quelle est la différence. Quand vous aurez a traiter beaucoup de texte, cela vous aidera beaucoup. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="letter_by_letter.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Voir les différences d'espaces en un coup d'oeil.</title>
+<para
+>Les espaces et alinéas apparaissent visiblement. Quand des lignes diffèrent seulement d'un espace, cela peut être vu en un coup d'oeil dans la colonne sur le côté gauche. Plus de problèmes quand les gens changent les espaces. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="white_space.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Triple comparaison</title>
+<para
+>Analyser trois fichiers et voir en quoi ils diffèrent. </para
+><para
+>Les fenêtres de gauche/millieu/droite sont appelées A/B/C et on respectivement les couleurs bleu/vert/mauve. </para
+><para
+>Si un des fichiers et le même et un des fichiers est différent sur une ligne alors la couleur montre quel fichier est différent. La couleur rouge montre que les deux sont différents. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="triple_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Fusion confortable de deux ou trois fichiers.</title>
+<para
+>KDiff3 peut être utilisé pour fusionner deux ou trois fichiers et faire autant de fusions automatiques que possible. Le résultat est représenté dans une fenêtre modifiable ou la plupart des conflits peuvent être résolus avec un simple clic de souris. Sélectionnez les boutons A/B/C depuis la barre des boutons pour sélectionner la source qui doit être utilisée. Vous pouvez aussi utiliser plus d'une source. Cette fenêtre est aussi un éditeur pour les conflits nécessitant des corrections plus poussées pouvant être corrigées sans autre outil. </para>
+</sect2>
+
+<sect2
+><title
+>Et ...</title>
+<itemizedlist>
+   <listitem
+><para
+>Une navigation rapide via les bouttons.</para
+></listitem>
+   <listitem
+><para
+>Un clic de souris dans la colonne du sommaire synchronise toutes les fenêtres pour indiquer la même position.</para
+></listitem>
+   <listitem
+><para
+>Sélectionnez et copiez depuis n'importe qu'elle fenêtre et collez dans la fenêtre de résultat de la fusion.</para
+></listitem>
+   <listitem
+><para
+>La colonne d'aperçu qui montre où les changements et conflits sont situés.</para
+></listitem>
+   <listitem
+><para
+>Les couleurs sont ajustables a vos préférences.</para
+></listitem>
+   <listitem
+><para
+>Taille des alinéas ajustable.</para
+></listitem>
+   <listitem
+><para
+>Option pour insérer des espaces à la place des alinéas.</para
+></listitem>
+   <listitem
+><para
+>Ouvrir les fichiers confortablement via une boîte de dialogue ou spécifier les fichiers via la ligne de commande.</para
+></listitem>
+   <listitem
+><para
+>Chercher une partie d'un texte dans toutes les fenêtres. Trouver (Ctrl+F) et trouver le suivant (F3).</para
+></listitem>
+   <listitem
+><para
+>Indiquer le numéro de ligne pour chaque ligne. </para
+></listitem>
+   <listitem
+><para
+>Coller le presse-papiers ou tirer un texte dans une fenêtre diff.</para
+></listitem>
+   <listitem
+><para
+>Transparence réseau via KIO.</para
+></listitem>
+   <listitem
+><para
+>Peut être utilisé pour voir les diff dans KDevelop 3.</para
+></listitem>
+   <listitem
+><para
+>Coupage des mots dans les lignes longues.</para
+></listitem>
+   <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="documentation"
+><title
+>Documentation de la comparaison et fusion de fichiers</title>
+
+<sect1 id="commandline"
+><title
+>Options en ligne de commande</title>
+
+<sect2
+><title
+>Comparer 2 fichiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Fusionner 2 fichiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2</replaceable
+> -o <replaceable
+>fichier-résultat</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Comparer 3 fichiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2 fichier3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Fusionner 3 fichiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2 fichier3</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>fichier1 fichier2 fichier3</replaceable
+> -o <replaceable
+>fichier-résultat</replaceable
+>
+</screen>
+<para
+>Notez que <replaceable
+>fichier1</replaceable
+> sera traité comme étant la base de <replaceable
+>fichier2</replaceable
+> et <replaceable
+>fichier3</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Cas spécial : fichiers du même nom </title>
+<para
+>Si tous les fichiers ont le même nom mais sont situés dans des dossiers différents, vous pouvez réduire la saisie en ne spécifiant que le nom d'un fichier, pour le premier fichier. Ex : </para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>dos1/fichier dos2 dos3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Ligne de commande pour lancer une comparaison ou fusion de dossiers : </title>
+<para
+>C'est assez similaire, mais cela concerne désormais des dossiers.</para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>dos1 dos2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>dos1 dos2</replaceable
+> -o <replaceable
+>dossier-de-destination</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>dos1 dos2 dos3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>dos1 dos2 dos3</replaceable
+> -o <replaceable
+>dossier-de-destination</replaceable
+>
+</screen>
+<para
+>Pour la comparaison et fusion de dossiers vous pouvez continuer à lire <link linkend="dirmerge"
+>ici</link
+>.</para>
+</sect2>
+
+<sect2
+><title
+>Pour plus d'informations sur les options en ligne de commande, utilisez : </title>
+<screen
+><command
+>kdiff3</command
+> --help
+Options :
+  -m, --merge               Fusionner.
+  -b, --base file           Fichier de base explicite. Par compatibilité avec certains outils.
+  -o, --output file         Fichier de résultat. Implique -m. Ex. : -o newfile.txt
+  --out file                Fichier de résultat, encore. (Par compatibilité avec certains outils).
+  --auto                    Pas d'interface graphique si tous les conflits se résolvent tout seuls. (Nécessite -o fichier)
+  --qall                    Ne pas résoudre les conflits automatiquement. (Par compatibilité)...
+  --L1 alias1               Alias pour le fichier 1 (base).
+  --L2 alias2               Alias pour le fichier 2.
+  --L3 alias3               Alias pour le fichier 3.
+  -L, --fname alias         Alias alternatif. Mettez cela une fois pour chaque entrée.
+  -u                        N'a pas d'effet. Pour la compatibilité avec certains outils.
+</screen>
+</sect2>
+
+</sect1>
+
+<sect1 id="opendialog"
+><title
+>Fenêtre d'ouverture</title>
+<para
+>Étant donné que plusieurs fichiers doivent être sélectionnes en entrée, le programme a une fenêtre d'ouverture spéciale : </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="open_dialog.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>La fenêtre d'ouverture vous permet d'éditer les noms des fichier à la main, en sélectionnant un fichier via le navigateur ("Fichier...") ou vous permet de choisir des fichiers récemment utilisés via la liste défilante. Si vous rouvrez la fenêtre, alors les noms actuels seront toujours ici. Le troisième fichier d'entrée n'est pas nécessaire. SI l'entrée pour "C" reste vide, alors une analyse diff de deux fichiers seulement sera effectuée. </para
+><para
+>Vous pouvez aussi sélectionner un dossier via "Dossier...". Si pour A un dossier est spécifié alors une comparaison/fusion de dossiers débutera. </para
+><para
+>Si "Fusionner" est sélectionné, alors la ligne "Sortie" devient éditable. Mais il n'est pas nécessaire de spécifier le fichier du résultat de la fusion immédiatement. Vous pouvez aussi le faire au moment de l'enregistrement. </para
+><para
+>Le bouton "Configurer..." ouvre la fenêtre des options pour que vous puissiez mettre en place les options avant de débuter l'analyse. </para>
+</sect1>
+
+<sect1 id="pasteinput"
+><title
+>La saisie en Coller et Lâcher</title>
+<para
+>Parfois vous voulez comparer les parties d'un texte qui n'est pas un fichier. KDiff3 vous permet aussi de coller le texte du presse-papiers dans une fenêtre de diff sélectionnée. L'analyse diff est alors immédiate. Dans la fenêtre ouverte vous n'aurez pas besoin de spécifier des fichiers, mais simplement de la fermer via "Annuler". </para
+><para
+>Vous pouvez aussi utiliser la méthode du tirer/lâcher : Tirez un fichier depuis le navigateur ou sélectionnez du texte depuis un éditeur et lâchez le dans la fenêtre de diff. </para
+><para
+>Quelle est l'idée ? Parfois un fichier contient deux fonctions similaires, mais vérifier à quel niveau elles sont similaires est compliqué si vous devez d'abord créer deux fichiers puis les charger. Maintenant vous pouvez simplement copier, coller et comparer les sections en question. </para
+><para
+>Note : Actuellement vous ne pouvez rien tirer depuis KDiff3. Seulement le lâchage dans l'entrée de diff est géré. </para
+><para
+>Attention : Certains éditeurs interprètent toujours la méthode du tirer/lâcher vers un autre programme comme un couper (à la place de copier) et coller. Vos données originales pourraient alors être perdues. </para>
+</sect1>
+
+<sect1 id="interpretinginformation"
+><title
+>Interpréter l'information dans les fenêtres de saisie</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>En haut de chaque fenêtre il y a sa "ligne d'informations". Les lignes d'informations des fenêtres de saisie contiennent une lettre "A", "B" ou "C", le nom de fichier et le numéro de ligne de la première ligne visible dans la fenêtre. (Notez que la fenêtre "C" est optionnelle). Chaque ligne d'information apparaît dans une couleur différente. (Si les chemins sont trop longs, alors vous pouvez déplacer la souris sur la ligne d'information et une bulle apparaîtra, vous montrant le nom complet). </para
+><para
+>Les trois fenêtres de saisies sont assignées aux lettres "A", "B" et "C". "A" a la couleur bleue, "B" le vert et "C" le mauve. (Ce sont les options par défaut, mais elles peuvent être changées via le Menu Options). </para
+><para
+>Quand une différence est détectée les couleurs montrent quel fichier diffère. Quand les deux fichiers en entrée diffèrent, alors la couleur utilisée est le rouge par défaut ("Couleur de conflit" dans les Options). Ce schéma de couleur est particulièrement utile si vous avez trois fichiers en entrée, ce qui sera vu dans la prochaine section (<link linkend="merging"
+>Fusion</link
+>). </para
+><para
+>A la gauche de chaque texte se trouve la "colonne de résumé". Si des différences sont trouvées sur une ligne alors la colonne de résumé affiché la couleur respective. Pour une différence d'espace seulement la colonne est changée. Pour les langages de programmation où les espaces ne sont pas si importants, il est pratique de voir d'un coup d'oeil si quelque chose d'important a été modifié. (En C/C++ les espaces ne sont intéressants que dans les chaînes, commentaires, pour le préprocesseur et dans quelques situations très ésotériques). </para
+><para
+>La ligne verticale séparant la colonne de résumé et le texte est interrompue si le fichier en entrée n'a pas de lignes. Quand la coupe des mots est activée, alors cette ligne verticale apparaît en pointillé. </para
+><para
+>Sur le côté droit une colonne d'"aperçu" est visible à gauche de la barre de défilement verticale. Cela montre la colonne de résumé compressée de l'entrée "A". Toutes les différences et conflits sont visibles d'un coup d'oeil. Quand seulement deux fenêtre de saisie sont utilisées, alors toutes les différences apparaîtront en rouge ici car chaque différence est aussi un conflit. Un rectangle noir encadre les parties visibles des entrées. Pour les fichiers très longs, quand le nombre de lignes est plus grand que la hauteur de la colonne d'aperçu en pixels, alors plusieurs lignes partagent la seule ligne d'aperçu. Un conflit a alors la priorité maximale sur les autres simples différences, qui ont la priorité sur les lignes ou rien ne change, pour qu'aucune différence ou conflit ne soit perdu ici. En cliquant sur cette colonne d'aperçu le texte correspondant sera affiché. </para>
+</sect1>
+
+
+<sect1 id="merging"
+><title
+>Fusionner et la Fenêtre d'édition du Résultat de la Fusion</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>La fenêtre d'édition du résultat de la fusion (située sous la fenêtre de saisie de diff) a aussi une ligne d'information en haut affichant "Résultat :", le nom du fichier et "[Modifié]" si vous avez édité quelque chose. Habituellement elle contiendra du texte à travers les facilités de fusion automatique, mais conserve souvent quelques conflits. </para
+><para
+>!!! L'enregistrement est désactivé avant que tous les conflits ne soient résolus !!! (Utilisez les boutons "Aller au conflit suivant/précédent" pour trouver les conflits restants). </para
+><para
+>Avec seulement deux fichiers en entrée, chaque différence est aussi un conflit devant être résolu manuellement. </para
+><para
+>Avec trois fichiers en entrée, le premier fichier est traité comme la base, alors que les second et troisième fichiers en entrée contiennent des modifications. Quand dans une ligne seulement soit B ou C a changé mais pas les deux, la source changée sera sélectionnée. Seulement si B et C ont changé sur les mêmes lignes, alors l'outil détectera un conflit devant être résolu manuellement. Quand B et C sont les mêmes, mais différents de A, alors C est sélectionné. </para
+><para
+>La fenêtre d'édition du résultat de la fusion a aussi une colonne de résumé sur la gauche. Elle affiche la lettre de l'entrée sélectionnée pour une ligne ou rien si les trois sources étaient égales sur une ligne. Pour les conflits, elle affiche un point d'interrogation "?" et la ligne affiche "&lt;Conflit de Fusion&gt;" tout en rouge. Étant donné que la résolution des conflits ligne par ligne prendrait beaucoup de temps, les lignes sont groupées en groupes ayant les mêmes caractéristiques de différences et conflits. Seuls les conflits d'espaces sont séparés des autres conflits pour faciliter la fusion de fichiers où l'indentation a changé pour beaucoup de lignes. </para
+><para
+>Quand vous cliquez dans la colonne de résumé avec le bouton gauche de la souris dans une fenêtre alors le groupe correspondant à cette ligne sera sélectionné dans toutes les fenêtres et le début de ce groupe sera affiché. (Cela peut invoquer un saut de repositionnement automatique dans la fenêtre si le début d'un groupe n'est pas visible). Ce groupe devient alors le "groupe actuel". Il est surligné et une barre noire apparaît sur le côté gauche du texte. </para
+><para
+>Regardez les bouttons de sélection de l'entrée contenant les lettres "A", "B" et "C" dans la barre des bouttons sous la barre de menu. Quand vous cliquez sur un bouton de sélection d'entrée, les lignes de cette entrée seront ajoutées à la fin du groupe sélectionné si ce groupe ne contenait pas déjà cette source auparavant. Sinon les lignes de cette entrée seront supprimées. </para
+><para
+>En outre, vous pouvez éditer directement n'importe quelle ligne ici. La colonne de résumé affichera "m" pour chaque ligne ayant été modifiée. </para
+><para
+>Parfois, quand une ligne est supprimée soit par fusion automatique ou édition et qu'aucune autre ligne ne reste dans ce groupe, alors le texte &lt;Pas de ligne à la source&gt; apparaîtra sur cette ligne. C'est juste pour vous souvenir qu'il y avait une source ici si vous changez d'idée et sélectionnez une ligne de nouveau. Ce texte n'apparaîtra pas dans le fichier enregistré ou dans n'importe quelle sélection que vous copierez et collerez. </para
+><para
+>Le texte "&lt;Conflit de Fusion&gt;" apparaîtra dans le presse-papiers si vous copiez et collez du texte contenant une ligne au maximum. Mais faites toujours attention à cela. </para
+><para
+>La fusion normale démarrera par la résolution automatique de conflits simples. Mais le menu "Fusion" propose quelques actions pour d'autres besoins communs. Si vous avez à sélectionner la même source pour la plupart des conflits, alors vous pouvez choisir "A",  "B" ou "C" partout, ou seulement pour les conflits restant non résolus, ou pour les conflits d'espacement non résolus. Si vous voulez décider chaque différence vous même, vous pouvez "Mettre des deltas aux conflits". Ou si vous voulez retourner aux choix automatiques de KDiff3 alors sélectionnez "Résoudre automatiquement les conflits simples". KDiff3 redémarre alors la fusion. Pour les actions changeant vos précédentes modifications KDiff3 vous demandera votre confirmation avant de continuer. </para
+><para
+>Note : Quand vous choisissez une des sources pour les conflits d'espacement non résolus et que les options "Ignorer les nombres" ou "Ignorer les commentaires C/C++" sont utilisées alors les changements dans les nombres ou commentaires seront aussi traités comme des espaces. </para>
+</sect1>
+
+<sect1 id="navigation"
+><title
+>Navigation et Édition</title>
+<para
+>La majorité de la navigation sera effectuée avec les barres de défilement et la souris mais vous pouvez aussi naviguer avec les touches. Si vous cliquez dans une des fenêtres alors vous pouvez utilisez les touches page précédente, page suivante, home, fin, ctrl-home, ctrl-fin et les flèches comme vous le feriez dans les autres programmes. La colonne de résumé située à côté de la barre de défilement verticale des fichiers en entrée peut aussi être utilisée pour naviguer en cliquant dessus. </para
+><para
+>Vous pouvez aussi utiliser la molette de la souris pour monter et descendre. </para
+><para
+>Dans l'éditeur de résultat de la fusion vous pouvez aussi utiliser les autres touches pour l'édition. Vous pouvez basculer entre les modes insérer et remplacer avec la touche Insertion. (Le mode par défaut est le mode d'insertion). </para
+><para
+>Un clic gauche dans une colonne de résumé synchronisera toutes les fenêtres pour qu'elles affichent le début du même groupe de lignes (comme expliqué dans la section <link linkend="merging"
+>"Fusion"</link
+>). </para
+><para
+>La barre de boutons contient aussi sept bouttons de navigation avec lesquels vous pouvez naviguer vers la première/actuelle/dernière différence, vers la différence précédente/suivante (ctrl-haut/ctrl-bas), vers le conflit précédent/suivant (ctrl-pgpréc/ctrl-pgsuiv), ou vers le conflit non résolu précédent/suivant. Notez que pour KDiff3 un "conflit" qui n'a pas été résolu automatiquement au début de la fusion reste un "conflit" même s'il est résolu. Voila la nécessité de distinguer les "conflits non résolus". </para
+><para
+>Il y a aussi un bouton "Aller automatiquement au conflit non résolu suivant après la sélection de la source" (Avancée automatique). Si vous activez cette option, alors, quand une source est sélectionnée, KDiff3 avancera automatiquement en sélectionnant le prochain conflit non résolu. Cela vous aidera si vous voulez toujours ne choisir qu'une source. Si vous avez besoin de deux sources, ou si vous voulez éditer après la sélection, alors vous voudrez probablement désactiver cette fonctionnalité. Avant d'avancer au conflit suivant KDiff3 vous montre les modifications de ce choix pour un court laps de temps. Ce délai est ajustable dans les Options de Fusion et de Diff : Vous pouvez spécifier le "Délai d'avancée automatique" en millisecondes entre 0 et 2000. Astuce : Vous êtes fatigué d'effectuer trop de clics ? - Utilisez un court délai d'avancée automatique et les raccourcis Ctrl-1/2/3 pour sélectionner A/B/C pour les conflits. </para>
+</sect1>
+
+<sect1 id="selections"
+><title
+>Sélectionner, Copier et Coller</title>
+<para
+>La fenêtre d'entrée n'affiche pas de curseur, les sélections peuvent donc être effectuées via la souris en cliquant avec le bouton gauche au début, en gardant le bouton pressé et en se déplaçant à la fin de la sélection souhaitée, où vous relâchez le bouton. Vous pouvez aussi sélectionner un mot en double cliquant dessus. Dans l'éditeur de résultat de la fusion vous pouvez aussi sélectionner via le clavier en gardant le bouton "Maj" pressé et en naviguant via les flèches. </para
+><para
+>Pour copier vers le presse-papiers vous devez cliquez sur le boutton "Copier" (Ctrl-C ou Ctrl-Inser). Mais il existe une fonctionnalité "Copier automatiquement la sélection". Si elle est activée, alors tout ce que vous sélectionnerez sera copié automatiquement vers le presse papier et vous n'aurez pas besoin de copier. Mais faites attention lorsque vous utilisez cela car le contenu du presse-papiers peut être effacé accidentellement. </para
+><para
+>"Couper" (Ctrl-X ou Maj-Suppr) copie le texte vers le presse-papiers et supprime celui-ci et "Coller" (Ctrl-V ou Maj-Inser) insère le texte du presse-papiers à la position du curseur à la place de la sélection actuelle. </para>
+</sect1>
+
+<sect1 id="saving"
+><title
+>Enregistrer</title>
+<para
+>L'enregistrement ne sera autorisé que quand tous les conflits seront résolus. Si le fichier existe déjà et que la fonctionnalité "Effectuer une copie de sauvegarde des fichiers" est activée alors le fichier existant sera renommé avec une extension en ".orig", mais si un fichier .orig existe déjà il sera supprimé. Quand vous quittez ou lancez une autre analyse diff et que les données n'ont pas encore été enregistrées, alors KDiff3 vous demandera si vous voulez enregistrer, annuler ou continuer sans enregistrer. (KDiff3 ne saisit aucun signal. Donc si vous "tuez" KDiff3 vos données seront perdues). </para
+><para
+>Les fins de ligne sont enregistrées selon la méthode normale de l'OS. Pour les Unix chaque fin de ligne se termine avec un caractère "\n", tandis que pour les systèmes basés sur Win32 chaque ligne se termine avec un retour chariot et "\r\n". KDiff3 ne préserve pas les fins de ligne des fichiers en entrée, ce qui signifie aussi que vous ne devriez pas utiliser KDiff3 pour les fichiers binaires. </para>
+</sect1>
+
+<sect1 id="find"
+><title
+>Trouver des chaînes</title>
+<para
+>Vous pouvez chercher une chaîne dans n'importe quelle fenêtre de KDiff3. La commande "Chercher..." (Ctrl-F) dans le menu Édition ouvre une fenêtre vous permettant de spécifier la chaîne à rechercher. Vous pouvez aussi sélectionner la fenêtre dans laquelle la chaîne doit être cherchée. La recherche reste toujours au premier plan. En utilisant "Chercher le suivant" (F3), vous chercherez l'occurrence suivante. Si vous sélectionner plusieurs fenêtres, alors la première fenêtre sera scannée du début jusqu'à la fin avant que la recherche ne démarre dans la fenêtre suivante au premier plan, etc. </para>
+</sect1>
+
+
+<sect1 id="options"
+><title
+>Options</title>
+<para
+>Les options et la liste des fichiers récemment ouverts seront enregistrées lorsque vous quitterez le programme, et rechargées lorsque vous le démarrerez. (Menu Options / Configurer KDiff3)... </para>
+<sect2
+><title
+>Police</title>
+<para
+>Sélectionnez un taille de police fixe. (Sur certains systèmes cette fenêtre présentera aussi des tailles de police variable, mais vous ne devriez pas les utiliser). </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Police italique pour les différences :</emphasis
+></term
+><listitem
+><para
+>Si vous sélectionnez cela, alors les différences de texte seront affichées dans la version italique de la police. Si la police ne supporte pas l'italique, cela ne fera rien.</para>
+   </listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Couleurs</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Couleur du premier plan :</emphasis
+></term
+><listitem
+><para
+>Habituellement le noir. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur de l'arrière plan :</emphasis
+></term
+><listitem
+><para
+>Habituellement le blanc. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur de l'arrière plan de Diff :</emphasis
+></term
+><listitem
+><para
+>Habituellement le gris clair. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur A :</emphasis
+></term
+><listitem
+><para
+>Habituellement le bleu foncé. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur B :</emphasis
+></term
+><listitem
+><para
+>Habituellement le vert foncé. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur C :</emphasis
+></term
+><listitem
+><para
+>Habituellement le mauve foncé. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur de conflit :</emphasis
+></term
+><listitem
+><para
+>Habituellement le rouge.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur de l'arrière plan de la sélection actuelle :</emphasis
+></term
+><listitem
+><para
+>Habituellement le jaune clair.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Couleur de l'arrière plan de la sélection différant actuelle :</emphasis
+></term
+><listitem
+><para
+>Habituellement le jaune foncé</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Pour les systèmes ne comprenant que 16 ou 256 couleurs certaines couleurs ne sont pas disponibles en forme pure. Sur ces systèmes le boutton "Par défaut" choisira une couleur pure. </para>
+</sect2>
+
+<sect2
+><title
+>Options de l'éditeur</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Tabulation insère des espaces :</emphasis
+></term
+><listitem
+><para
+>Si ceci est désactivé et que vous pressez la touche de tabulation, un caractère de tabulation est inséré, sinon la quantité appropriée de caractères est insérée.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Taille de la tabulation :</emphasis
+></term
+><listitem
+><para
+>Peut être ajustée pour vos besoins spécifique. Par défaut, 8. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Indentation automatique :</emphasis
+></term
+><listitem
+><para
+>Quand vous pressez le bouton Entrée ou Retour l'indentation de la ligne précédente est utilisée pour la nouvelle ligne. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Copier automatiquement la sélection :</emphasis
+></term
+><listitem
+><para
+>Chaque sélection est copiée automatiquement vers le presse-papiers quand cette option est activée. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Style de fin de ligne :</emphasis
+></term
+><listitem
+><para
+>Quand vous enregistrez vous pouvez sélectionner quel style de fin de ligne vous préférez. La configuration par défaut est le choix commun pour le système d'exploitation utilisé. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Utiliser un encodage local :</emphasis
+></term
+><listitem
+><para
+>Pour afficher des caractères étrangers. Essayez de changer cela si certains caractères de votre langue ne sont pas affichés correctement. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Options de Comparaison et de Fusion</title>
+<para
+>Quand vous comparez des fichiers, KDiff3 essaie d'abord de comparer les lignes qui sont égales dans les trois fichiers. Il ne peut ignorer les espaces que dans cette étape. La seconde étape compare chaque ligne. Dans cette étape les espaces ne seront pas ignorés. Durant la fusion les espaces ne seront pas ignorés non plus. </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Se préserver contre le Retour Chariot :</emphasis
+></term
+><listitem
+><para
+>Certains éditeurs (sur certains systèmes) enregistrent les caractères de retour chariot '\r' et saut de ligne '\n', tandis que les autres n'enregistrent que le saut de ligne '\n'. Habituellement KDiff3 ignore le retour chariot, mais alors les fichiers n'auront pas la même taille, mais seront les mêmes en comparaison terme à terme. Quand cette option est activée, alors les caractères de retour chariot seront visibles mais traités comme des espaces. Cette option doit être désactivée lors d'une fusion. Elle est désactivée par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ignorer les nombres :</emphasis
+></term
+><listitem
+><para
+>Désactivé par défaut. Les chiffres ('0'-'9', '.', '-') seront ignorés dans la première partie de l'analyse durant laquelle la comparaison des lignes est effectuée. Dans le résultat les différences seront affichées dans tous les cas, mais elles sont traitées comme des espaces. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ignorer les commentaires C/C++ :</emphasis
+></term
+><listitem
+><para
+>Désactivé par défaut. Les changements dans les commentaires seront traités comme les changements dans les espaces. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ignorer la casse :</emphasis
+></term
+><listitem
+><para
+>Désactivé par défaut. Les différences de casse de caractères (comme 'A' et 'a') seront traitées comme des changements dans les espaces. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Commande Préprocesseur :</emphasis
+></term
+><listitem
+><para
+>Se reporter à la <link linkend="preprocessors"
+>section suivante</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Commande préprocesseur de comparaison de ligne :</emphasis
+></term
+><listitem
+><para
+>Se reporter à la <link linkend="preprocessors"
+>section suivante</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>S'efforcer :</emphasis
+></term
+><listitem
+><para
+>S'efforcer de trouver des différences encore plus petites. (Activé par défaut). Ceci sera probablement efficace pour les fichiers lourds et compliqués, lent pour les fichiers très lourds. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Délai d'avancée automatique (en ms) :</emphasis
+></term
+><listitem
+><para
+>Quand le mode d'avancée automatique est activé, cette option spécifie la durée d'affichage du résultat de la sélection avant de sauter au conflit non résolu suivant. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Choix par défaut pour les espaces lors d'une fusion à 2/3 fichiers :</emphasis
+></term
+><listitem
+><para
+>Résoudre automatiquement tous les conflits d'espaces en choisissant le fichier spécifié. (Le choix par défaut est le choix manuel). Utile si tous les espaces ne sont pas vraiment importants dans les fichiers. Si vous avez besoin de cela occasionellement, il est mieux d'utiliser "Choisir A/B/C pour tous les conflits d'espaces non résolus" dans le menu de fusion. Notez que si vous activésoit "Ignorer les nombres" ou "Ignorer les commentaires C/C++" alors ce choix automatique est aussi appliqué pour les conflits dans les nombres ou les commentaires. </para
+></listitem
+></varlistentry>
+</variablelist>
+
+</sect2>
+
+<sect2
+><title
+>Fusion de dossiers</title>
+<para
+>Ces options sont en relation avec le scan de dossiers et le déroulement de la fusion : Reportez-vous à la <link linkend="dirmergeoptions"
+>Documentation sur la Comparaison/Fusion de dossiers</link
+> pour plus de détails. </para
+><para
+>Il y a déjà une option ici qui est aussi pertinente pour l'enregistrement de fichiers seuls : </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Fichiers de sauvegarde :</emphasis
+></term
+><listitem
+><para
+>Quand un fichier est enregistré et qu'une ancienne version existe déjà, alors la version originale sera renommée avec une extension ".orig". Si un ancien fichier de sauvegarde portant l'extension ".orig" existe déjà, alors il sera supprimé sans sauvegarde. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Divers</title>
+<para
+>(Ces options et actions sont disponibles dans les menus ou la barre des boutons).</para>
+<variablelist>
+  <varlistentry
+><term
+><emphasis
+>Afficher les numéros de ligne :</emphasis
+></term
+><listitem
+><para
+>Vous pouvez sélectionner si les numéros de ligne doivent être affichés pour les fichiers en entrée.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Afficher les espaces et les alinéas pour les différences :</emphasis
+></term
+><listitem
+><para
+>Parfois les espaces et alinéas visibles peuvent vous déranger. Vous pouvez désactiver cette option.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Afficher les espaces :</emphasis
+></term
+><listitem
+><para
+>Désactivez cette option pour supprimer tous les surlignements ou les changements d'espaces dans le texte ou dans les colonnes d'aperçu. (Notez que cela s'applique aussi aux changements dans les nombres ou commentaires quand les options "Ignorer les nombres" ou "Ignorer les commentaires" sont actives).</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Options de l'aperçu :</emphasis
+></term
+><listitem
+><para
+>Ces choix ne sont disponibles que si vous comparez trois fichiers. Dans le mode normal toutes les différences sont affichées dans une colonne d'aperçu codée en une seule colonne. Mais parfois vous pouvez être particulièrement intéressés par les différences entre seulement deux de ces trois fichiers. En sélectionnant l'aperçu "A et B", "A et C" ou "B et C", une seconde colonne d'aperçu sera affichée avec les informations nécessaires à côté de l'aperçu normal. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Fenêtre de coupe des mots :</emphasis
+></term
+><listitem
+><para
+>Coupe des mots lorsque leur longueur dépasse la largeur de la fenêtre. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Afficher la fenêtre A/B/C :</emphasis
+></term
+><listitem
+><para
+>Parfois vous voudrez mieux utiliser l'espace sur l'écran pour les longues lignes. Cachez les fenêtres qui ne sont pas importantes. (Dans le menu Fenêtre).</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Sens de la séparation des fenêtres :</emphasis
+></term
+><listitem
+><para
+>Choisir entre les fenêtres de comparaison affichées côte à côte (A à côté de B à côté de C) ou l'une au-dessus de l'autre (A sur B sur C). Cela devrait aussi vous aider si les lignes sont longues. (Dans le menu Fenêtre). </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Démarrer une fusion rapide :</emphasis
+></term
+><listitem
+><para
+>Parfois vous voyez des différences et vous décidez de fusionner. <inlinemediaobject
+><imageobject
+><imagedata fileref="merge_current.png" format="PNG"/></imageobject
+></inlinemediaobject
+> "Fusionner le fichier actuel" dans le menu Dossiers fonctionne aussi si vous voulez comparer deux fichiers. Un simple clic démarre la fusion et utilise le nom de fichier du dernier fichier en entrée comme étant le nom du fichier résultat de la fusion par défaut. (Quand ceci est utilisé pour redémarrer une fusion, alors le nom de fichier résultat sera conservé).</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="shortcuts"
+><title
+>Configurer les raccourcis clavier</title>
+<para
+>Actuellement seule la version KDE supporte la configuration des raccourcis clavier par l'utilisateur. (Menu Configuration / Configurer les raccourcis clavier)... </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Commandes préprocesseur</title>
+<para
+>KDiff3 supporte deux options préprocesseur. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Commande Préprocesseur :</emphasis
+></term
+><listitem
+><para
+>Quand un fichier est lu, il sera traité à travers cette commande externe. Le résultat de cette commande sera visible à la place du fichier original. Vous pouvez écrire votre propre commande préprocesseur qui remplit des besoins spécifiques. Utilisez cela pour exclure les parties du fichier qui vous gênent, ou corriger automatiquement l'indentation, etc. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Commande préprocesseur de comparaison de ligne :</emphasis
+></term
+><listitem
+><para
+>Quand un fichier est lu, il sera traité à travers cette commande externe. Si une commande préprocessus (voir ci-dessus) est aussi spécifiée, alors le fichier résultat de la commande préprocesseur est utilisé pour le préprocessus de traitement de lignes. Le résultat de cette dernière ne sera utilisé que durant la phase de comparaison de lignes de l'analyse. Vous pouvez écrire votre propre commande préprocesseur qui remplit des besoins spécifiques. Chaque ligne en entrée a une ligne en sortie correspondante. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>L'idée est de permettre à l'utilisateur d'avoir une plus grande flexibilité de configuration du résultat de la comparaison. Mais cela nécessite un programme externe, et beaucoup d'utilisateurs ne veulent pas en écrire un eux-mêmes. La bonne nouvelle est que très souvent <command
+>sed</command
+> ou <command
+>perl</command
+> feront l'affaire. </para>
+<para
+>Exemple : Cas simple : Considérons le fichier a.txt (6 lignes) : <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> Et le fichier b.txt (3 lignes) : <screen>
+      cg
+      dg
+      eg
+</screen
+> Sans commande préprocesseur les lignes suivantes seront placées les unes à côté des autres  <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Ceci n'est probablement pas voulu étant donné que la première lettre contient l'information intéressante actuelle. Pour aider l'algorithme à ignorer la seconde lettre nous pouvons utiliser un préprocesseur qui remplacera 'g' par 'a' : <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Avec cette commande le résultat de la comparaison devrait être : <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> L'algorithme de comparaison regarde les fichiers après avoir lancé le préprocesseur, mais à l'écran le fichier est inchangé. (Le préprocesseur normal aurait changé aussi les données affichées à l'écran). </para>
+
+<sect2 id="sedbasics"
+><title
+>Bases de <command
+>sed</command
+></title>
+<para
+>Cette section n'introduit qu'aux fonctions les plus basiques de <command
+>sed</command
+>. Pour plus d'informations reportez vous à <ulink url="info:/sed"
+>la page info de sed</ulink
+> ou <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Une version précompilée pour Windows peut être trouvée à <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Notez que les exemples qui suivent partent du principe que la commande <command
+>sed</command
+> est dans un dossier de la variable d'environnement PATH. Si ce n'est pas le cas, vous devrez spécifier le chemin complet absolu pour la commande. Notez aussi que les exemples qui suivent utilisent les guillemets simples (') qui ne fonctionnent pas sous windows. Sur windows vous devez utilisez les doubles guillemets (") à la place. </para>
+<para
+>Dans ce contexte seule la commande de substitution <command
+>sed</command
+> est utilisée : <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>REPLACEMENT</replaceable
+>/<replaceable
+>FLAGS</replaceable
+>'
+</screen
+> Avant d'utiliser une nouvelle commande dans KDIff3, vous devriez d'abord la tester dans la console. Ici la commande <command
+>echo</command
+> est utile. Exemple : <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Cet exemple affiche une commande sed très simple qui remplace la première occurrence de "a" par un "o". Si vous voulez remplacer toutes les occurrences vous aurez besoin du flag "g" : <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Le symbole "|" est la commande tuyau qui transfère la sortie de la commande précédente vers l'entrée de la commande suivante. Si vous voulez tester avec un fichier plus long vous pouvez utiliser <command
+>cat</command
+> sur les systèmes basés sur Unix ou <command
+>type</command
+> sur les systèmes Windows. <command
+>sed</command
+> fera la substitution pour chaque ligne. <screen
+><command
+>cat</command
+> <replaceable
+>nom-du-fichier</replaceable
+> | <command
+>sed</command
+> <replaceable
+>options</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Exemples d'utilisations de <command
+>sed</command
+> dans KDiff3</title>
+<sect3
+><title
+>Ignorer les autres types de commentaires</title>
+<para
+>Actuellement KDiff3 ne comprend que les commentaires C/C++. En utilisant la commande préprocesseur de traitement de ligne vous pouvez aussi ignorer d'autres types de commentaires, en les convertissant en commentaires C/C++. Exemple : Pour ignorer les commentaires commençant par "#", vous devriez les convertir en "//". Notez que vous devrez aussi activer l'option "Ignorer les commentaires C/C++" pour que cela ait un effet. La commande préprocesseur de traitement de ligne appropriée serait <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Étant donné que pour <command
+>sed</command
+> le caractère "/" a un sens particulier, il est nécessaire de placer le caractère "\" devant chaque "/" dans une chaîne de remplacement. Parfois le "\" est nécessaire pour ajouter ou supprimer un sens particulier de certains caractères. Le guillemet simple (') avant et après la commande de substitution est désormais important, car sinon le shell essaierait d'interpréter certains caractères spéciaux comme'#', '$' ou '\' avant de les passer à <command
+>sed</command
+>. Notez que sur Windows vous aurez besoin des doubles marques de citation ici ("). Windows substitue les autres caractères comme '%', alors vous pourriez avoir quelques essais à faire. </para>
+</sect3>
+<sect3
+><title
+>Comparaison non sensible à la casse</title>
+<para
+>Utilisez la commande préprocesseur de traitement de ligne suivante pour convertir toutes ce qui est situé en entrée en majuscules : <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Ici ".*" est une expression rationnelle qui trouve, dans ce contexte, tous les caractères de la ligne. Le "\1" est la chaîne de remplacement en référence au texte trouvé dans la première paire de "\(" et "\)". Le "\U" convertit le texte inséré en majuscules. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorer les mots clés CVS</title>
+<para
+>CVS et d'autres systèmes de contrôle de version utilisent des mots clés pour insérer les chaînes générées automatiquement (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Tous suivent le modèle "$KEYWORD generated text$". Nous avons maintenant besoin d'une commande préprocesseur de traitement de ligne qui ne supprime que le texte généré : <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Le "\|" sépare les mots clés possibles. Vous pouvez vouloir modifier cette liste selon vos besoins. Le "\" avant le "$" est nécessaire car sinon le "$" signifie fin de la ligne. </para>
+<para
+>Quand vous ferez des expérimentations avec <command
+>sed</command
+> vous pourrez arriver à comprendre toutes ces expressions rationnelles. Elles sont utiles car beaucoup d'autres programmes supportent ces mêmes fonctionnalités. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorer les nombres</title>
+<para
+>Ignorer les nombres est actuellement une option intégrée. Mais en tant qu'autre exemple, c'est ce qui se passerait si vous aviez mis comme commande préprocesseur de traitement de ligne. <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Chaque caractère dans '[' ']' est remplacé par rien. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorer certaines colonnes</title>
+<para
+>Parfois un texte est très strictement formaté, et il y a certaines colonnes que vous voudrez toujours ignorer, tandis que vous voudrez en gardez d'autres pour l'analyse. Dans l'exemple qui suit les cinq premières colonnes (caractères de chaque ligne) sont ignorés, les dix colonnes suivantes sont conservées, puis de nouveaux cinq colonnes sont ignorées et le reste de la ligne est conservé. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Chaque point '.' correspond à un caractère. Le "\1" et "\2" dans la chaîne de remplacement réfère au texte correspondant situé entre la première paire de "\(" et"\)" dénotant que le texte doit être conservé. </para>
+</sect3>
+
+<sect3
+><title
+>Combiner plusieurs substitutions</title>
+<para
+>Parfois vous voudrez appliquer plusieurs substitutions à la fois. Vous pouvez alors utilisez le point-virgule ';' pour les séparer les unes des autres. Exemple : <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+>Utiliser <command
+>perl</command
+> à la place de <command
+>sed</command
+></title>
+<para
+>A la place de <command
+>sed</command
+> vous pouvez vouloir utiliser quelque chose d'autre comme <command
+>perl</command
+>. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>REPLACEMENT</replaceable
+>/<replaceable
+>FLAGS</replaceable
+>'
+</screen
+> Mais certains détails sont différents avec <command
+>perl</command
+>. Notez que la où <command
+>sed</command
+> à besoin de "\(" and "\)" <command
+>perl</command
+> n'a besoin que de "(" and ")" sans les '\' qui le précède. Exemple : <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Ordre d'exécution des commandes préprocesseur</title>
+<para
+>Les données traversent tous les préprocesseurs internes et externes dans l'ordre suivant : </para>
+<itemizedlist>
+<listitem
+><para
+>Préprocesseur normal,</para
+></listitem>
+<listitem
+><para
+>Préprocesseur de traitement de ligne,</para
+></listitem>
+<listitem
+><para
+>Ignorer la casse (conversion en majuscule),</para
+></listitem>
+<listitem
+><para
+>Détection des commentaires C/C++,</para
+></listitem>
+<listitem
+><para
+>Ignorer les nombres,</para
+></listitem>
+<listitem
+><para
+>Ignorer les espaces</para
+></listitem>
+</itemizedlist>
+<para
+>Les données après le préprocesseur normal seront conservées pour l'affichage et la fusion. Les autres opérations ne modifient que les données que l'algorithme de comparaison de lignes peut voir. </para
+><para
+>Dans les rares cas ou vous utiliserez un préprocesseur normal, notez que le préprocesseur de traitement de ligne prend la sortie du préprocesseur normal en tant qu'entrée. </para>
+</sect2>
+
+<sect2
+><title
+>Attention</title>
+<para
+>Les commandes préprocesseur sont très souvent utiles, mais comme avec toutes les options modifiant vos textes ou cachant certaines différences automatiquement, vous pouvez accidentellement sauter certaines différences et dans le pire des cas supprimer des données importantes. </para
+><para
+>C'est pour cette raison que durant une fusion, si une commande préprocesseur normale est utilisée, KDiff3 vous en informera et vous demandera si elle doit être ou non désactivée. Mais ne vous inquiétez pas si une commande préprocesseur de traitement de ligne est active. La fusion ne sera pas terminée tant que tous les conflits ne seront pas résolus. SI vous avez désactivé "Afficher les espaces", alors les différences qui seront supprimées avec la commande préprocesseur de traitement de ligne seront aussi invisibles. Si le boutton d'enregistrement reste désactivé durant une fusion (à cause de conflits restants), assurez vous d'avoir activé "Montrer les espaces". Si vous ne voulez pas fusionner ces différences moins importantes manuellement, vous pouvez sélectionner "Choisir [A|B|C] pour tous les conflits d'espaces non résolus" dans le menu Fusion. </para>
+</sect2>
+</sect1>
+</chapter>
+
+
+<chapter id="dirmerge"
+><title
+>Comparaison et Fusion de dossiers avec KDiff3</title>
+<sect1 id="dirmergeintro"
+><title
+>Introduction</title>
+<para
+>Souvent les programmeurs doivent modifier beaucoup de fichiers dans un dossiers pour parvenir à leur but. Pour cela KDiff3 vous permet aussi de comparer et de fusionner des dossiers complets récursivement ! </para
+><para
+>Bien souvent la comparaison et la fusion de dossiers semble bien compliquée, il y a beaucoup de détails dont que vous devriez savoir. Le plus important est bien sur le fait que maintenant beaucoup de fichiers peuvent  être affectés par chaque opération. Si vous n'avez pas de sauvegardes de vos données originales, alors il  peut être très difficile voire impossible de revenir à l'état original. Donc, avant de démarrer une fusion, assurez-vous que vos données sont en sécurité, et qu'un retour à l'état initial est possible. Vous pouvez faire une archive ou utiliser un système de contrôle de version (CVS), mais même les programmeurs expérimentés et les intégrateurs ont besoin des anciennes sources. Et notez que même si moi (auteur de KDiff3) ait essayé de faire de mon mieux, je ne peux pas garantir qu'il n'y ait pas de bogues. Et selon la GNU-GPL il n'y a AUCUNE GARANTIE sur quoi que ce soit pour ce programme. Alors soyez humble et gardez toujours à l'esprit : </para>
+<blockquote
+><para>
+   <emphasis
+>L'erreur est humaine, mais pour vraiment faire n'importe quoi vous avez besoin d'un ordinateur.</emphasis>
+</para
+></blockquote>
+<para
+>Voila ce que ce programme peut faire pour vous : KDiff3... </para>
+<itemizedlist>
+     <listitem
+><para
+>...lit et compare deux ou trois dossiers récursivement,</para
+></listitem>
+     <listitem
+><para
+>... fait spécialement attention aux liens symboliques,</para
+></listitem>
+     <listitem
+><para
+>... vous permet de naviguer dans vos fichiers avec des double-clics,</para
+></listitem>
+     <listitem
+><para
+>... pour chacun d'eux propose une opération de fusion, que vous pouvez changer avant de démarrer une fusion de dossiers,</para
+></listitem>
+     <listitem
+><para
+>... vous permet de simuler la fusion et de lister les actions qui auraient eu lieu, sans les faire,</para
+></listitem>
+     <listitem
+><para
+>... vous permet de faire réellement la fusion, et vous permet d'interagir lorsqu'une action manuelle est nécessaire,</para
+></listitem>
+     <listitem
+><para
+>... vous permet de lancer l'opération pour tous les éléments (touche F7) ou pour l'élément sélectionné (touche F6),</para
+></listitem>
+     <listitem
+><para
+>... vous permet de continuer la fusion après une interaction manuelle avec la touche F7,</para
+></listitem>
+     <listitem
+><para
+>... crée des copies de sauvegarde en option, portant l'extension ".orig",</para
+></listitem>
+     <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect1>
+
+<sect1 id="startingdirmerge"
+><title
+>Démarrer une comparaison ou une fusion de dossiers</title>
+<para
+>C'est très similaire à la fusion et à la comparaison d'un seul fichier. Vous devrez juste spécifier les dossiers depuis la ligne de commande ou la fenêtre d'ouverture de fichiers. </para>
+<sect2
+><title
+>Comparer/Fusionner deux dossiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>dos1 dos2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>dos1 dos2</replaceable
+> -o <replaceable
+>dosdedest</replaceable
+>
+</screen>
+<para
+>Si aucun dossier de destination n'est spécifié, alors KDiff3 utilisera <replaceable
+>dos2</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Comparer/Fusionner trois dossiers : </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>dos1 dos2 dos3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>dos1 dos2 dos3</replaceable
+> -o <replaceable
+>dossier de destination</replaceable
+>
+</screen>
+<para
+>Quand trois dossiers sont fusionnés alors <replaceable
+>dos1</replaceable
+> est utilisé comme la base de la fusion. Si aucun dossier de destination n'est spécifié, alors KDiff3 utilisera <replaceable
+>dos3</replaceable
+> comme dossier de destination de la fusion. </para>
+
+<para
+>Notez que seule la comparaison démarre automatiquement, pas la fusion. Pour cela vous devrez sélectionner le choix du menu ou appuyez sur la touche F7. (Plus de détails à la suite). </para>
+</sect2>
+</sect1>
+
+<sect1 id="dirmergevisible"
+><title
+>Information visible</title>
+<para
+>Lors de la lecture des dossiers, une boîte de dialogue apparat vous informant de la progression. Si vous annulez le scan de dossier, alors seuls les fichiers déjà comparés seront listés. </para
+><para
+>Quand le scan de dossiers est terminé KDiff3 affiche une liste avec les résultats à gauche, ... </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="dirbrowser.png" format="PNG"/></imageobject
+> <!--alt="Image of the directory browser."-->
+</mediaobject
+></screenshot>
+<para
+>... et les détails concernant l'élément actuellement sélectionné à droite : </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="iteminfo.png" format="PNG"/></imageobject>
+   <!--alt="Image with information about the selected item."-->
+</mediaobject
+></screenshot>
+
+<sect2 id="name"
+><title
+>La colonne de nom</title>
+<para
+>Chaque fichier et dossier ayant été trouvé durant le scan et affiché ici dans une arborescence. Vous pouvez sélectionner un élément en cliquant dessus avec la souris. </para
+><para
+>Les dossiers sont fermés par défaut. Vous pouvez les développer ou les fermer on cliquant sur "+"/"-", en double cliquant sur l'élément ou simplement en utilisant les flèches gauche/droite du clavier. Le menu "Dossier" contient aussi deux actions "Naviguer dans tous les sous-dossiers" et "Refermer tous les sous-dossiers" avec lesquelles vous pouvez fermer ou développer tous les dossiers d'un seul coup. </para
+><para
+>Si vous double-cliquez sur un fichier, alors la comparaison démarre et la fenêtre de comparaison apparaîtra. </para>
+<para
+>L'image de la colonne de nom reflète du type de fichier dans le premier dossier ("A"). Cela peut être : </para>
+<itemizedlist>
+     <listitem
+><para
+>Fichier normal</para
+></listitem>
+     <listitem
+><para
+>Dossier normal (image de dossier)</para
+></listitem>
+     <listitem
+><para
+>Lien vers un fichier (image de fichier avec une flèche)</para
+></listitem>
+     <listitem
+><para
+>Lien vers un dossier (image de dossier avec une flèche)</para
+></listitem>
+</itemizedlist>
+<para
+>SI le type de fichier est différent dans les autres dossiers, alors cela est visible dans les colonnes A/B/C et dans la fenêtre affichant les détails concernant les éléments sélectionnés. Notez que dans un cas comme cela aucune opération de fusion ne peut être sélectionnée automatiquement. Quand une fusion est démarrée, alors l'utilisateur sera informé de problèmes de ce type. </para>
+</sect2>
+
+<sect2 id="coloring"
+><title
+>Les colonnes A/B/C et le système de coloration</title>
+<para
+>Comme cela peut être vu dans l'image ci-dessous les couleurs rouge, vert, jaune et noir sont utilisées dans les colonnes A/B/C. </para>
+<itemizedlist>
+     <listitem
+><para
+>Noir : Cela ne semble pas exister dans ce dossier.</para
+></listitem>
+     <listitem
+><para
+>Vert : Élément le plus récent.</para
+></listitem>
+     <listitem
+><para
+>Jaune : Plus vieux que le vert, plus récent que le rouge.</para
+></listitem>
+     <listitem
+><para
+>Rouge : Élément le plus ancien.</para
+></listitem>
+</itemizedlist>
+<para
+>Mais pour les éléments qui sont identiques dans la comparaison leur couleur est aussi identique même si leur âge ne l'est pas. </para
+><para
+>Les dossiers sont considérés comme égaux si tous les éléments qu'ils contiennent sont égaux. Alors ils auront aussi la même couleur. Mais l'âge d'un dossier n'est pas considéré pour sa couleur. </para
+><para
+>L'idée pour le schéma de coloration vient de <ulink url="http://samba.org/cgi-bin/cvsweb/dirdiff"
+>dirdiff</ulink
+>. Les couleurs ressemblent aux couleurs d'une feuille d'un arbre qui est verte au printemps, puis devient jaune à l'automne pour devenir rouge à l'hiver. </para>
+
+</sect2
+><sect2 id="operation"
+><title
+>La colonne d'opération</title>
+<para
+>Après avoir comparé les dossiers, KDiff3 évalue aussi une proposition pour l'opération de fusion. Cela est affiché dans la colonne "Opération". Vous pouvez modifier l'opération en cliquant sur l'opération que vous voulez changer. Un petit menu se déroulera vous permettant de sélectionner une opération pour cet élément. (Vous pouvez aussi sélectionner les opérations les plus importantes via le clavier. Ctrl+1/2/3/4/Del sélectionnera ainsi respectivement A/B/C/Fusion/Suppression (si disponibles). Cette opération sera exécutée durant la fusion. Cela dépend de l'élément et du mode de fusion dans lequel vous êtes. Le mode de fusion est un des modes qui suit  </para>
+<itemizedlist>
+     <listitem
+><para
+>Fusion à trois dossiers ("A" est considéré comme la base des deux autres).</para
+></listitem>
+     <listitem
+><para
+>Fusion de deux dossiers.</para
+></listitem>
+     <listitem
+><para
+>Deux dossiers en mode synchronisé (activé via l'option "Synchroniser les dossiers").</para
+></listitem>
+</itemizedlist>
+<para
+>Dans le cas d'une fusion à trois dossiers l'opération proposée sera : Si pour un élément ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... les trois dossiers sont égaux : Copie depuis C</para
+></listitem>
+     <listitem
+><para
+>... A et C sont égaux mais B ne l'est pas : Copier depuis B (ou si B n'existe pas, supprimer la destination si elle existe)</para
+></listitem>
+     <listitem
+><para
+>... A et B sont égaux mais C ne l'est pas : Copier depuis C (ou si C n'existe pas, supprimer la destination si elle existe)</para
+></listitem>
+     <listitem
+><para
+>... B et C sont égaux mais A ne l'est pas : Copier depuis C (ou si C n'existe pas, supprimer la destination si elle existe)</para
+></listitem>
+     <listitem
+><para
+>... seul A existe : Supprimer la destination (si elle existe)</para
+></listitem>
+     <listitem
+><para
+>... seul B existe : Copier depuis B</para
+></listitem>
+     <listitem
+><para
+>... seul C existe : Copier depuis C</para
+></listitem>
+     <listitem
+><para
+>... A, B et C ne sont pas égaux : Fusion</para
+></listitem>
+     <listitem
+><para
+>... A, B et C n'ont pas le m me type de fichier (par exemple A est un dossier, B un fichier : "Erreur : Conflit de types de fichiers". Tant que des éléments comme ceux-ci existent la fusion de dossiers ne peut pas commencer.</para
+></listitem>
+</itemizedlist>
+<para
+>Dans la fusion à deux dossiers, l'opération proposée sera : Si pour un élément ... </para>
+<itemizedlist>
+     <listitem
+><para
+>les deux dossiers sont égaux : Copier depuis B</para
+></listitem>
+     <listitem
+><para
+>... A existe, mais pas B : Copier depuis A</para
+></listitem>
+     <listitem
+><para
+>... B existe, mais pas A : Copier depuis B</para
+></listitem>
+     <listitem
+><para
+>... A et B existent mais ne sont pas égaux : Fusion</para
+></listitem>
+     <listitem
+><para
+>... A, et B n'ont pas le même type de fichier (par exemple A est un dossier, B un fichier : "Erreur : Conflit de types de fichiers". Tant que des éléments comme ceux-ci existent la fusion de dossiers ne peut pas commencer.</para
+></listitem>
+</itemizedlist>
+<para
+>Le mode de synchronisation est actif si il n'y a que deux dossiers, qu'aucune destination explicite n'a été spécifiée et que l'option "Synchroniser les dossiers" est active. KDiff3 sélectionne alors une opération par défaut pour que les deux dossiers soient les m mes après-coup. Si pour un élément ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... les deux dossiers sont égaux : Rien ne sera fait.</para
+></listitem>
+     <listitem
+><para
+>... A existe, mais pas B : Copier A vers B</para
+></listitem>
+     <listitem
+><para
+>... B existe, mais pas A : Copier B vers A</para
+></listitem>
+     <listitem
+><para
+>... A et B existent, mais sont différents : Fusion et stockage du résultat dans les deux dossiers. Pour l'utilisateur le nom de fichier visible est B, mais alors KDiff3 copie aussi B vers A).</para
+></listitem>
+     <listitem
+><para
+>... A, et B n'ont pas le même type de fichier (par exemple A est un dossier, B un fichier : "Erreur : Conflit de types de fichiers". Tant que des éléments comme ceux-ci existent la fusion de dossiers ne peut pas commencer.</para
+></listitem>
+</itemizedlist>
+<para
+>Quand deux dossiers sont fusionnés et que l'option "Copier le plus récent à la place de fusionner" est sélectionnée, alors KDiff3 regardera les dates et proposera de choisir le fichier le plus récent. Si les fichiers ne sont pas égaux mais ont les mêmes dates alors l'opération contiendra "Erreur : Les dates sont les mêmes mais les fichiers ne le sont pas". Tant que des éléments comme ceux-ci existent la fusion ne pourra pas commencer. </para>
+</sect2>
+
+<sect2 id="status"
+><title
+>La colonne d'état</title>
+<para
+>Durant la fusion, les fichiers seront traités les uns après les autres. La colonne d'état affichera "Terminé" pour les éléments où l'opération de fusion s'est bien déroulée, et d'autres textes si une chose non attendue est arrivée. Quand une fusion est terminée, vous devriez faire une dernière vérification pour voir si l'état de tous les éléments est correct. </para>
+</sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Colonne de statistiques</title>
+<para
+>Quand le mode de comparaison de fichiers "Analyse complète" est activé dans les options, alors KDiff3 affichera des colonnes contenant le nombres de conflits non résolus, résolus et conflits d'espacement ou non. (La colonne résolu s'affichera seulement lors de la comparaison ou fusion de trois dossiers). </para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="dothemerge"
+><title
+>Faire une fusion</title>
+<para
+>Vous pouvez soit fusionner l'élément sélectionné actuellement (fichier ou dossier), out tous les éléments. Quand vous aurez fait tous les choix (aussi dans les sous-dossiers) alors vous pourrez démarrer la fusion. </para
+><para
+>Soyez conscient que si vous ne spécifiez pas de dossier de destination explicitement, alors la destination sera "C" dans le mode de fusion a trois dossiers, "B" dans le mode de fusion à deux dossiers, et dans le mode synchronisé, ce sera "A" ou/et "B" </para
+><para
+>Si vous avez spécifié un dossier de destination vérifiez aussi que tous éléments devant être à la sortie, sont dans l'arborescence. Il y a quelques options qui font que certains éléments sont oubliés de la comparaison et la fusion de dossiers. Vérifiez ces options pour éviter des mauvaises surprises : </para>
+<itemizedlist>
+     <listitem
+><para
+>"Dossiers récursifs" : Si cette option est désactivée, alors les éléments contenus dans les sous-dossiers ne seront pas trouvés.</para
+></listitem>
+     <listitem
+><para
+>"Modèle"/"Anti-modèle" : Inclure/exclure les éléments qui correspondent</para
+></listitem>
+     <listitem
+><para
+>"Exclure les fichiers cachés"</para
+></listitem>
+     <listitem
+><para
+>"Ne lister que les différences" : Les fichiers qui sont identiques dans tous les dossiers n'apparaîtront pas dans l'arborescence, ni dans le dossier de destination.</para
+></listitem>
+</itemizedlist>
+<para
+>(Dans la version actuelle, vous devez rescanner via "Dossier"/"Rescan" vous même après avoir changé les options affectant le scan de dossiers). </para
+><para
+>Si vous êtes satisfaits ici, le reste et simple. </para
+><para
+>Pour fusionner tous les éléments : Sélectionnez "Démarrer/Continuer la fusion de dossiers" dans le menu "Dossier" ou appuyez sur la touche F7 (qui est le raccourci). Pour fusionner seulement l'élément actuel : Sélectionnez "Lancer l'opération pour l'élément actuel" ou appuyez sur F6. </para
+><para
+>Si à cause de conflits de type de fichiers certains éléments portant des opérations non valables existent, alors un boîte de dialogue apparaîtra et certains de ces éléments seront pointés, pour que vous puissiez sélectionner une opération valable </para
+><para
+>Si vous fusionnez tous les éléments, une fenêtre apparaîtra vous proposant de "Le faire", "Le simuler" ou "Annuler". </para>
+<itemizedlist>
+     <listitem
+><para
+>Sélectionnez "Le simuler" si vous voulez voir comment cela serait sans le faire réellement. Une liste de toutes les opérations sera affichée.</para
+></listitem>
+     <listitem
+><para
+>Sinon sélectionnez "Le faire" pour démarrer réellement la fusion.</para
+></listitem>
+</itemizedlist>
+<para
+>Alors KDiff3 lancera l'opération spécifiée pour tous les éléments. Si une interaction manuelle est nécessaire (fusion d'un seul fichier), alors une fenêtre de fusion s'ouvrira (<link linkend="dirmergebigscreenshot"
+>voir la grosse capture d'écran</link
+>). </para
+><para
+>Quand vous en aurez terminé avec un fichier, sélectionnez de nouveau "Démarrer/Continuer la fusion de dossiers" ou utilisez la touche F7. SI vous n'avez pas encore enregistré les résultats, une fenêtre vous le proposera. Alors KDiff3 continuera avec l'élément suivant. </para
+><para
+>Quand KDIff3 rencontre une erreur, il vous en informe et affiche l'information détaillée de l'état. Au bas de cette liste, il y aura quelques messages d'erreur qui vous aideront à comprendre la cause du problème. Quand vous continuerez la fusion, KDiff3 vous proposera de réessayer ou de sauter l'élément qui à causé le problème. Cela signifie qu'avant de continuer vous pouvez choisir une autre opération ou résoudre le problèmes par d'autres moyens. </para
+><para
+>Quand la fusion est complète, alors KDiff3 vous informera via une boîte de dialogue. </para
+><para
+>Si certains éléments ont été fusionnés individuellement, KDiff3 s'en rappellera (tant que la session de fusion continue), et ne fusionne pas ces éléments de nouveau plus tard quand la fusion de tous les éléments est lancée. Même si la fusion a été sautée ou si rien n'a été enregistré ces éléments sont comptés comme complétés. La fusion ne sera refaite que si vous changez l'opération de fusion de l'élément. </para>
+</sect1>
+
+<sect1 id="dirmergeoptions"
+><title
+>Options pour la comparaison et la fusion de dossiers</title>
+<para
+>Les options de Kdiff3 (menu "Configuration"/"Configurer KDiff3...") ont maintenant une section appelée "Fusion de dossiers" contenant ces options : </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Dossiers récursifs :</emphasis
+></term
+><listitem
+><para
+>Sélectionner si il faut rechercher les dossiers récursivement.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Modèle(s) de fichier :</emphasis
+></term
+><listitem
+><para
+>Seuls les fichiers qui correspondent à un modèle ici seront mis dans l'arborescence. Plus d'un modèle peut être spécifié en utilisant le point-virgule ";" comme séparateur. Les jokers valables sont '*' et '?' (par exemple pour "*.cpp;*.h". L'option par défaut est "*". Les dossiers ne seront pas reconnus par ce modèle.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Anti-modèle(s) :</emphasis
+></term
+><listitem
+><para
+>Les fichiers et dossiers correspondants à cette règle seront exclus de l'arborescence. Plus d'un modèle peut être spécifié ici en utilisant le point-virgule ";" comme séparateur. Les jokers valides sont : '*' et '?'. Le modèle par défaut est "*.orig;*.o".</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ignorer comme CVS :</emphasis
+></term
+><listitem
+><para
+>Ignorer les fichiers et dossiers qui seraient aussi ignorés par CVS. Beaucoup de fichiers générés automatiquement sont ignorés par CVS. Le gros avantage est que cela peut être spécifique à un dossier via un fichier local ".cvsignore". (Reportez-vous à <ulink url="info:/cvs/cvsignore"
+>info:/cvs/cvsignore</ulink
+>).</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Trouver les fichiers et dossiers cachés :</emphasis
+></term
+><listitem
+><para
+>Sur certains systèmes de fichiers les fichiers ont un attribut "Caché". Sur d'autres un nom de fichier commençant par un point "." le cache. Cette option vous permet de décider si il faut inclure ces fichiers dans l'arborescence ou non. Option activée par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Suivre les liens vers les fichiers :</emphasis
+></term
+><listitem
+><para
+>Pour les liens vers les fichiers : Quand cette option est désactivée, alors les liens symboliques sont comparés. Quand elle est activée, alors ce sont les fichiers situé derrière les liens qui sont comparés. Désactivée par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Suivre les liens vers les dossiers :</emphasis
+></term
+><listitem
+><para
+>Pour les liens vers les dossiers : Quand désactivé, alors les liens symboliques seront comparés. Quand activée alors le lien sera traité comme un dossier et sera scanné récursivement. (Notez que le programme ne vérifie pas si le lien est "récursif". Si par exemple un dossier contenait un lien vers lui-même, cela causerait une boucle infinie, et après quelque temps il y aurait dépassement de tampon ou toute la mémoire serait utilisée, crashant le programme.</para
+></listitem
+></varlistentry
+>   
+   <varlistentry
+><term
+><emphasis
+>Ne lister que les différences :</emphasis
+></term
+><listitem
+><para
+>Seuls les éléments qui ne sont pas égaux dans tous les dossiers seront listés et seuls les fichiers changés seront visibles. Ici les fichiers étant égaux dans tous les dossiers ne seront pas copiés durant une fusion, vous pouvez oublier quelques fichiers après. (Cette option a de fortes chances d'être changée dans une prochaine version). Désactivée par défaut.</para
+></listitem
+></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Mode de comparaison des fichiers :</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Comparaison binaire</emphasis
+></term
+><listitem
+><para
+>C'est le mode de comparaison de fichiers par défaut. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Analyse complète</emphasis
+></term
+><listitem
+><para
+>Faire une analyse complète de chaque fichier et afficher la colonne d'informations statistiques. (Nombre de conflits résolus, non résolus, d'espacement ou non). L'analyse complète est plus lente qu'une simple analyse binaire, et plus lente quand utilisée sur des fichiers ne contenant pas du texte. (Spécifiez les anti-modèles de fichiers appropriés). </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Croire la date de modification :</emphasis
+></term
+><listitem
+><para
+>Si vous comparez des gros dossiers sur un réseau lent, cela peut être plus rapide de ne comparer que les dates de modification et les longueurs des fichiers. Mais cette augmentation de vitesse comporte néanmoins un petit doute. Utilisez cette option avec précaution. Désactivée par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Croire la taille :</emphasis
+></term
+><listitem
+><para
+>Identique à croire la date de modification. Pas de réelle comparaison, les deux fichiers sont considérés comme égaux si leur tailles sont égales. C'est utile lorsqu'une opération de copie ne conserve pas la date de modification. Utilisez cette option avec précaution. Désactivé par défaut.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><emphasis
+>Synchroniser des dossiers :</emphasis
+></term
+><listitem
+><para
+>Active le "Mode synchroniser" quand deux dossiers sont comparés et qu'il n'y a pas de dossier de destination explicitement spécifié. Dans ce mode les opérations proposées seront choisies pour que les deux dossier sources soient égaux après coup. Aussi le résultat de la fusion sera écrit dans les deux dossiers. Désactivé par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Copier le plus récent au lieu de fusionner :</emphasis
+></term
+><listitem
+><para
+>Au lieu de fusionner l'opération proposée sera copier la source la plus récente si des changements ont eu lieu. (Considéré comme peu sur, car cela implique la connaissance que l'autre fichier n'a pas été édité. Vérifiez le pour vous assurez dans tous les cas). Désactivé par défaut.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Fichiers de sauvegarde :</emphasis
+></term
+><listitem
+><para
+>Si un fichier ou un dossier complet est remplacé par un autre ou est supprimé alors la version originale sera renommée avec une extension ".orig". Si un ancien fichier de sauvegarde portant l'extension ".orig" existe toujours alors il sera supprimé sans sauvegarde. Cela affecte aussi la fusion de simples fichiers, pas seulement le mode de fusion de dossiers. Activé par défaut.</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="other"
+><title
+>Autres fonctions</title>
+<sect2
+><title
+>Mode plein écran/écran partagé</title>
+<para
+>Habituellement la vue de la liste de fusion de dossiers reste visible quand un fichier simple est comparé ou fusionné. Avec la souris vous pouvez déplacer la barre de séparation qui sépare la liste de fichiers de la fenêtre de comparaison. Si vous ne voulez pas faire cela, vous pouvez désactiver "Scinder la fenêtre" Dans le menu "Dossier". vous pouvez aussi utiliser "Basculer la vue" dans le menu "Dossier" pour basculer entre la liste de fichiers et la fenêtre de comparaison qui occupait tout l'écran. </para>
+</sect2>
+<sect2
+><title
+>Comparer ou Fusionner un simple fichier</title>
+<para
+>Probablement vous préférerez un simple double clic sur un fichier pour le comparer. Néanmoins il existe aussi une entrée dans le menu "Dossier". vous pouvez aussi fusionner directement un simple fichier, sans lancer la fusion de dossiers via "Fusionner un simple fichier" dans le menu "Dossier". A l'enregistrement des résultats l'état sera validé, et le fichier ne sera plus fusionné si une fusion de dossiers est démarrée. </para
+><para
+>Mais notez que l'information de l'état sera perdue lorsque vous relancerez un scan de dossier via : "Dossier"/"Rescanner" </para>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="misc">
+<title
+>Sujets divers</title>
+<sect1 id="networktransparency">
+<title
+>Transparence réseau via KIO</title>
+<sect2
+><title
+>KIO-Slaves</title>
+<para
+>KDE supporte la transparence réseau via KIO. KDiff3 utilise cela pour lire les fichiers en entrée ou scanner les dossiers. Cela signifie que vous pouvez spécifier des fichiers et des dossiers locaux ou distants via des URL. </para
+><para
+>Exemple : </para
+><para>
+<screen
+><command
+>kdiff3</command
+> test.cpp  ftp://ftp.faraway.org/test.cpp
+   <command
+>kdiff3</command
+> tar:/home/hacker/archive.tar.gz/dos /dos
+</screen>
+</para>
+<para
+>La première ligne compare un fichier local avec un fichier sur un serveur FTP. La seconde compare un dossier contenu dans une archive compressée a un dossier local. </para
+><para
+>Les autres KIOslaves intéressants sont : </para>
+<itemizedlist>
+<listitem
+><para
+>Fichiers depuis le WWW (http:),</para
+></listitem>
+<listitem
+><para
+>Fichiers depuis un FTP (ftp:),</para
+></listitem>
+<listitem
+><para
+>Transfert de fichier crypté (fish;, sftp;),</para
+></listitem>
+<listitem
+><para
+>Ressources Windows (smb:),</para
+></listitem>
+<listitem
+><para
+>Fichiers locaux (file:),</para
+></listitem>
+</itemizedlist>
+<para
+>D'autres choses sont possibles, mais probablement moins utiles sont : </para>
+<itemizedlist>
+<listitem
+><para
+>Pages man (man:),</para
+></listitem>
+<listitem
+><para
+>Pages info (info:),</para
+></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2
+><title
+>Comment écrire des URLs</title>
+<para
+>Une URL a une syntaxe différence par rapport aux chemins pour les fichiers et dossiers locaux. Certains éléments doivent être considérés : </para>
+<itemizedlist>
+<listitem
+><para
+>Un chemin peut être relatif et contenir "." ou "..". Ce n'est pas possible pour les URL qui sont toujours absolues. </para
+></listitem
+><listitem
+><para
+>Les caractères spéciaux doivent être écrits avec des espaces ("#"->"%23", espace
+>"%20", etc). Par exemple un fichier nommé "#foo#" aura l'URL "file:/%23foo%23". </para
+></listitem
+><listitem
+><para
+>Quand les URLs ne fonctionnent pas comme attendu, essayez de les ouvrir tout d'abord avec Konqueror. </para
+></listitem>
+</itemizedlist>
+
+</sect2>
+
+<sect2
+><title
+>Possibilités des KIO-Slaves</title>
+<para
+>La transparence réseau à un inconvénient : Toutes les ressources n'ont les mêmes possibilités. </para
+><para
+>Parfois ceci est dû au système de fichiers du serveur, parfois au protocole. Voici une liste de restrictions : </para>
+<itemizedlist>
+<listitem
+><para
+>Parfois il n'y a pas de support des liens. </para
+></listitem
+><listitem
+><para
+>Ou il n'y a pas moyen de distinguer si un lien pointe vers un fichier ou un dossier ; on estime que c'est toujours un fichier.(ftp :, sftp :). </para
+></listitem
+><listitem
+><para
+>Ne peut pas toujours déterminer la taille des fichiers. </para
+></listitem
+><listitem
+><para
+>Support limité des permissions. </para
+></listitem
+><listitem
+><para
+>Il est impossible de modifier les permissions ou la date de dernière modification, les permissions ou la date de dernière modification d'une copie diffèrent donc de l'original. (Voir l'option "Croire la taille"). (Modifier les permissions ou la date de dernière modification n'est possible que pour les fichiers locaux). </para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+
+<sect1 id="kpart">
+<title
+>Utiliser &kdiff3; en tant que KPart</title>
+<para
+>&kdiff3; fait partie de KPart. Actuellement il implémente l'interface KParts::ReadOnlyPart. </para
+><para
+>Son utilisation principale est en tant que visionneur de différences pour KDevelop. KDevelop démarre tout le temps par le visionneur de différences interne. Pour invoquer KDiff3, faites un clic droit sur le visionneur de différences et sélectionnez "Afficher dans KDiff3Part" depuis le menu contextuel. </para
+><para
+>KDiff3 a normalement besoin de deux fichiers complets en entrée. Quand utilisé dans KPart, KDiff3 estimera que le fichier en entrée est un fichier patch dans le format unifié. KDiff3 retrouvera alors les noms de fichiers originaux depuis le patch. Au moins un des deux fichiers doit être disponible. Kdiff3 invoquera alors <command
+>patch</command
+> pour recréer le second fichier. </para
+><para
+>Dans Konqueror, vous pouvez sélectionner un fichier patch et sélectionner "Aperçu dans"-"KDiff3Part" depuis le menu contextuel. Soyez conscient que cela ne fonctionnera pas si aucun des fichiers originaux n'est disponible, et que ce n'est pas fiable si les fichiers originaux ont changé depuis que le patch a été généré. </para
+><para
+>Quand lancé à l'intérieur de KPart, KDiff3 ne propose qu'une comparaison à deux fichiers, une barre d'outils et un menu très petits. La fusion et la comparaison de dossiers n'est donc pas gérée. </para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Foire Aux Questions</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry
+><question
+><para
+>Pourquoi l'appeler "KDiff3" ? </para
+></question
+><answer
+><para
+>Des outils nommés "KDiff" et "KDiff2" (désormais appelé "Kompare") existent déjà. "KDiff3" suggère aussi qu'il peut fusionner comme l'outil "diff3" dans la collection des Outils Diff. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Pourquoi le logiciel est-il sous licence GPL ? </para
+></question
+><answer
+><para
+>J'utilise les programmes GPL depuis très longtemps désormais et j'ai appris beaucoup de choses en jetant un oeil aux sources. Voici mon "Merci" à tous les programmeurs qui ont aussi ou qui feront aussi de même. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Certains boutons ou fonctions sont manquantes. Quel est le problème ? </para
+></question
+><answer
+><para
+>Vous avez compilé depuis la source mais vous n'avez probablement pas spécifier le bon préfixe de KDE lors de la configuration. Par défaut configure veut installer dans /usr/local mais dans ce cas KDE ne peut trouver le fichier de ressource de l'interface utilisateur (c.é.d. kdiff3ui.rc). Le fichier README contient plus d'informations à propos du préfixe correct. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Souvent les lignes similaires mais non identiques apparaissent côte à côte mais parfois pas. Pourquoi ? </para
+></question
+><answer
+><para
+>Les lignes ou seules les quantités d'espaces sont différentes sont traitées comme "égales", tandis qu'une différence d'un caractère seulement peut changer l'état des lignes en "différentes". Si des lignes similaires apparaissent côte à côte, c'est actuellement une coïncidence mais heureusement c'est souvent le cas. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Pourquoi tous les conflits doivent-ils être résolus avant que le résultat de la fusion puisse être enregistré ? </para
+></question
+><answer
+><para
+>Pour chaque section égale ou différente, l'éditeur dans la fenêtre de résultat de la fusion se souvient ou elle commence ou se termine. Cela est nécessaire pour que les conflits puissent être résolus manuellement en sélectionnant simplement le bouton de source (A, B ou C). Cette information sera perdue quand vous enregistrerez un texte et c'est trop compliqué de créer un format de fichier spécial supportant l'enregistrement et la restauration de toutes les informations nécessaires. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Pourquoi l'éditeur dans la fenêtre de résultat n'a pas de fonction "annuler" ? </para
+></question
+><answer
+><para
+>C'était très compliqué jusqu'à présent. Vous pouvez toujours restaurer une version depuis une source (A, B ou C) en cliquant sur le bouton respectif. Pour une édition importante, l'utilisation d'un autre éditeur comme Kwrite est recommandée. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Quand j'ai supprimé du texte, soudainement, "&lt;Pas de ligne de la source&gt;" est apparu et ne peut être supprimé. Qu'est-ce que cela signifie et comment supprimer cela ? </para
+></question
+><answer
+><para
+>Pour chaque section égale ou différente, l'éditeur dans la fenêtre de résultat de fusion se souvient, de son début et de sa fin. "&lt;Pas de ligne de la source&gt;" signifie qu'il n'y a plus rien dans une section, même plus de caractère de nouvelle ligne. Cela peut apparaître soit lors de la fusion automatique ou lors de l'édition. Ce n'est pas un problème, étant donné que cela n'apparaîtra pas dans le fichier enregistré. Si vous voulez que la source originale réapparaisse, sélectionnez juste la section (un clic sur la colonne de résumé de gauche) et cliquez alors le bouton de source avec le contenu nécessaire (A/B ou C). </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Pourquoi KDiff3 ne supporte-t-il pas le surlignement des syntaxes ? </para
+></question
+><answer
+><para
+>KDiff3 utilise déjà beaucoup de couleurs pour le surlignement des différences. Plus de surlignement amènerait de la confusion. Utilisez un autre éditeur pour cela. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Il y a beaucoup d'informations ici, mais votre question ne trouve toujours pas de réponse ? </para
+></question
+><answer
+><para
+>Veuillez m'envoyer vos questions. J'apprécie chaque commentaire. </para
+></answer
+></qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<title
+>Remerciements et licence</title>
+
+<para
+>&kdiff3; - Outil de Comparaison et de Fusion de Fichiers et Dossier </para>
+<para
+>Programme protégé par copyright 2002-2004 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+<para
+>Beaucoup de bonnes idées et de rapports de bogue viennent de collègues et de beaucoup d'inconnus du Web. Merci ! </para>
+
+<para
+>Documentation Copyright &copy; 2002-2004 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+
+<para
+>&traducteurSimonDepiets;</para
+> 
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<sect1 id="getting-kdiff3">
+<title
+>Comment obtenir &kdiff3;</title>
+
+<para
+>Vous pouvez télécharger la dernière version de KDiff3 depuis sa page web <ulink url="http://kdiff3.sourceforge.net"
+>http://kdiff3.sourceforge.net</ulink
+>. </para
+><para
+>KDiff3 est aussi disponibles sur d'autres plates-formes. Veuillez vous reporter à la page web pour plus de détails. </para>
+
+
+</sect1>
+
+<sect1 id="requirements">
+<title
+>Configuration minimale</title>
+
+<para
+>Pour utiliser avec succès toutes les fonctionnalités de &kdiff3;, vous aurez besoin de &kde; 
+>3.1. </para
+><para
+>Pour plus d'informations sur le lancement de KDiff3 sur d'autres plates-formes sans KDE, veuillez vous reportez à la <ulink url="http://kdiff3.sourceforge.net"
+>page web</ulink
+>. </para
+><para
+>Vous pouvez trouver une liste des changements sur<ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+>http://kdiff3.sourceforge.net/ChangeLog</ulink
+> ou dans le fichier "ChangeLog" de la source. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilation et Installation</title>
+
+<para
+>Pour compiler et installer &kdiff3; sur un système avec KDE, saisissez ce qui suit dans le dossier de base de votre dossier de &kdiff3; :</para>
+
+<screen
+><prompt
+>%</prompt
+> <userinput
+><command
+>./configure --prefix=<replaceable
+>dos-kde</replaceable
+></command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+> install</userinput
+>
+</screen>
+<para
+><replaceable
+>dos-kde</replaceable
+> spécifie le dossier contenant KDE sur votre système. Si vous ne connaissez pas celui-ci, lisez le fichier README pour les détails. </para>
+<para
+>Étant donné que &kdiff3; utilise <command
+>autoconf</command
+> et <command
+>automake</command
+> vous ne devriez pas avoir de problèmes à les compiler. Si vous rencontriez des problèmes, veuillez les reporter aux listes de diffusion &kde;.</para>
+
+</sect1>
+
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
--- a/kdiff3/doc/it/index.docbook	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/it/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -27,7 +27,7 @@
 > <affiliation
 ><address
 > <email
->joachim.eibl@gmx.de</email>
+>joachim.eibl at gmx.de</email>
 </address
 ></affiliation>
 </author>
@@ -45,27 +45,27 @@
 ></address
 ></affiliation
 ><contrib
->Traduzione della documentazione</contrib
+>Traduzione della documentazione -2004</contrib
 ></othercredit
 > <othercredit role="translator"
 ><firstname
->Stelvio</firstname
+>Andrea</firstname
 ><surname
->Rosset</surname
+>Celli</surname
 ><affiliation
 ><address
 ><email
->srosset@satelgroup.net</email
+>a.celli@caltanet.it</email
 ></address
 ></affiliation
 ><contrib
->Correzione della traduzione </contrib
+>Aggiornamento e revisione della traduzione - 2005</contrib
 ></othercredit
 >  
 
 <copyright>
 <year
->2002-2003</year>
+>2002-2005</year>
 <holder
 >Joachim Eibl</holder>
 </copyright>
@@ -83,9 +83,9 @@
 Do NOT change these in the translation. -->
 
 <date
->2003-12-07</date>
+>2005-01-30</date>
 <releaseinfo
->0.9.80</releaseinfo>
+>0.9.87</releaseinfo>
 
 
 <abstract>
@@ -99,11 +99,11 @@
 ></listitem>
 <listitem
 ><para
->mostra la loro differenza linea per linea o carattere per carattere(!), </para
+>mostra le loro differenze riga per riga o carattere per carattere(!), </para
 ></listitem>
 <listitem
 ><para
->fornendo semplici automatismi per la fusione,</para
+>fornisce semplici automatismi per fonderli,</para
 ></listitem>
 <listitem
 ><para
@@ -111,16 +111,20 @@
 ></listitem>
 <listitem
 ><para
->rendendo trasparente la rete con l'uso di KIO,</para
+>rende trasparente la rete con l'uso di KIO,</para
 ></listitem>
 <listitem
 ><para
->ha opzioni per mostrare o nascondere le variazioni di spazi bianchi o di commenti.</para
+>permette di nascondere o mostrare le differenze costituite da spazi bianchi o commenti,</para
+></listitem>
+<listitem
+><para
+>supporta l'Unicode, UTF-8 e altre codifiche.</para
 ></listitem>
 </itemizedlist>
 </para
 ><para
->Questo documento descrive la versione 0.9.80 di KDiff3. </para>
+>Questo documento descrive la versione 0.9.87 di KDiff3. </para>
 </abstract>
 
 <!-- This is a set of Keywords for indexing by search engines.
@@ -145,11 +149,11 @@
 <keyword
 >compare</keyword>
 <keyword
->files</keyword>
+>file</keyword>
 <keyword
->directories</keyword>
+>directory</keyword>
 <keyword
->version control</keyword>
+>controllo versione</keyword>
 <keyword
 >three-way-merge</keyword>
 <keyword
@@ -177,19 +181,19 @@
 >Introduzione</title>
 <sect1 id="why"
 ><title
->Un'altra interfaccia per comparare file?</title>
+>Un'altra interfaccia per confrontare file?</title>
 <para
->Per la comparazione dei file esistono numerosi strumenti grafici. Perché scegliere KDiff3? Lascia che ti dica perché l'ho scritto. </para
+>Per la comparazione dei file esistono numerosi strumenti grafici. Perché dovresti scegliere KDiff3? Lascia che ti spieghi perché l'ho scritto. </para
 ><para
 >KDiff3 è nato perché dovevo eseguire una difficile fusione tra file. La fusione è necessaria quando molte persone, in un progetto, lavorano sugli stessi file. La fusione può essere piuttosto automatica, quando gli strumenti di fusione non solo permettono la modifica dei nuovi file ("rami") ma anche del file originale ("base"). Lo strumento per la fusione sceglierà automaticamente solo le modifiche eseguite all'interno di un ramo. Quando più persone cambiano le stesse righe, allora lo strumento di fusione trova un conflitto che dovrà essere risolto manualmente. </para
 ><para
->La fusione era quindi difficile in quanto uno aveva cambiato molte cose e corretto l'indentazione in molti punti. Un altro aveva inoltre variato molto testo in alcuni file, i quali risultavano in conflitto nell'operazione di fusione. </para
+>In quel caso la fusione era difficile in quanto uno aveva cambiato molte cose e corretto l'indentazione in molti punti. Inoltre, un altro aveva variato molto testo in alcuni file, dando luogo a molti conflitti durante l'operazione di fusione. </para
 ><para
->Lo strumento che utilizzai mostrava solamente le linee variate, ma non cosa era cambiato all'interno di esse. Inoltre non c'era nessuna informazione riguardo la variazione di indentazione. La fusione era un piccolo incubo. </para
+>Lo strumento che utilizzai mostrava solamente le righe variate, ma non cosa era cambiato all'interno di esse. Inoltre non c'era nessuna informazione riguardo la variazione di indentazione. La fusione era un piccolo incubo. </para
 ><para
 >Così fu l'inizio. La prima versione poteva mostrare le differenze all'interno di una riga e la differenza degli spazi bianchi. Successivamente molte altre caratteristiche furono introdotte per aumentarne l'utilità. </para
 ><para
->Per esempio se vuoi comparare velocemente alcuni testi, è possibile copiarne il contenuto negli appunti, quindi incollarlo in una finestra di KDiff3. </para
+>Per esempio, se vuoi comparare velocemente alcuni testi, è possibile copiarne il contenuto negli appunti e quindi incollarlo in una finestra di KDiff3. </para
 ><para
 >Una caratteristica che ha richiesto un grosso sforzo è stata la comparazione tra directory e la funzione di fusione, le quali hanno trasformato il programma in un vero e proprio navigatore di file. </para
 ><para
@@ -213,7 +217,7 @@
 ></screenshot>
 
 <para
->È supportata la fusione di tre file. Questa è particolarmente utile se due persone variano indipendentemente il codice. Il file originale (il file base) è utilizzato per aiutare KDiff3 a selezionare automaticamente i corretti cambiamenti. Sotto le finestre che evidenziano le differenze una finestra di modifica ti permetterà di risolvere i conflitti riscontrati, mostrandone il risultato ottenuto. Potrai inoltre modificare il risultato delle operazioni. Questa schermata mostra il risultato di fusione di tre file in ingresso: </para
+>È supportata la fusione di tre file. Questa è particolarmente utile se due persone variano indipendentemente il codice. Il file originale (il file base) è utilizzato per aiutare KDiff3 a selezionare automaticamente i cambiamenti da salvare. Sotto le finestre che evidenziano le differenze una finestra di modifica ti permetterà di risolvere i conflitti riscontrati, mostrandone il risultato ottenuto. Potrai inoltre modificare il risultato delle operazioni. Questa schermata mostra il risultato della fusione di tre file in ingresso: </para
 ><para>
 <screenshot
 ><mediaobject>
@@ -242,7 +246,7 @@
 ><title
 >Indicazione delle differenze per riga e per carattere</title>
 <para
->Utilizzando tutte le visualizzazioni grafiche a colori, KDiff3 visualizza esattamente qual'è la differenza. Quando hai la necessità di fare molte revisioni di codice, gradirai questo. </para>
+>Sfruttando le possibilità dei monitor grafici a colori, KDiff3 evidenzia accuratamente quali sono le differenze. Quando avrai la necessità di fare molte revisioni di codice, apprezzerai questo aiuto. </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -255,7 +259,7 @@
 ><title
 >Vedere le differenze di spazi bianchi a colpo d'occhio</title>
 <para
->Saranno visibili spazi e tabulatori che risultano diversi. Quando le linee differiscono solamente di uno spazio bianco questo potrà essere subito visibile nella colonna di sommario posizionata sul lato sinistro. (Non preoccuparti più quando le persone cambieranno l'indentazione.) </para>
+>Saranno visibili spazi e tabulatori che risultano diversi. Quando le righe differiscono solamente di uno spazio bianco questo potrà essere subito visibile nella colonna di sommario posizionata sul lato sinistro. Non dovrai più preoccuparti quando qualcuno cambia l'indentazione! </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -266,13 +270,13 @@
 
 <sect2
 ><title
->Verifica con tre file</title>
+>Confronto tra tre file</title>
 <para
 >Analizza tre file e verifica dove differiscono. </para
 ><para
 >Le finestre sinistra/centrale/destra si chiamano A/B/C ed hanno rispettivamente il colore /blu/verde/magenta. </para
 ><para
->Se un file è uguale ed un altro è diverso in una linea allora il colore mostrerà come è diverso. Il colore rosso significa che entrambi gli altri file sono diversi. </para>
+>Se per una riga due file sono uguali ed un altro è diverso, il colore mostrerà quello diverso. Il colore rosso significa che tutti i file sono diversi. </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -302,15 +306,15 @@
 ></listitem>
    <listitem
 ><para
->Seleziona e copia da una qualsiasi finestra ed incolla nella finestra del risultato di fusione.</para
+>Seleziona e copia da una qualsiasi finestra ed incolla nella finestra del risultato della fusione.</para
 ></listitem>
    <listitem
 ><para
->Colonna che mostra dove sono i cambiamenti ed i conflitti.</para
+>Colonna riassuntiva, che mostra dove sono i cambiamenti ed i conflitti.</para
 ></listitem>
    <listitem
 ><para
->È possibile impostare i diversi colori secondo le tue specifiche esigenze.</para
+>È possibile modificare i colori secondo le tue preferenze personali.</para
 ></listitem>
    <listitem
 ><para
@@ -346,6 +350,18 @@
 ></listitem>
    <listitem
 ><para
+>Accapo per righe lunghe.</para
+></listitem>
+   <listitem
+><para
+>Supporto per l'Unicode, UTF-8 e altri codec.</para
+></listitem>
+   <listitem
+><para
+>Supporto per le lingue scritte da destra a sinistra.</para
+></listitem>
+   <listitem
+><para
 >...</para
 ></listitem>
 </itemizedlist>
@@ -355,7 +371,7 @@
 
 <chapter id="documentation"
 ><title
->Documentazione della comparazione e fusione del file</title>
+>Confronto e fusione tra file</title>
 
 <sect1 id="commandline"
 ><title
@@ -394,7 +410,7 @@
 
 <sect2
 ><title
->Compara 3 file: </title>
+>Confronta 3 file: </title>
 <screen
 ><command
 >kdiff3</command
@@ -435,7 +451,7 @@
 ><title
 >Caso particolare: File con lo stesso nome </title>
 <para
->Se tutti i file hanno lo stesso nome ma si trovano in posizioni diverse, è possibile specificare solamente il nome del primo file. Es.: </para>
+>Se tutti i file hanno lo stesso nome ma si trovano in directory diverse, è possibile specificare solamente il nome del primo file. Es.: </para>
 <screen
 ><command
 >kdiff3</command
@@ -447,9 +463,9 @@
 
 <sect2
 ><title
->Linea di comando per avviare il confronto e la fusione di una directory: </title>
+>Riga di comando per avviare il confronto e la fusione tra directory: </title>
 <para
->Questo è molto simile, ma ora trattiamo directory.</para>
+>Non cambia molto, ma ora lavoriamo su delle directory.</para>
 <screen
 ><command
 >kdiff3</command
@@ -474,18 +490,30 @@
 >
 </screen>
 <para
->Per maggiori informazioni sulla comparazione e fusione di direcory leggere <link linkend="dirmerge"
+>Per maggiori informazioni su confronto e fusione tra directory leggi <link linkend="dirmerge"
 >qui</link
 >.</para>
 </sect2>
 
 <sect2
 ><title
->Per maggiori informazioni sulle opzioni dalla riga di comando usa: </title>
+>Per maggiori informazioni sulle opzioni della riga di comando usa: </title>
 <screen
 ><command
 >kdiff3</command
 > --help
+Opzioni:
+  -m, --merge               Fondi l'input.
+  -b, --base file           Fissa il file di base. Per compatibilità con alcuni programmi.
+  -o, --output file           File di output. Implica -m. Es.: -o nuovofile.txt
+  --out file              File di output (Per compatibilità con alcuni programmi).
+  --auto                    Senza GUI se tutti i conflitti possono essere risolti automaticamente (richiede -o file)
+  --qall                    Non risolve i conflitti automaticamente. (Per compatibilità...)
+  --L1 alias1               Sostituzione del nome visibile per file input 1 (base).
+  --L2 alias2               Sostituzione del nome visibile per file input 2.
+  --L3 alias3               Sostituzione del nome visibile per file input 3.
+  -L, --fname alias         Sostituzione del nome visibile alternativo. Da specificare per ogni input.
+  -u                        Non ha effetti. Per compatibilità con alcuni programmi.
 </screen>
 </sect2>
 
@@ -503,28 +531,28 @@
 </mediaobject
 ></screenshot>
 <para
->Il dialogo di apertura file permette di digitare il nome del file, selezionare un file con il navigatore ("File...") o di scegliere i file più recenti da una lista a comparsa. Quando aprirai nuovamente il dialogo di selezione file verrà mantenuto l'ultimo file selezionato. Il nome del terzo file non è richiesto. Se il campo per "C" rimane vuoto, le operazioni di comparazione implicheranno solamente i primi due. </para
+>Il dialogo di apertura file permette di digitare il nome del file, di selezionare un file con il navigatore ("File...") o di scegliere i file più recenti da una lista a comparsa. Quando aprirai nuovamente il dialogo di selezione dei file vi troverai i nomi dei file in uso. Il nome del terzo file non è richiesto. Se il campo per "C" rimane vuoto, le operazioni di confronto riguarderanno solo due file. </para
 ><para
 >Puoi anche selezionare una directory con "Directory...". Se per A è specificata una directory allora sarà automaticamente attivata la comparazione/fusione di directory. Se A specifica un file ma B e C o l'output specifica una directory, allora KDiff3 utilizza il nome del file di A nella directory specificata. </para
 ><para
->Se viene selezionato "Fusione" allora l'opzione "Output" diverrà modificabile. Ma non è richiesto di specificare subito il nome del file in uscita. Potrai specificarlo successivamente. </para
+>Se viene selezionato "Fusione", allora l'opzione "Output" diverrà modificabile. Ma non è richiesto di specificare subito il nome del file in uscita. Potrai specificarlo successivamente. </para
 ><para
->L'opzione "Configura..." apre un dialogo di opzioni, in modo che tu possa impostare le varie opzioni prima di avviare l'analisi. </para>
+>L'opzione "Configura..." apre un menu di opzioni, in modo che tu possa impostare le varie opzioni prima di avviare l'analisi. </para>
 </sect1>
 
 <sect1 id="pasteinput"
 ><title
 >Incolla e trascina l'input</title>
 <para
->Molte volte vuoi comparare parti di testo che non sono di tua proprietà. KDiff3 permette anche di incollare testo dagli appunti nella finestra di verifica delle differenze selezionata. L'analisi delle differenze apparirà immediatamente. Nel dialogo di selezione file non avrai la necessità di specificare i file, potrai semplicemente chiudere con l'opzione "Annulla". </para
+>Molte volte vuoi comparare parti di testo che non sono un file. KDiff3 permette anche di incollare testo dagli appunti nella finestra di verifica delle differenze selezionata. L'analisi delle differenze apparirà immediatamente. Nel dialogo di selezione file non avrai la necessità di specificare i file, potrai semplicemente chiudere con l'opzione "Annulla". </para
 ><para
->È possibile utilizzare il trascinamento: prendi un file dal filemanager o seleziona un testo da un editor e trascinalo dentro la finestra di verifica. </para
+>È possibile utilizzare il trascinamento: prendi un file dal file manager o seleziona un testo da un editor e trascinalo dentro una finestra di verifica. </para
 ><para
->Qual'è l'idea? Alcune volte un file contiene due funzioni simili, ma per controllarne il grado di similitudine sarebbe dispendioso se tu dovessi prima creare due file e quindi ricaricarli. Ora puoi semplicemente copiare, incollare e comparare la sola parte di interesse. </para
+>Qual è l'idea? Alcune volte un file contiene due funzioni simili, ma per controllarne il grado di similitudine sarebbe dispendioso se tu dovessi prima creare due file e quindi ricaricarli. Ora puoi semplicemente copiare, incollare e comparare la sola parte di interesse. </para
 ><para
->Nota: Attualmente non è possibile trascinare qualsiasi file da KDiff3. È supportato solamente il trascinamento del file nella finestra di verifica delle differenze. </para
+>Nota: Attualmente non è possibile trascinare qualsiasi cosa all'interno di KDiff3. Puoi solo portare qualcosa nella finestra di verifica delle differenze. </para
 ><para
->Attenzione: Alcuni editor interpretano il trascinamento in altri programmi come operazioni di taglia (invece che copia) ed incolla. In questa maniera i dati originali andrebbero quindi persi. </para>
+>Attenzione: Alcuni editor interpretano il trascinamento in altri programmi come operazioni di taglia (invece che copia) ed incolla. In tal caso i dati originali andrebbero quindi persi. </para>
 </sect1>
 
 <sect1 id="interpretinginformation"
@@ -537,19 +565,19 @@
 </mediaobject
 ></screenshot>
 <para
->Sopra ad ogni finestra di testo c'è la "linea informativa". L'informazione della finestra di ingresso contiene una lettera "A", "B" o "C", il nome del file ed il numero di riga della prima linea visibile nella finestra. (Nota che "C" è opzionale). Ogni linea informativa appare con colori diversi. (Se i percorsi sono troppo lunghi, è possibile muovere il mouse sulla riga informativa e un suggerimento visualizzerà l'intero nome.) </para
+>Sopra ad ogni finestra di testo c'è una "riga informativa". Queste righe contengono una lettera "A", "B" o "C", il nome del file ed il numero della prima riga visibile nella finestra. (Nota che "C" è opzionale). Ogni riga informativa appare con colori diversi. (Se i percorsi sono troppo lunghi, è possibile muovere il mouse sulla riga informativa e un suggerimento visualizzerà l'intero nome). </para
 ><para
->Alle tre finestre di input sono assegnate le lettere "A", "B" e "C". "A" ha il colore blu, "B" ha il colore verde e "C" ha il colore magenta. (Questi colori sono i predefiniti, ma possono essere variati dal menu delle impostazioni.) </para
+>Alle tre finestre di input sono assegnate le lettere "A", "B" e "C". "A" è colorata di blu, "B" di verde e "C" di rosso. Questi sono i colori predefiniti, ma puoi cambiarli dal menu delle impostazioni. </para
 ><para
->Quando si trova una differenza allora il colore mostra quale file di ingresso differisce. Quando entrambi i file di input differiscono allora il colore utilizzato per evidenziare questo sarà il rosso ("Colore di conflitto" nelle impostazioni). Questo schema di colori è molto utile nel caso di tre file di ingresso, che discuteremo nella prossima sezione (<link linkend="merging"
+>Quando si trova una differenza allora il colore mostra quale file di ingresso differisce. Quando entrambi gli altri file di input differiscono il colore utilizzato per evidenziare questo sarà il rosso ("Colore di conflitto" nelle impostazioni). Questo schema di colori è molto utile nel caso di tre file di ingresso, che discuteremo nella prossima sezione (<link linkend="merging"
 >Fusione</link
 >). </para
 ><para
->A sinistra di ogni testo è posizionata la "colonna di sommario". Se ci sono differenze su una riga, la colonna di sommario mostrerà il colore corrispondente. Nel sommario le differenze di soli spazi bianchi saranno evidenziate con una griglia. Per i linguaggi di programmazione in cui non è importante la posizione degli spazi bianchi è molto utile notare a colpo d'occhio se qualcosa di importante è stato variato. (In C/C++ lo spazio bianco è importante solamente all'interno delle stringhe, commenti, comandi di preprocessione, e solo in altre situazioni molto esoteriche.) </para
+>A sinistra di ogni testo è posizionata la "colonna di sommario". Se ci sono differenze su una riga, la colonna di sommario mostrerà il colore corrispondente. Nel sommario le differenze di soli spazi bianchi saranno evidenziate con una griglia. Per i linguaggi di programmazione in cui non è importante la posizione degli spazi bianchi è molto utile notare a colpo d'occhio se qualcosa di importante è stato variato. (In C/C++ lo spazio bianco è importante solamente all'interno delle stringhe, commenti, istruzioni per il preprocessore e solo in altre situazioni molto particolari). </para
 ><para
->La linea verticale che separa la colonna di sommario ed il testo è interrotta se il file di input non presenta linee in questo punto. </para
+>La linea verticale che separa la colonna di sommario ed il testo è interrotta se il file di input non presenta righe in questo punto. Quando è attivato il ritorno a capo questa linea verticale apparirà punteggiata in corrispondenza delle righe che vanno a capo. </para
 ><para
->Sul lato destro, a sinistra della barra di scorrimento, è presente una colonna informativa. Essa mostra sinteticamente la colonna di sommario dell'ingresso "A". Differenze e conflitti sono visibili a colpo d'occhio. Quando vengono utilizzate solo due finestre di input, tutte le differenze appaiono in rosso, in quanto ogni differenza è un conflitto. Un rettangolo nero incornicia la parte visibile dell'input. Per file di ingresso molto lunghi, quando il numero delle righe è maggiore dell'altezza, in pixel, della colonna di sommario, molte righe di ingresso condividono una unica riga sommaria. Un conflitto quindi ha priorità su semplici differenze, che non hanno priorità sui cambiamenti, così nessuna differenza o conflitto viene perso. Con un clic sopra questa colonna di sommario, il testo corrispondente verrà visualizzato. </para>
+>Sul lato destro, a sinistra della barra di scorrimento, è presente una colonna informativa. Essa mostra sinteticamente la colonna di sommario dell'ingresso "A". Differenze e conflitti sono visibili a colpo d'occhio. Quando vengono utilizzate solo due finestre di input, tutte le differenze appaiono in rosso, in quanto ogni differenza è un conflitto. Un rettangolo nero incornicia la parte visibile dell'input. Per file di ingresso molto lunghi, quando il numero delle righe è maggiore dell'altezza, in pixel, della colonna di sommario, molte righe di ingresso condividono un'unica riga di sommario. Un conflitto qui ha priorità sulle semplici differenze, che hanno priorità sui "non-cambiamenti". In tal modo così nessuna differenza o conflitto viene perso. Con un clic sopra questa colonna di sommario, il testo corrispondente verrà visualizzato. </para>
 </sect1>
 
 
@@ -563,25 +591,25 @@
 </mediaobject
 ></screenshot>
 <para
->La finestra di modifica del risultato di fusione (sotto la finestra di ingresso) ha anche una linea informativa sovrastante che mostra "Output:", il nome del file e "[Modificato]" se qualcosa è stato variato. Normalmente essa contiene del testo creato dagli automatismi della fusione, ma spesso conterrà anche conflitti. </para
+>Anche la finestra di modifica del risultato della fusione (sotto la finestra di ingresso) ha una riga informativa sovrastante che mostra "Output:", il nome del file e "[Modificato]" se qualcosa è stato variato. Normalmente essa contiene del testo creato dagli automatismi della fusione, ma spesso conterrà anche dei conflitti. </para
 ><para
->!!! Il salvataggio è disabilitato fino a quando i conflitti non sono risolti !!! (Usa l'opzione "Vai al precedente/prossimo conflitto non risolto" per ricercare i conflitti rimanenti.) </para
+>!!! Il salvataggio è disabilitato fino a quando tutti i conflitti non sono risolti !!! (Usa l'opzione "Vai al precedente/prossimo conflitto non risolto" per ricercare i conflitti rimanenti). </para
 ><para
->Con soli due file di ingresso ogni differenza è un conflitto che deve essere risolto manualmente. </para
+>Se i file di ingresso sono solodue, ogni differenza è un conflitto che deve essere risolto manualmente. </para
 ><para
->Con tre file di input il primo è considerato come base, mentre il secondo ed il terzo contengono le modifiche. Quando in qualche linea solo il file B o il file C presenta una differenza, ma non entrambi, allora il file modificato sarà automaticamente selezionato. Solo quando B e C hanno delle differenze sulle stesse righe il programma si accorgerà del conflitto il quale dovrà essere risolto manualmente. Quando B e C coincidono, ma differiscono con A, allora sarà selezionato C. </para
+>Con tre file di input il primo è considerato come base, mentre il secondo ed il terzo contengono le modifiche. Quando in qualche riga solo il file B o il file C presenta una differenza, ma non entrambi, allora il file modificato sarà automaticamente selezionato. Solo quando B e C hanno delle differenze sulle stesse righe il programma si accorgerà del conflitto il quale dovrà essere risolto manualmente. Quando B e C coincidono, ma differiscono con A, allora sarà selezionato C. </para
 ><para
->La finestra di modifica del risultato di fusione ha anche una colonna di sommario sulla sinistra. Essa mostra la lettera dell'input da dove la linea è stata selezionata o nulla se tutte le tre sorgenti hanno la stessa riga. Per i conflitti essa mostra un punto interrogativo "?" e la riga mostra "&lt;Conflitto nel fondere&gt;", tutto in rosso. Dato che risolvere conflitti riga per riga richiede molto tempo, le righe sono raggruppate per gruppi con le stesse caratteristiche di differenza e conflitto. Saranno separati solo i conflitti di spazi bianchi dai conflitti di spazi non bianchi in modo da facilitare la fusione dei file in cui l'indentazione, su molte righe, cambia. </para
+>La finestra di modifica del risultato di fusione ha anche una colonna di sommario sulla sinistra. Essa mostra la lettera dell'input da dove la riga è stata selezionata o nulla se tutte le tre sorgenti hanno la stessa riga. Per i conflitti essa mostra un punto interrogativo "?" e la riga mostra "&lt;Conflitto nel fondere&gt;", tutto in rosso. Dato che risolvere conflitti riga per riga richiede molto tempo, le righe sono raggruppate per gruppi con le stesse caratteristiche di differenza e conflitto. Saranno separati solo i conflitti di spazi bianchi dai conflitti di spazi non bianchi in modo da facilitare la fusione dei file in cui l'indentazione, su molte righe, cambia. </para
 ><para
->Quando si fa clic sulla colonna di sommario con il tasto sinistro del mouse in una finestra, il gruppo appartenente a quella riga sarà selezionato in tutte le finestre e la parte iniziare del gruppo sarà visualizzata. (Questo potrebbe coinvolgere un posizionamento automatico nella finestra se l'inizio del gruppo non è visibile.) Questo gruppo diverrà quindi il "gruppo corrente". Esso è visualizzato con il "Colore di fondo per questo intervallo corrente" e una barra nera apparirà sul lato sinistro del testo. </para
+>Quando si fa clic sulla colonna di sommario con il tasto sinistro del mouse in una finestra, il gruppo appartenente a quella riga sarà selezionato in tutte le finestre e la parte iniziare del gruppo sarà visualizzata. (Questo potrebbe coinvolgere un posizionamento automatico nella finestra se l'inizio del gruppo non è visibile). Questo gruppo diverrà quindi il "gruppo corrente". Esso è visualizzato con il "Colore di fondo per questo intervallo corrente" e una barra nera apparirà sul lato sinistro del testo. </para
 ><para
->I punsanti di selezione dell'ingresso contengono le lettere "A", "B" e "C" nella barra dei pulsanti sotto la barra dei menu. Quando si fa un clic su un pulsante di selezione dell'ingresso, le righe di questo input saranno aggiunte alla fine del gruppo selezionato se questo gruppo non conteneva già tale testo. Altrimenti le righe di questo file di ingresso saranno rimosse. </para
+>I pulsanti di selezione dell'ingresso contengono le lettere "A", "B" e "C" nella barra dei pulsanti sotto la barra dei menu. Quando si fa un clic su un pulsante di selezione dell'ingresso, le righe di questo input saranno aggiunte alla fine del gruppo selezionato se questo gruppo non conteneva già tale testo. Altrimenti le righe di questo file di ingresso saranno rimosse. </para
 ><para
->Inoltre puoi modificare direttamente qualsiasi linea. La colonna di sommario mostrerà "m" su ogni riga che hai modificato. </para
+>Inoltre puoi modificare direttamente qualsiasi riga. La colonna di sommario mostrerà "m" su ogni riga che hai modificato. </para
 ><para
->Alcune volte, quando una linea viene rimossa dalla fusione automatica o da una modifica manuale, e non rimangono altre righe nel gruppo, allora apparirà in questa linea il messaggio &lt;Riga origine mancante&gt;. Questa posizione verrà mantenuta dal gruppo nel caso tu cambiassi idea e volessi sezionare qualche altro sorgente. Questo testo non verrà ripostato nel file salvato o in altre selezioni che desideri copiare ed incollare. </para
+>Alcune volte, quando una riga viene rimossa dalla fusione automatica o da una modifica manuale, e non rimangono altre righe nel gruppo, allora apparirà in questa riga il messaggio &lt;Riga origine mancante&gt;. Questa posizione verrà mantenuta dal gruppo nel caso tu cambiassi idea e volessi sezionare qualche altro sorgente. Questo testo non verrà reimmesso nel file salvato o in altre selezioni che desideri copiare ed incollare. </para
 ><para
->Il testo "&lt;Fondi conflitti&gt;" apparirà negli appunti se copi ed incolli del testo contenente questa linea. Fai comunque attenzione nell'eseguire tale operazione. </para
+>Il testo "&lt;Fondi conflitti&gt;" apparirà negli appunti se copi ed incolli del testo contenente questa riga. Fai comunque attenzione nell'eseguire tale operazione. </para
 ><para
 >La normale fusione partirà per la risoluzione automatica di semplici conflitti. Ma il menu "Fondi" permette alcune azioni per altre comuni necessità. Se devi selezionare lo stesso sorgente per molti conflitti, potrai selezionare sempre "A", "B" o "C", o solamente per i conflitti non risolti restanti, o per i conflitti di spazi bianchi non risolti. Se vuoi decidere tu stesso ogni singola differenza "Considera le differenze come conflitti". O se vuoi ritornare all'opzione automatica di KDiff3 seleziona "Risolvi automaticamente i conflitti semplici". KDiff3 riavvierà quindi la fusione. Per azioni che cambiano le tue precedenti modifiche KDiff3 ti chiederà la conferma prima di procedere. </para
 ><para
@@ -596,33 +624,33 @@
 ><para
 >È possibile utilizzare la rotellina del mouse solo per scorrere su e giù. </para
 ><para
->Per modificare il risultato della fusione di file puoi utilizzare solamente i tasti di modifica. Puoi invertire la modalità di inserimento e sovrascrittura con il tasto insert. (la modalità di inserimento è quella predefinita.) </para
+>Per modificare il risultato della fusione di file puoi utilizzare solamente i tasti di modifica. Puoi invertire la modalità di inserimento e sovrascrittura con il tasto insert. (la modalità di inserimento è quella predefinita). </para
 ><para
->Premendo il pulsante sinistro del mouse dentro una colonna di sommario saranno aggiornate tutte le finestre, che mostreranno l'inizio dello stesso gruppo di linee (come spiegato nella sezione <link linkend="merging"
+>Premendo il pulsante sinistro del mouse dentro una colonna di sommario saranno aggiornate tutte le finestre, che mostreranno l'inizio dello stesso gruppo di righe (come spiegato nella sezione <link linkend="merging"
 >"Fusione"</link
 >). </para
 ><para
 >La barra dei pulsanti contiene inoltre altri pulsanti di navigazione con i quali è possibile saltare alla corrente/prima/ultima differenza, alla prossima/precedente differenza (ctrl-giù/ctrl-su), al prossimo/precedente conflitto (ctrl-pgdown/ctrl-pgup), o al prossimo/precedente conflitto non risolto. Nota che per KDiff3 un "conflitto" che non è stato automaticamente risolto all'inizio della fusione permane "conflitto"anche se risolto. Quindi la necessità di distinguere "conflitti non risolti". </para
 ><para
->C'è anche un pulsante "Vai automaticamente al prossimo conflitto non risolto dopo aver selezionato la fonte" (Avanzamento automatico). Selezionandolo quando un sorgente è selezionato, KDiff3 salterà automaticamente alla selezione del prossimo conflitto non risolto. Questo può aiutare quando scegli solamente un unico file di ingresso. Quando hai bisogno di entrambi i sorgenti, o vuoi modificare dopo la selezione, vorrai probabilmente disattivarlo. Prima di procedere al prossimo conflitto non risolto KDiff3 mostrerà l'effetto della tua scelta per un breve periodo. Questo tempo è modificabile nell'impostazione di Verifica &amp; Fusione: È possibile specificare la "Pausa nell'avanzamento automatico" in millisecondi tra 0 e 2000. Suggerimento: Stanco di troppi Clic? - Quando ci sono molti conflitti usa un tempo basso di avanzamento automatico e le scorciatorie Ctrl-1/2/3 per selezionare A/B/C. </para>
+>C'è anche un pulsante "Vai automaticamente al prossimo conflitto non risolto dopo aver selezionato la fonte" (Avanzamento automatico). Selezionandolo quando un sorgente è selezionato, KDiff3 salterà automaticamente alla selezione del prossimo conflitto non risolto. Questo può aiutare quando scegli solamente un unico file di ingresso. Quando hai bisogno di entrambi i sorgenti, o vuoi modificare dopo la selezione, vorrai probabilmente disattivarlo. Prima di procedere al prossimo conflitto non risolto KDiff3 mostrerà l'effetto della tua scelta per un breve periodo. Questo tempo è modificabile nell'impostazione di Verifica &amp; Fusione: È possibile specificare la "Pausa nell'avanzamento automatico" in millisecondi tra 0 e 2000. Suggerimento: Stanco di troppi Clic? - Quando ci sono molti conflitti usa un tempo basso di avanzamento automatico e le scorciatoie Ctrl-1/2/3 per selezionare A/B/C. </para>
 </sect1>
 
 <sect1 id="selections"
 ><title
 >Selezione, Copia ed Incolla</title>
 <para
->La finestre dell'ingresso non mostra un cursore, così le selezioni devono essere fatte con il mouse, fai clic con il tasto sinistro all'inizio, e, mentenendolo premuto, muoversi fino a fine selezione, dove dovrai rilasciare il tasto. Con un doppio clic è possibile selezionare una unica parola. Nella finestra del risultato è possibile selezionare anche tramite la tastiera, mantenendo il tasto "shift" e muovendosi con i tasti del cursore. </para
+>La finestre dell'ingresso non mostra un cursore, così le selezioni devono essere fatte con il mouse, fai clic con il tasto sinistro all'inizio, e, mantenendolo premuto, muoversi fino a fine selezione, dove dovrai rilasciare il tasto. Con un doppio clic è possibile selezionare una unica parola. Nella finestra del risultato è possibile selezionare anche tramite la tastiera, mantenendo il tasto "shift" e muovendosi con i tasti del cursore. </para
 ><para
->Per copiare negli appunti è necessario premere il pulsante "Copia" (Crtl-C o Ctrl-Ins). Ma esiste anche l'opzione "Copia automatica". Se attiva, ognivolta che si seleziona del testo esso verrà copiato immediatamente e non dovrai esplicitarlo. Presta però attenzione all'utilizzo perché i contenuti degli appunti potrebbero accidentalmente essere distrutti. </para
+>Per copiare negli appunti è necessario premere il pulsante "Copia" (Ctrl-C o Ctrl-Ins). Ma esiste anche l'opzione "Copia automatica". Se attiva, ogni volta che si seleziona del testo esso verrà copiato immediatamente e non dovrai esplicitarlo. Presta però attenzione all'utilizzo perché i contenuti degli appunti potrebbero accidentalmente essere distrutti. </para
 ><para
->"Taglia" (Crtl-X o Shift-Delete) copia il testo selezionato negli appunti e lo elimina, mentre "Incolla" (Crtl-V o Shift-Insert) inserisce il testo contenuto negli appunti nella posizione corrente o in sostituzione all'attuale selezione. </para>
+>"Taglia" (Ctrl-X o Shift-Delete) copia il testo selezionato negli appunti e lo elimina, mentre "Incolla" (Ctrl-V o Shift-Insert) inserisce il testo contenuto negli appunti nella posizione corrente o in sostituzione all'attuale selezione. </para>
 </sect1>
 
 <sect1 id="saving"
 ><title
 >Salvataggio</title>
 <para
->Il salvataggio sarà permesso solamente quando tutti i conflitti saranno risolti. Se il file esiste e l'opzione "File di copia" è abilitata allora il file esistente sarà rinominato con estensione ".orig", ma se tale file esiste sarà rimosso. All'uscita o all'avvio di un'altra analisi delle differenze se il risultato non è stato ancora salvato KDiff3 richiederà se si vuole salvare, annullare o procedere senza salvare. (KDiff3 non intercetta nessun segnale. Quindi se si esegue un "kill" di KDiff3 tutti i dati saranno persi.) </para
+>Il salvataggio sarà permesso solamente quando tutti i conflitti saranno risolti. Se il file esiste e l'opzione "File di copia" è abilitata allora il file esistente sarà rinominato con estensione ".orig", ma se tale file esiste sarà rimosso. All'uscita o all'avvio di un'altra analisi delle differenze se il risultato non è stato ancora salvato KDiff3 richiederà se si vuole salvare, annullare o procedere senza salvare. (KDiff3 non intercetta nessun segnale. Quindi se si esegue un "kill" di KDiff3 tutti i dati saranno persi). </para
 ><para
 >I terminatori di riga sono salvati secondo il metodo tradizionale del sistema operativo. Per i sistemi Unix la riga termina con il solo carattere "\n", mentre per i sistemi Win32 ogni riga termina con i caratteri ritorno a capo + nuova riga "\r\n". KDiff3 non mantiene il terminatore originale del file, quindi non utilizzare KDiff3 con i file binari. </para>
 </sect1>
@@ -644,7 +672,7 @@
 ><title
 >Tipo di caratteri</title>
 <para
->Seleziona un tipo carattere a larghezza fissa. (in alcuni sistemi questo dialogo potrebbe presentare anche la selezione della larghezza del font, ma non è consigliabile usarla.) </para>
+>Seleziona un tipo carattere a larghezza fissa. (in alcuni sistemi questo dialogo potrebbe presentare anche la selezione della larghezza del font, ma non è consigliabile usarla). </para>
 <variablelist>
    <varlistentry
 ><term
@@ -789,7 +817,7 @@
 ></term
 ><listitem
 ><para
->Quando premi Invio o Return verrà utilizzata, per la nuova riga, l'indentazione della linea precedente. </para
+>Quando premi Invio o Return verrà utilizzata, per la nuova riga, l'indentazione della riga precedente. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -805,11 +833,21 @@
    <varlistentry
 ><term
 ><emphasis
+>Tipo di fine riga:</emphasis
+></term
+><listitem
+><para
+>Quando salvi un file puoi decidere il modo con cui vengono terminate le righe. La modalità preimpostata è quella abituale del sistema operativo in uso. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
 >Usa la codifica locale:</emphasis
 ></term
 ><listitem
 ><para
->Per la visualizzazione di caratteri stranieri. Provare a cambiare questo se alcuni caratteri della tua lingua non sono correttamente visualizzati. </para
+>Per la visualizzazione di caratteri non ASCII. Puoi provare a cambiarla se alcuni caratteri della tua lingua non vengono visualizzati correttamente. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -855,11 +893,11 @@
    <varlistentry
 ><term
 ><emphasis
->Trasforma in maiuscolo:</emphasis
+>Ignora maiuscole:</emphasis
 ></term
 ><listitem
 ><para
->Normalmente disabilitato. Converte l'input in maiuscolo durante la lettura. Così la comparazione non è sensibile alle maiuscole/minuscole. Attenzione durante la fusione perché la tale informazione sarà persa anche durante l'operazione di fusione. </para
+>Normalmente disabilitato. I caratteri che differiscono solo per essere maiuscoli o minuscoli (come "A" e "a") saranno trattati come le variazioni nel numero di spazi bianchi. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -869,27 +907,31 @@
 ></term
 ><listitem
 ><para
->Quando un file viene letto, esso sarà inoltrato come ingresso a questo comando esterno. Il risultato del comando sarà considerato al posto del file originale. Potrai scrivere il tuo preprocessore per le tue esigenze. Utilizzalo per tagliare parti di file che disturbano, o per correggere automaticamente l'indentazione ecc. </para
+>Vedi la <link linkend="preprocessors"
+>prossima sezione</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
 ><term
 ><emphasis
->Preprocessore per confronto righe:</emphasis
+>Comando del preprocessore per confrontare righe:</emphasis
 ></term
 ><listitem
 ><para
->Quando un file viene letto, esso viene trattato da questo comando esterno. Se un comando del preprocessore (vedi sopra) viene specificato, allora l'uscita dal preprocessore è anche l'ingresso del preprocessore di verifica. Il risultato sarà usato durante la fase di analisi di ricerca delle linee. Puoi scrivere il tuo preprocessore personalizzato che risolverà i tuoi casi. Ogni linea di input deve avere una linea corrispondente in uscita. </para
+>Vedi la <link linkend="preprocessors"
+>prossima sezione</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
 ><term
 ><emphasis
->Ricerca tenace:</emphasis
+>Ricerca approfondita:</emphasis
 ></term
 ><listitem
 ><para
->Ricerca approfondita per ricercare la più piccola differenza. (Normalmente attiva.)  Questo sarà probabilmente utile per file complicati e lunghi. E lento per file molto lunghi. </para
+>Ricerca approfondita per ricercare la più piccola differenza (Normalmente attiva). Questo sarà probabilmente utile per file complicati e lunghi. E lento per file molto lunghi. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -909,7 +951,7 @@
 ></term
 ><listitem
 ><para
->Automaticamente risolve tutti i conflitti di spazi bianchi scegliendo lo specifico file. (Scelta manuale predefinita.) Utile se lo spazio bianco non è importante in molti file. Se hai bisogno di questo solo occasionalmente è meglio usare "Scegli A/B/C per tutti i conflitti non risolti di spazio bianco" nel menu di fusione. Nota che se hai abilitato l'opzione "Ignora numeri" o "Ignora commenti C/C++" allora questa auto selezione verrà applicata anche per i conflitti nei numeri o nei commenti. </para
+>Automaticamente risolve tutti i conflitti di spazi bianchi scegliendo lo specifico file (Scelta manuale predefinita). Utile se lo spazio bianco non è importante in molti file. Se hai bisogno di questo solo occasionalmente è meglio usare "Scegli A/B/C per tutti i conflitti non risolti di spazio bianco" nel menu di fusione. Nota che se hai abilitato l'opzione "Ignora numeri" o "Ignora commenti C/C++" allora questa auto selezione verrà applicata anche per i conflitti nei numeri o nei commenti. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -941,9 +983,87 @@
 
 <sect2
 ><title
+>Opzioni locali e per la lingua</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Lingua:</emphasis
+></term
+><listitem
+><para
+>Cambia la lingua usata per l'interfaccia utente. Le modifiche a questa opzione non hanno effetto immediato sul programma. Devi chiudere Kdiff3 e riavviarlo affinché la lingua venga cambiata. Questa opzione non è disponibile nella versione KDE di KDiff3 perché la lingua viene cambiata tramite le impostazioni globali di KDE. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Usa la stessa codifica per tutto:</emphasis
+></term
+><listitem
+><para
+>Le opzioni di codifica che seguono possono essere fissate separatamente per ogni voce o, se questa opzione è attivata, il primo valore vale per tutti. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Codifica locale:</emphasis
+></term
+><listitem
+><para
+>Davanti al selettore di codec appare una nota che ti dice quale è la codifica locale. Non è modificabile, serve solo a ricordarti quale è la codifica locale nel caso che tu non lo sapessi già. tuttavia devi selezionarla. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Codifica per i file A/B/C:</emphasis
+></term
+><listitem
+><para
+>Cambia la codifica dei file in ingresso. Ha effetto sulla visualizzazione dei caratteri speciali. Poiché puoi aggiustare separatamente le codifiche, potrai confrontare e fondere file prodotti con codifiche diverse. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Codifica per i file fusione e salvataggio:</emphasis
+></term
+><listitem
+><para
+>Quando avrai modificato un file, potrai scegliere con quale codifica salvarlo sul disco fisso. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Codifica per i file sottoposti al preprocessore:</emphasis
+></term
+><listitem
+><para
+>Quando definisci un preprocessore questo deve essere in grado di operare sulla codifica in uso. Ad esempio i tuoi file sono 16-bit-unicode e il tuo preprocessore può operare solo su file 8-bit-ascii. Con questa opzione puoi definire la codifica del risultato del preprocessore. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Lingue scritte da destra a sinistra:</emphasis
+></term
+><listitem
+><para
+>Alcune lingue sono scritte sa destra a sinistra. Quando questa opzione è attivata KDiff3 scrive i testi da destra a sinistra nelle finestre per il confronto e per la fusione. Nota che se avvii KDiff3 da riga di comando con l'opzione "--reverse", anche tutta l'interfaccia grafica sarà scritta da destra a sinistra. Questa è una potenzialità fornita da Qt. Questa documentazione è stata scritta pensando che l'opzione "Lingue scritte da destra a sinistra" e l'aspetto grafico "reverse" non siano attivati. Altrimenti alcuni riferimenti a "destra" e "sinistra" dovranno essere scambiati per utilizzare correttamente queste opzioni. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
 >Varie</title>
 <para
->(Queste opzioni ed azioni sono disponibile nei menu o nelle barre dei pulsanti.)</para>
+>(Queste opzioni ed azioni sono disponibile nei menu o nelle barre dei pulsanti).</para>
 <variablelist>
   <varlistentry
 ><term
@@ -972,7 +1092,27 @@
 ></term
 ><listitem
 ><para
->Disabilita questo per sopprimere ogni evidenziazione di spazi bianchi cambiati nel testo o nelle colonne di sommario. (Nota che questo è anche applicato a cambiamenti nei numeri o nei commenti se sono attive le opzioni "Ignora numeri" o "Ignora commenti C/C++".)</para
+>Disabilita questo per sopprimere ogni evidenziazione di spazi bianchi cambiati nel testo o nelle colonne di sommario (Nota che questo è anche applicato a cambiamenti nei numeri o nei commenti se sono attive le opzioni "Ignora numeri" o "Ignora commenti C/C++").</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Opzioni di impaginazione:</emphasis
+></term
+><listitem
+><para
+>Queste opzioni sono disponibili solo quando si confrontano tre file. Nella modalità normale tutte le differenze vengono mostrate in una colonna riassuntiva con colori codificati. Però, a volte, potrebbe servirti evidenziare solo le differenze tra due dei tre file. Selezionando confronto di "A con B", "A con C" o "B con C" si aprirà, a fianco di quella normale, una seconda colonna riassuntiva con le informazioni richieste. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>A capo nelle finestre delle differenze:</emphasis
+></term
+><listitem
+><para
+>Le righe più lunghe della larghezza della finestra vengono mostrate su più righe. </para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -982,7 +1122,7 @@
 ></term
 ><listitem
 ><para
->Alle volte vuoi usare meglio lo spazio dello schermo per righe lunghe. Nascondere le finestre che non sono importanti. (Nel menu di Finestra.)</para
+>Alle volte vuoi usare meglio lo spazio dello schermo per righe lunghe. Nascondere le finestre che non sono importanti (Nel menu di Finestra).</para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -992,7 +1132,7 @@
 ></term
 ><listitem
 ><para
->Inverti tra la finestra delle differenze e le altre (A a sinistra di B a sinistra di C) o sopra le altre (A sopra B sopra C). Questo potrebbe anche aiutare in presenza di molte righe. (Nel menu di Finestra.) </para
+>Inverti tra la finestra delle differenze e le altre (A a sinistra di B a sinistra di C) o sopra le altre (A sopra B sopra C). Questo potrebbe anche aiutare in presenza di molte righe (Nel menu di Finestra). </para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -1006,7 +1146,7 @@
 ><imageobject
 ><imagedata fileref="merge_current.png" format="PNG"/></imageobject
 ></inlinemediaobject
-> "Fondi il file corrente" nel menu di Directory funziona anche solo comparando due file. Un solo clic ed inizia la fusione che utilizza, come predefinito, il nome del file dell'ultimo file considerato. (Quando questo è utilizzato per far ripartire la fusione, allora il nome del file di output sarà mantenuto.)</para
+> "Fondi il file corrente" nel menu di Directory funziona anche solo comparando due file. Un solo clic ed inizia la fusione che utilizza, come predefinito, il nome del file dell'ultimo file considerato (Quando questo è utilizzato per far ripartire la fusione, allora il nome del file di output sarà mantenuto).</para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -1016,7 +1156,324 @@
 ><title
 >Configurazione delle scorciatoie da tastiera</title>
 <para
->Attualmente solo la versione KDE supporta la configurazione personalizzata dei tasti scorciatoria. (Menu Impostazioni->Configurazione Scorciatoie...) </para>
+>Attualmente solo la versione KDE supporta la configurazione personalizzata dei tasti scorciatoia. (Menu Impostazioni->Configurazione Scorciatoie...) </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Comandi per il preprocessore</title>
+<para
+>Kdiff3 prevede due opzioni per il preprocessore. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Comandi del preprocessore</emphasis
+></term
+><listitem
+><para
+>Quando un file viene letto, esso sarà inoltrato come ingresso a questo comando esterno. Il risultato del comando sarà considerato al posto del file originale. Potrai scrivere un tuo preprocessore in base alle tue esigenze. Utilizzalo per tagliare parti di file che disturbano, o per correggere automaticamente l'indentazione,  ecc. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Comando del preprocessore per confrontare righe:</emphasis
+></term
+><listitem
+><para
+>Quando un file viene letto, esso viene trattato da questo comando esterno. Se viene specificato un comando come preprocessore (vedi sopra), allora l'uscita dal preprocessore è anche l'ingresso del preprocessore che confronta le righe. Il risultato sarà usato durante la fase di analisi delle righe coincidenti. Puoi scrivere un tuo preprocessore personalizzato che risolva le tue esigenze. Ogni riga in ingresso deve avere una riga corrispondente in uscita. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>L'idea è quella di permettere la maggior flessibilità possibile nell'impostare il risultato del confronto. Purtroppo ciò richiede l'uso di un programma esterno, e molti utenti non hanno voglia di scriversene uno. La buona notizia è che molto spesso<command
+>sed</command
+> o <command
+>perl</command
+> sono perfettamente in grado di svolgere il lavoro richiesto. </para>
+<para
+>Un semplice esempio con un file di testo: prendi il  file a.txt (6 righe): <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> e il file b.txt (3 righe): <screen>
+      cg
+      dg
+      eg
+</screen
+> Senza un preprocessore appariranno le seguenti righe affiancate: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Probabilmente non era quello che desideravi, poiché la prima lettera contiene l'informazione realmente interessante. Per aiutare l'algoritmo di confronto ad ignorare la seconda lettera potremmo usare come preprocessore un comando che rimpiazzi riga per riga "g" con "a": <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Con questo comando il risultato del confronto sarà: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> Internamente l'algoritmo di confronto usa i file elaborati riga per riga dal preprocessore, ma sullo schermo il file non appare modificato. Un preprocessore normale avrebbe cambiato anche i dati visualizzati. </para>
+
+<sect2 id="sedbasics"
+><title
+>Basi del <command
+>sed</command
+></title>
+<para
+>Questa sezione spiega sommariamente alcune possibilità elementari di <command
+>sed</command
+>. Per maggiori informazioni vedi <ulink url="info:/sed"
+>info:/sed</ulink
+> o <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+> http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Puoi trovare una versione di sed precompilata per Windows a <ulink url="http://unxutils.sourceforge.net"
+> http://unxutils.sourceforge.net</ulink
+>. nota che gli esempi che seguono danno per scontato che l'eseguibile di <command
+>sed</command
+> sia in una directory della variabile di ambiente PATH. Se non fosse vero, dovrai specificare il percorso completo dell'eseguibile. Nota anche che negli esempi si usano le virgolette semplici ('), che non funzionano in Windows. Sotto Windows dovrai usare al loro posto le virgolette doppie ("). </para>
+<para
+>In questo paragrafo userò solo il comando di <command
+>sed</command
+> per sostituire.: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>ESPR_REGOLARE</replaceable
+>/<replaceable
+>NUOVO_TESTO</replaceable
+>/<replaceable
+>FLAG</replaceable
+>'
+</screen
+> Prima di usare un nuovo comando in Kdiff3 sarebbe meglio provarlo in una console. Per farlo è utile il comando <command
+>echo</command
+>. Ad esempio: <screen>
+   <command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obracadabra
+</screen
+> Questo esempio mostra un semplicissimo comando sed che sostituisce la prima occorrenza di "a" con "o". Se tu volessi sostituire tutte le occorrenze, ti basterebbe aggiungere il flag "g": <screen>
+   <command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrocodobro
+</screen
+> Il simbolo "|" è il comando "pipe" che incanala l'uscita dal comando precedente nell'ingresso del comando successivo. Se vuoi fare una prova su un file più lungo, puoi usare <command
+>cat</command
+> nei sistemi di tipo Unix o <command
+>type</command
+> in sistemi di tipo Windows. <command
+>sed</command
+> opererà una sostituzione riga per riga. <screen
+><command
+>cat</command
+> <replaceable
+>nome_file</replaceable
+> | <command
+>sed</command
+> <replaceable
+>opzioni</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Esempi di utilizzi di <command
+>sed</command
+> in KDiff3</title>
+<sect3
+><title
+>Ignorare altri tipi commenti</title>
+<para
+>Attualmente KDiff3 riconosce solo i commenti di C/C++. Usando il preprocessore per il confronto delle righe in ingresso puoi fare in modo che altri tipi di commento vengano ignorati. basterà convertirli in commenti di tipo C/C++. Ad esempio, per ignorare commenti che iniziano con "#", potresti convertirli in "//". Tieni presente che dovrai anche attivare l'opzione "Ignora i commenti C/C++" affinché il trucco funzioni. Un appropriato comando per preprocessore le righe potrebbe essere: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Poiché per <command
+>sed</command
+> il carattere  "/" ha un significato speciale, è necessario porre un carattere "\" prima di ogni  "/" nella stringa del nuovo testo. Spesso il carattere "\" è richiesto per aggiungere o togliere un significato speciale a certi caratteri. La virgoletta semplice (') all'inizio e alla fine del comando di sostituzione è molto importante qui. Altrimenti la shell cercherebbe di interpretare cerci caratteri speciali (ad es.  '#', '$' or '\' ) prima di passarli a <command
+>sed</command
+>. Tieni presente che in Windows devi usare le virgolette doppie (") a questo scopo. Windows sostituisce altri caratteri come "%", quindi è meglio fare qualche prova. </para>
+</sect3>
+<sect3
+><title
+>Ignorare distinzione maiuscole/minuscole</title>
+<para
+>Usa questo comando per preprocessare le righe in modo da convertire tutto in maiuscolo: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+>  ".*" è un'espressione regolare che corrisponde con tutte le stringhe e, in questo contesto, con tutti i caratteri della riga. Il "\1" nella stringa di sostituzione rappresenta il testo trovato in corrispondenza al contenuto della prima coppia di parentesi "\(" e "\)". La "\U" converte in maiuscolo il testo inserito. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorare le keyword per il controllo della versione</title>
+<para
+>CVS ed altri sistemi per il controllo delle versioni utilizzano molte parole chiave per inserire stringhe generate automaticamente (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Esse seguono lo schema comune "$KEYWORD testo generato$". A questo punto ci serve un comando per il preprocessore che rimuova solo il testo generato: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Le "\|" separano le possibili parole chiave. Puoi modificare questa lista in base alle tue esigenze. La "\" prima del "$" è necessaria, altrimenti il "$" verrebbe interpretato come "fine della riga". </para>
+<para
+>Nel provare <command
+>sed</command
+> potrai incominciare a capire ed apprezzare queste strane "espressioni regolari". Esse sono particolarmente utili perché molti altri programmi utilizzano cose molto simili. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorare i numeri</title>
+<para
+>Attualmente c'è un'opzione interna che permette di ignorare i numeri. Però è utile vedere come lo si può fare con un comando per il preprocessore.  <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Ogni carattere compreso tra le parentesi quadre verrà riconosciuto e sostituito con nulla. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorare alcune colonne</title>
+<para
+>A volte un testo è formattato molto rigorosamente e contiene delle colonne che tu vuoi ignorare, mentre ci sono altre colonne che tu vuoi esaminare. Nel seguente esempio le prime 5 colonne (ciascuna di un carattere) verranno ignorate, poi vengono salvate 10 colonne, ignorate altre cinque e salvato il resto della riga.  <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Ogni punto "." rappresenta un carattere. "\1" e "\2" nella stringa del nuovo testo indicano il contenuto della prima e seconda coppia "\(" e "\)", ossia il testo da preservare.  </para>
+</sect3>
+
+<sect3
+><title
+>Combinare piùsostituzioni</title>
+<para
+>A volte, potresti voler applicare contemporaneamente diverse sostituzioni. In tal caso basta usare un punto e virgola ";" per separarle l'una dall'altra. Ad esempio: <screen
+><command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROCODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+>Utilizzare <command
+>perl</command
+> invece di <command
+>sed</command
+></title>
+<para
+>Invece di <command
+>sed</command
+> potresti voler utilizzare un altro comando, ad esempio <command
+>perl</command
+>.  <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>ESPR_REGOLAR</replaceable
+>/<replaceable
+>NUOVO_TESTO</replaceable
+>/<replaceable
+>FLAGS</replaceable
+>'
+</screen
+> Ma in <command
+>perl</command
+> alcuni particolari sono differenti. Nota, ad esempio, che mentre <command
+>sed</command
+> vuole "\(" e "\)", in <command
+>perl</command
+> serve un più semplice "(" e ")", non precedute da '\'. Esempio: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Precedenze nel preprocessare i dati</title>
+<para
+>I dati sono incanalati (piped) attraverso tutti i preprocessori interni ed esterni nel seguente ordine: </para>
+<itemizedlist>
+<listitem
+><para
+>Preprocessore normale,</para
+></listitem>
+<listitem
+><para
+>Preprocessore esterno riga per riga,</para
+></listitem>
+<listitem
+><para
+>Ignorare differenze maiuscolo/minuscolo (tutto in maiuscolo),</para
+></listitem>
+<listitem
+><para
+>Individuare commenti C/C++:</para
+></listitem>
+<listitem
+><para
+>Ignorare i numeri,</para
+></listitem>
+<listitem
+><para
+>Ignorare spazi bianchi,</para
+></listitem>
+</itemizedlist>
+<para
+>I dati, dopo essere passati dal preprocessore normale saranno utilizzati sia per essere mostrati che fusi. Le altre operazioni modificano solo i dati visti dall'algoritmo che controlla le differenze tra le righe corrispondenti. </para
+><para
+>Nei rari casi in cui si usa il preprocessore normale bisogna tener presente che il preprocessore sul contenuto delle righe utilizza l'uscita del preprocessore normale come proprio ingresso. </para>
+</sect2>
+
+<sect2
+><title
+>Attenzione</title>
+<para
+>I comandi per il preprocessore sono spesso utilissimi ma, come succede con ogni opzione che modifichi i vostri testi o che nasconda automaticamente certe differenze, potrebbero farti sfuggire differenze significative o, nel peggiore dei casi, distruggere dati importanti. </para
+><para
+>Per questa ragione, se durante una fusione è in funzione un comando del preprocessore normale, KDiff3 ti chiederà se vuoi disattivarlo. Però non ti avviserà se è attivo un comando del preprocessore sul contenuto delle righe. La fusione non sarà completata se prima non saranno risolti tutti i conflitti. Se hai disabilitato "Mostra gli spazi bianchi" anche le differenze che son state rimosse con il preprocessore sul contenuto delle righe saranno del tutto invisibili. Se il bottone "Salva" rimane disattivato durante una fusione (perché sussistono dei conflitti), assicurati di aver attivato "Mostra gli spazi bianchi". Se poi non vorrai sistemare manualmente le differenze meno importanti, potrai azionare "Scegli [A|B|C] per per risolvere tutti i conflitti di spazi bianchi" nel menu "Fondi". </para>
 </sect2>
 </sect1>
 </chapter>
@@ -1135,7 +1592,7 @@
 > come directory di destinazione per la fusione. </para>
 
 <para
->Si noti che solamente la comparazione inizia automaticamente, non la fusione. Per questo tu devi prima selezionare un elemento del menu o il tasto F7. (Ulteriori dettagli di seguito.) </para>
+>Si noti che solamente la comparazione inizia automaticamente, non la fusione. Per questo tu devi prima selezionare un elemento del menu o il tasto F7 (Ulteriori dettagli di seguito). </para>
 </sect2>
 </sect1>
 
@@ -1233,7 +1690,7 @@
 ><title
 >La colonna dell'operazione</title>
 <para
->Dopo la comparazione delle directory KDiff3 valuterà inoltre una proposta per l'operazione di fusione. Questo è visibile nella colonna "Operazione". È possibile modificare l'operazione facendo clic sopra l'operazione che desideri cambiare. Apparirà un piccolo menu che permetterà di selezionare una operazione per quel'elemento. (Puoi anche selezionare le operazioni necessarie tramite tastiera. Ctrl+1/2/3/4/Del seleziona rispettivamente, se disponibili, A/B/C/Fondi/Cancella.) Questa operazione potrà essere eseguita durante la fusione. Dipende dall'elemento e dalla modalità di fusione in cui ti trovi, quale operazione è disponibile. La modalità di fusione è una delle </para>
+>Dopo la comparazione delle directory KDiff3 valuterà inoltre una proposta per l'operazione di fusione. Questo è visibile nella colonna "Operazione". È possibile modificare l'operazione facendo clic sopra l'operazione che desideri cambiare. Apparirà un piccolo menu che permetterà di selezionare una operazione per quell'elemento (Puoi anche selezionare le operazioni necessarie tramite tastiera. Ctrl+1/2/3/4/Del seleziona rispettivamente, se disponibili, A/B/C/Fondi/Cancella). Questa operazione potrà essere eseguita durante la fusione. Dipende dall'elemento e dalla modalità di fusione in cui ti trovi, quale operazione è disponibile. La modalità di fusione è una delle </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1346,6 +1803,14 @@
 <para
 >Durante la fusione i file saranno processati uno dopo l'altro. La colonna di stato mostrerà "Fatto" per gli elementi correttamente fusi, e altri messaggi se è accaduto qualcosa di inaspettato. Quando una fusione è completa, bisognerebbe fare un'ultima verifica per vedere se gli stati di tutti gli elementi concordano. </para>
 </sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>La colonna delle statistiche</title>
+<para
+>Quando è attiva l'opzione "Analisi completa" per il  confronto, KDiff3 mostrerà delle colonne supplementari contenenti il numero di conflitti non risolti, risolti, relativi a spazi non bianchi e relativi a spazi bianchi. La colonna dei conflitti risolti verrà mostrata solo quando si confrontano o fondono tre directory. </para>
+</sect2>
+
 </sect1>
 
 
@@ -1377,11 +1842,11 @@
 ></listitem>
 </itemizedlist>
 <para
->(Nell'attuale versione devi eseguire manualmente una riscansione tramite il menu "Directory"->"Riscandisci" solo dopo aver cambiato le opzioni che hanno effetto sulla directory scannata.) </para
+>(Nell'attuale versione devi eseguire manualmente una riscansione tramite il menu "Directory"->"Riscandisci" solo dopo aver cambiato le opzioni che hanno effetto sulla directory scansionata). </para
 ><para
 >Se così sei soddisfatto, il resto è facile. </para
 ><para
->Per fondere tutti gli elementi: Seleziona "Avvia/Continua la fuzione directory" nel menu "Directory" o premi il tasto F7 (la scorciatoia). Per fondere solamente l'elemento attualmente selezionato: Seleziona "Avvia oprazione per l'elemento corrente" o premi F6. </para
+>Per fondere tutti gli elementi: Seleziona "Avvia/Continua la funzione directory" nel menu "Directory" o premi il tasto F7 (la scorciatoia). Per fondere solamente l'elemento attualmente selezionato: Seleziona "Avvia operazione per l'elemento corrente" o premi F6. </para
 ><para
 >Se per un conflitto nel tipo di file, persiste la non validità dell'operazione scelta per alcuni file, allora apparirà un messaggio che indica elementi, in modo che tu possa selezionare un'operazione valida per essi. </para
 ><para
@@ -1407,7 +1872,7 @@
 ><para
 >Quando la fusione è completa, KDiff3 informerà quindi tramite un dialogo con messaggio. </para
 ><para
->Se alcuni elementi sono stati fusi individualmente allora KDiff3 ne terrà conto (mentre la corrente sessione di fusione avanza) e non li fonderà nuovamente fino a quando la fusione per tutti gli altri elementi non sarà eseguita. Anche quando la fusione viene saltata o non è stato salvato nulla questi elementi sono consederato completati. Solo quando cambi le operazioni di fusione l'elemento sarà nuovamente fuso. </para>
+>Se alcuni elementi sono stati fusi individualmente allora KDiff3 ne terrà conto (mentre la corrente sessione di fusione avanza) e non li fonderà nuovamente fino a quando la fusione per tutti gli altri elementi non sarà eseguita. Anche quando la fusione viene saltata o non è stato salvato nulla questi elementi sono considerati completati. Solo quando cambi le operazioni di fusione l'elemento sarà nuovamente fuso. </para>
 </sect1>
 
 <sect1 id="dirmergeoptions"
@@ -1434,7 +1899,7 @@
 ></term
 ><listitem
 ><para
->Solo i file che corrispondono al tipo saranno messi nell'albero. Più di un tipo può essere specificato utilizzando il punto e virgona ";" come separatore. Wildcards possibile: '*' e '?'. (Es. "*.cpp;*.h"). Predefinito è "*". Le directory non hanno bisogni di tali tipi.</para
+>Solo i file che corrispondono al tipo saranno messi nell'albero. Più di un tipo può essere specificato utilizzando il punto e virgola ";" come separatore. Caratteri jolly possibili: '*' e '?'. (Es. "*.cpp;*.h"). Predefinito è "*". Le directory non hanno bisogni di tali tipi.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1444,7 +1909,7 @@
 ></term
 ><listitem
 ><para
->I file e le sottodirectory che corrispondono a questo tipo saranno esclusi dall'albero. Più di uno schema potrebbe essere specificato utilizzando il punto e virgola ";" come separatore. Wildcards validi: '*' e '?'. Il predefinito è "*.orig;*.o".</para
+>I file e le sottodirectory che corrispondono a questo tipo saranno esclusi dall'albero. Più di uno schema potrebbe essere specificato utilizzando il punto e virgola ";" come separatore. Caratteri jolly validi: '*' e '?'. Il predefinito è "*.orig;*.o".</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1456,7 +1921,7 @@
 ><para
 >Ignora i file e le directory dovrebbero essere ignorate anche dal CVS. Molti file generati automaticamente sono ignorati dal CVS. Il grosso vantaggio è che questo può essere una directory specificata dal file locale ".cvsignore". (Vedi <ulink url="info:/cvs/cvsignore"
 >info:/cvs/cvsignore</ulink
->.)</para
+>).</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1466,7 +1931,7 @@
 ></term
 ><listitem
 ><para
->Su alcuni filesystem esiste l'attributo "Nascosto". Su altri sistemi il nome del file inizia con il punto "." che significa nascosto. Questa opzione permette di decidere se includere questi file nell'albero oppure no. Normalmente attivo.</para
+>Su alcuni file system esiste l'attributo "Nascosto". Su altri sistemi il nome del file inizia con il punto "." che significa nascosto. Questa opzione permette di decidere se includere questi file nell'albero oppure no. Normalmente attivo.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1486,9 +1951,10 @@
 ></term
 ><listitem
 ><para
->Per collegamenti a directory: Quando disabilitato, i collegamenti simbolici saranno comparati. Quando attivo i collegamenti saranno trattati come una directory e saranno scannate ricorsivamente. (Notare che il programma non verifica se il collegamento è "ricorsivo". Quando per esempio una che contiene un collegamento ad una directory dovrebbe causare un ciclo infinito, e dopo un po' di tempo ciò causerebbe un riempimento dello stack o l'utilizzo di tutta la memoria, causando il blocco del programma.) Normalmente disabilitato.</para
+>Per collegamenti a directory: Quando disabilitato, i collegamenti simbolici saranno comparati. Quando attivo i collegamenti saranno trattati come una directory e saranno scansionate ricorsivamente. (Notare che il programma non verifica se il collegamento è "ricorsivo". Quando per esempio una che contiene un collegamento ad una directory dovrebbe causare un ciclo infinito, e dopo un po' di tempo ciò causerebbe un riempimento dello stack o l'utilizzo di tutta la memoria, causando il blocco del programma). Normalmente disabilitato.</para
 ></listitem
-></varlistentry>
+></varlistentry
+>   
    <varlistentry
 ><term
 ><emphasis
@@ -1496,9 +1962,41 @@
 ></term
 ><listitem
 ><para
->Solo gli elementi che non sono uguali in tutte le directory di ingresso saranno elencate e solo e file cambiati sono visibili. Quindi i file che sono uguali in tutte le directory non dovrebbero essere copiati durante una fusione e se la directory di destinazione non contiene il file prima della fusione, potresti perdere alcuni file successivamente. (Questa opzione è probabilmente diversa nelle future versioni.) Normalmente disattiva.</para
+>Solo gli elementi che non sono uguali in tutte le directory di ingresso saranno elencate e solo e file cambiati sono visibili. Quindi i file che sono uguali in tutte le directory non dovrebbero essere copiati durante una fusione e se la directory di destinazione non contiene il file prima della fusione, potresti perdere alcuni file successivamente. (Questa opzione è probabilmente diversa nelle future versioni). Normalmente disattiva.</para
 ></listitem
 ></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Modalità di confronto dei file:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Confronto binario:</emphasis
+></term
+><listitem
+><para
+>Questa è la modalità di confronto predefinita. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Analisi completa:</emphasis
+></term
+><listitem
+><para
+>Opera un analisi approfondita di ogni file e mostra le colonne con le informazioni statistiche (numero di conflitti non risolti, risolti, relativi a spazi non bianchi e relativi a spazi bianchi). L'analisi completa è più lenta di una semplice analisi binaria, e ancora più lenta se applicata a file non di testo. (Indica il "file-antipatterns" appropriato). </para
+></listitem
+></varlistentry
+>         
    <varlistentry
 ><term
 ><emphasis
@@ -1506,7 +2004,7 @@
 ></term
 ><listitem
 ><para
->Se si comparano directory lunghe in una rete lenta, potrebbe essere più veloce comparare solamente le date di modifica e la dimensione del file. Ma questo aumento di velocità ha il prezzo di una piccola incertezza. Usare questa opzione con cura. Normalmente disattiva.</para
+>Se si comparano directory lunghe in una rete lenta, potrebbe essere più veloce comparare solamente le date di modifica e la dimensione del file. Ma questo aumento di velocità ha il prezzo di un piccola incertezza. Usare questa opzione con cura. Normalmente disattiva.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1519,6 +2017,11 @@
 >Simile a considerare la data di modifica. Non avviene una reale comparazione. Due file sono considerati uguali se la loro dimensione risulta uguale. Questo è utile quando l'operazione di copia file non ha mantenuto la data di modifica. Usa questa opzione con cautela. Normalmente disabilitata.</para
 ></listitem
 ></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
    <varlistentry
 ><term
 ><emphasis
@@ -1536,7 +2039,7 @@
 ></term
 ><listitem
 ><para
->Invece di fondere l'operazione proposta copierà il sorgente più recente se appena cambiato. (Considerato pericoloso, perché ciò implica la conoscenza, che gli altri file non siano stati ancora modificati. Verifica in ogni caso per essere sicuro.) Normalmente disattivata.</para
+>Invece di fondere l'operazione proposta copierà il sorgente più recente se appena cambiato. (Considerato pericoloso, perché ciò implica la conoscenza, che gli altri file non siano stati ancora modificati. Verifica in ogni caso per essere sicuro). Normalmente disattivata.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1596,7 +2099,7 @@
 </screen>
 </para>
 <para
->La prima linea compara un file locale con un file su un server FTP. La seconda linea compara una directory all'interno di un un archivio compresso con una directory locale. </para
+>La prima riga confronta un file locale con un file su un server FTP. La seconda riga confronta una directory all'interno di un un archivio compresso con una directory locale. </para
 ><para
 >Altri slave KIO interessanti sono: </para>
 <itemizedlist>
@@ -1614,7 +2117,7 @@
 ></listitem>
 <listitem
 ><para
->Windows-ressources (smb:),</para
+>Windows-resources (smb:),</para
 ></listitem>
 <listitem
 ><para
@@ -1647,7 +2150,7 @@
 ></listitem
 ><listitem
 ><para
->I caratteri speciali devono essere scritti con l'"escaping". ("#"->"%23", spazio->"%20", ecc.) Es. Un file con nome "/#foo#" dovrebbe avere l'URL "file:/%23foo%23". </para
+>I caratteri speciali devono essere scritti con l'"escaping". ("#"->"%23", spazio->"%20", ecc.) Es. Un file con nome "/#pippo#" dovrebbe avere l'URL "file:/%23pippo%23". </para
 ></listitem
 ><listitem
 ><para
@@ -1663,7 +2166,7 @@
 <para
 >La trasparenza della rete ha uno svantaggio. Non tutte le risorse hanno le stesse possibilità. </para
 ><para
->Alcune volte questo è causato dal filesystem del server, altre volte dal protocollo. Di seguito una breve lista delle limitazioni: </para>
+>Alcune volte questo è causato dal file system del server, altre volte dal protocollo. Di seguito una breve lista delle limitazioni: </para>
 <itemizedlist>
 <listitem
 ><para
@@ -1683,7 +2186,7 @@
 ></listitem
 ><listitem
 ><para
->Non è possibile modificare permessi o date di modifica, altrimenti i permessi e la data della copia sarebbero diversi dall'originale. (Vedere l'opzione "Basati sulla dimensione".) (L'operazione è permessa solamente per i file locali.) </para
+>Non è possibile cambiareare permessi o date di modifica, altrimenti i permessi e la data della copia sarebbero diversi dall'originale. (Vedere l'opzione "Basati sulla dimensione"). Queste operazioni sono permesse solo per i file locali. </para
 ></listitem>
 </itemizedlist>
 </sect2>
@@ -1693,7 +2196,7 @@
 <title
 >Usare &kdiff3; come un KPart</title>
 <para
->&kdiff3; è un KPart. Attualmente esso implementa l'interfacciaKParts::ReadOnlyPart. </para
+>&kdiff3; è un KPart. Attualmente esso implementa l'interfaccia KParts::ReadOnlyPart. </para
 ><para
 >In KDevelop l'uso principale è come visualizzatore di differenze. KDevelop fa sempre partire prima il visualizzatore delle differenze interno. Per richiamare KDiff3 premi il tasto destro del mouse nella finestra delle differenze e seleziona "Mostra nel KDiff3Part" dal menu contestuale. </para
 ><para
@@ -1822,24 +2325,24 @@
 <para
 >&kdiff3; - Strumento per comparare e fondere file e directory </para>
 <para
->Program copyright 2002-2003 Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Copyright sul programma 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
 > </para>
 <para
->Sono ben accette nuove idee e segnalazioni di errori da collegli e da tutte le persone della grande rete WWW. Grazie! </para>
+>Sono ben accette nuove idee e segnalazioni di errori da colleghi e da tutte le persone della grande rete WWW. Grazie! </para>
 
 <para
->Copyright della documentazione &copy; 2002-2003 Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Copyright della documentazione &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
 > </para>
 
 <para
->Traduzione Stelvio Rosset <email
+>Traduzione 2004: Stelvio Rosset <email
 >srosset@satelgroup.net</email
 ></para
 ><para
->Correzione della traduzione Stelvio Rosset <email
->srosset@satelgroup.net</email
+>Aggiornamento e revisione della traduzione (2005): AndreaCelli <email
+>a.celli@caltanet.it</email
 ></para
 > 
 &underFDL; &underGPL; </chapter>
@@ -1867,9 +2370,7 @@
 >Requisiti</title>
 
 <para
->Per utilizzare al meglio tutte le funzionalità di &kdiff3; è necessario una versione di &kde; superiore alla 3.1. È raccomandato l'utilizzo degli strumenti di verifica dei file (diff-tool) scaricabili dal sito <ulink url="http://www.gnu.org/software/diffutils/diffutils.html"
->GNU-diff-utils</ulink
->. </para
+>Per sfruttare tutte le potenzialità di &kdiff3; serve &kde;3.1 o successivo. </para
 ><para
 >Per informazioni riguardanti KDiff3 su altre piattaforme sprovviste di KDE si rimanda a <ulink url="http://kdiff3.sourceforge.net"
 >homepage</ulink
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/nl/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,4 @@
+KDE_DOCS = kdiff3
+KDE_LANG = nl
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/nl/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2407 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+  <!ENTITY kdiff3 "<application
+>KDiff3</application
+>">
+  <!ENTITY kappname "&kdiff3;">
+  <!ENTITY package "kdeextragear-1">
+  <!ENTITY % addindex "IGNORE">
+  <!ENTITY % Dutch "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Het handboek van &kdiff3;</title>
+
+<authorgroup>
+<author
+><firstname
+>Joachim</firstname
+> <surname
+>Eibl</surname
+> <affiliation
+><address
+> <email
+>joachim.eibl at gmx.de</email>
+</address
+></affiliation>
+</author>
+</authorgroup>
+
+&Sander.Koning; 
+
+<copyright>
+<year
+>2002-2005</year>
+<holder
+>Joachim Eibl</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook
+     and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-01-30</date>
+<releaseinfo
+>0.9.87</releaseinfo>
+
+
+<abstract>
+<para
+></para>
+<para
+>&kdiff3; is een hulpmiddel om bestanden en mappen te vergelijken en samen te voegen dat <itemizedlist>
+<listitem
+><para
+>twee of drie tekstbestanden of mappen vergelijkt en samenvoegt,</para
+></listitem>
+<listitem
+><para
+>de verschillen regel-voor-regel en teken-voor-teken(!) aangeeft,</para
+></listitem>
+<listitem
+><para
+>een automatische samenvoegfunctie biedt,</para
+></listitem>
+<listitem
+><para
+>een editor heeft voor het comfortabel oplossen van samenvoegconflicten,</para
+></listitem>
+<listitem
+><para
+>netwerktransparantie via KIO biedt,</para
+></listitem>
+<listitem
+><para
+>opties heeft voor het accentueren of verbergen van wijzigingen in witruimte of commentaar,</para
+></listitem>
+<listitem
+><para
+>Unicode, UTF-8 en andere bestandscoderingen ondersteunt.</para
+></listitem>
+</itemizedlist>
+</para
+><para
+>Dit document beschrijft KDiff3 versie 0.9.87. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear</keyword>
+<keyword
+>kdiff3</keyword>
+<keyword
+>verschil</keyword>
+<keyword
+>samenvoegen</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>drievoudig verschil</keyword>
+<keyword
+>vergelijken</keyword>
+<keyword
+>bestanden</keyword>
+<keyword
+>mappen</keyword>
+<keyword
+>versiebeheer</keyword>
+<keyword
+>drievoudig samenvoegen</keyword>
+<keyword
+>verschillen in regels</keyword>
+<keyword
+>synchroniseren</keyword>
+<keyword
+>kpart</keyword>
+<keyword
+>kio</keyword>
+<keyword
+>netwerktransparant</keyword>
+<keyword
+>editor</keyword>
+<keyword
+>witruimte</keyword>
+<keyword
+>commentaar</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction"
+><title
+>Inleiding</title>
+<sect1 id="why"
+><title
+>Alweer een front-end voor diff?</title>
+<para
+>Er bestaan diverse grafische hulpmiddelen voor diff. Waarom KDiff3 gebruiken? Laat me uitleggen waarom ik het geschreven heb. </para
+><para
+>KDiff3 begon omdat ik een moeilijke samenvoegoperatie moest doen. Samenvoegen is nodig als diverse mensen aan dezelfde bestanden in een project werken. Een samenvoeging kan enigszins geautomatiseerd worden, als het samenvoeghulpmiddel daartoe niet alleen de nieuwe, gewijzigde bestanden heeft ("takken") maar ook het originele bestand ("basis"). Het samenvoeghulpmiddel kiest automatisch een verandering die alleen in één tak is gedaan. Als diverse mensen dezelfde regels veranderen, detecteert het samenvoeghulpmiddel een conflict dat handmatig opgelost moet worden. </para
+><para
+>De samenvoeging was moeilijk omdat één van de helpers veel dingen had gewijzigd en de insprong op veel plaatsen had verbeterd. Een andere helper had ook veel tekst in hetzelfde bestand veranderd, hetgeen in diverse samenvoegconflicten resulteerde. </para
+><para
+>Het hulpmiddel dat ik toen gebruikte toonde alleen de gewijzigde regels, maar niet wat er in die regels was gewijzigd. En er was geen informatie over of alleen de insprong gewijzigd was. Het samenvoegen was een kleine ramp. </para
+><para
+>Dus dat was het begin. De eerste versie kon verschillen binnen een regel en verschillen in witruimte tonen. Later werden veel andere mogelijkheden toegevoegd om het nut te vergroten. </para
+><para
+>Als u bijvoorbeeld snel wat tekst wilt vergelijken, kunt u het naar het klembord kopiëren en in een van de vergelijkingsvensters plakken. </para
+><para
+>Een optie die veel werk vereiste was het vergelijken en samenvoegen van mappen, dat het programma bijna in een bestandsverkenner veranderde. </para
+><para
+>Ik hoop dat KDiff3 ook voor u werkt. Veel plezier! </para
+><para
+>Joachim Eibl (2003) </para>
+</sect1>
+
+<sect1 id="screenshots"
+><title
+>Schermafdrukken en mogelijkheden</title>
+<para
+>Deze schermafdruk toont het verschil tussen twee tekstbestanden</para>
+<para
+>(met een vroege versie van KDiff3):</para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para
+>3-voudig samenvoegen wordt volledig ondersteunt. Dit is nuttig als twee mensen code onafhankelijk wijzigen. Het originele bestand (de basis) wordt gebruikt om KDiff3 te helpen bij het automatisch selecteren van de goede wijzigingen. In de samenvoeg-editor onder de verschillenvensters kunt u conflicten oplossen, terwijl u de uitvoer ziet die dat oplevert. U kunt zelfs de uitvoer wijzigen. Deze schermafdruk toont het samenvoegen van drie invoerbestanden: </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+
+<para id="dirmergebigscreenshot"
+>KDiff3 helpt u ook bij het vergelijken en samenvoegen van complete mappen. Deze schermafdruk toont KDiff3 gedurende het samenvoegen van een map. </para
+><para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="dirmergebig.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</para>
+</sect1>
+
+<sect1 id="features"
+><title
+>Meer mogelijkheden</title>
+<sect2
+><title
+>Verschillen regel-voor-regel en teken-voor-teken tonen</title>
+<para
+>Door de mogelijkheden van een grafisch kleurenbeeldscherm te gebruiken toont KDiff3 u precies wat het verschil is. U zult dit prettig vinden als u veel code moet doornemen. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="letter_by_letter.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Verschillen in witruimte in één oogopslag zien</title>
+<para
+>Spaties en tabs die verschillen worden getoond. Als regels alleen in de hoeveelheid witruimte verschillen kunt u dit in één oogopslag zien in de overzichtskolom aan de linkerkant. (Geen zorgen meer als mensen de insprong veranderen.) </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="white_space.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Drievoudig verschil</title>
+<para
+>Drie bestanden analyseren en zien waar ze verschillen. </para
+><para
+>De vensters links, midden en rechts heten A, B en C en zijn respectievelijk blauw, groen en magenta gekleurd. </para
+><para
+>Als één bestand hetzelfde is en één bestand verschilt op een regel geeft de kleur aan welk bestand verschilt. De rode kleur geeft aan dat beide andere bestanden verschillen. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="triple_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Comfortabel samenvoegen van twee of meer invoerbestanden</title>
+<para
+>U kunt KDiff3 gebruiken om twee of drie invoerbestanden samen te voegen en het samenvoegen zo veel mogelijk automatisch te laten verlopen. Het resultaat wordt getoond in een bewerkbaar venster waarin de meeste conflicten met een enkele muisklik opgelost kunnen worden: kies de knoppen A/B/C uit de knoppenbalk om de bron te kiezen die gebruikt moet worden. U kunt hier ook meer dan één bron kiezen. Aangezien dit uitvoervenster een editor is, kunnen ook conflicten die verdere correctie vereisen hier uitgevoerd worden zonder een extra hulpmiddel. </para>
+</sect2>
+
+<sect2
+><title
+>En...</title>
+<itemizedlist>
+   <listitem
+><para
+>Snelle navigatie via knoppen.</para
+></listitem>
+   <listitem
+><para
+>Een muisklik in een samenvattingskolom synchroniseert alle vensters om dezelfde positie te laten zien.</para
+></listitem>
+   <listitem
+><para
+>Selecteer en kopieer vanuit elk venster en plak het in het samengevoegde resultaatvenster.</para
+></listitem>
+   <listitem
+><para
+>Een overzichtskolom die toont waar de wijzigingen en conflicten zijn.</para
+></listitem>
+   <listitem
+><para
+>De kleuren zijn aan te passen aan uw specifieke voorkeuren.</para
+></listitem>
+   <listitem
+><para
+>Aanpasbare tabgrootte.</para
+></listitem>
+   <listitem
+><para
+>Een optie om spaties in plaats van tabs in te voegen.</para
+></listitem>
+   <listitem
+><para
+>Bestanden comfortabel openen via een dialoogvenster of bestanden opgeven op de opdrachtregel.</para
+></listitem>
+   <listitem
+><para
+>Zoeken naar tekenreeksen in alle tekstvensters. Zoek (Ctrl-F) en Volgende zoeken (F3).</para
+></listitem>
+   <listitem
+><para
+>De regelnummers voor elke regel tonen. </para
+></listitem>
+   <listitem
+><para
+>Het klembord plakken of tekst in een verschil-invoervenster slepen.</para
+></listitem>
+   <listitem
+><para
+>Netwerktransparantie via KIO.</para
+></listitem>
+   <listitem
+><para
+>Kan gebruikt worden als verschillentoner in KDevelop 3.</para
+></listitem>
+   <listitem
+><para
+>Regelafbreking voor lange regels.</para
+></listitem>
+   <listitem
+><para
+>Ondersteuning voor Unicode, UTF-8 en andere coderingen.</para
+></listitem>
+   <listitem
+><para
+>Ondersteuning voor talen die rechts-naar-links schrijven.</para
+></listitem>
+   <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="documentation"
+><title
+>Documentatie voor bestandsvergelijking en -samenvoeging</title>
+
+<sect1 id="commandline"
+><title
+>Opdrachtregel-opties</title>
+
+<sect2
+><title
+>2 bestanden vergelijken: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>2 bestanden samenvoegen: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2</replaceable
+> -o <replaceable
+>uitvoerbestand</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>3 bestanden vergelijken: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2 bestand3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>3 bestanden samenvoegen: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2 bestand3</replaceable
+> -m
+   <command
+>kdiff3</command
+> <replaceable
+>bestand1 bestand2 bestand3</replaceable
+> -o <replaceable
+>uitvoerbestand</replaceable
+>
+</screen>
+<para
+>Merk op dat <replaceable
+>bestand1</replaceable
+> als basisbestand voor <replaceable
+>bestand2</replaceable
+> en <replaceable
+>bestand3</replaceable
+> gebruikt zal worden. </para>
+</sect2>
+
+<sect2
+><title
+>Speciaal geval: bestanden met dezelfde naam </title>
+<para
+>Als alle bestanden dezelfde naam hebben maar zich in verschillende mappen bevinden, kunt u typewerk besparen door de bestandsnaam alleen voor het eerste bestand op te geven. Bijvoorbeeld: </para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>map1/bestandsnaam map2 map3</replaceable
+>
+</screen>
+</sect2>
+
+<sect2
+><title
+>Opdrachtregel voor het vergelijken of samenvoegen van mappen: </title>
+<para
+>Dit lijkt er erg op, maar gaat nu over mappen.</para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>map1 map2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>map1 map2</replaceable
+> -o <replaceable
+>doelmap</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>map1 map2 map3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>map1 map2 map3</replaceable
+> -o <replaceable
+>doelmap</replaceable
+>
+</screen>
+<para
+>Voor het vergelijken en samenvoegen van mappen kunt u <link linkend="dirmerge"
+>hier</link
+> verder lezen.</para>
+</sect2>
+
+<sect2
+><title
+>Voor meer informatie over opdrachtregel-opties gebruikt u: </title>
+<screen
+><command
+>kdiff3</command
+> --help
+Opties:
+  -m, --merge               De invoer samenvoegen.
+  -b, --base bestand        Expliciet basisbestand (voor compatibiliteit).
+  -o, --output bestand      Uitvoerbestand. Impliceert -m. Bijv: -o nieuw.txt
+  --out bestand             Uitvoerbestand. Voor compatibiliteit met bepaalde programma's.)
+  --auto                    Geen GUI als alle conflicten automatisch te doen zijn. (Vereist -o)
+  --qall                    Los conflicten niet automatisch op. (Voor compatibiliteit...)
+  --L1 alias1               Zichtbare naamvervanging voor invoerbestand1 (basis).
+  --L2 alias2               Zichtbare naamvervanging voor invoerbestand 2.
+  --L3 alias3               Zichtbare naamvervanging voor invoerbestand 3.
+  -L, --fname alias         Alternatieve zichtbare naamvervanging. Eenmaal voor elke invoer opgeven..
+  -u                        Geen effect. Voor compatibiliteit met bepaalde programma's.
+</screen>
+</sect2>
+
+</sect1>
+
+<sect1 id="opendialog"
+><title
+>Het venster "Openen"</title>
+<para
+>Aangezien veel bestanden geselecteerd moeten kunnen worden, heeft het programma een speciaal dialoogvenster hiervoor: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="open_dialog.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>In dit dialoogvenster kunt u de bestandsnamen met de hand wijzigen, een bestand via de bladeraar kiezen ("Bestand...") of recente bestanden via de afrolmenu's kiezen. Als u het dialoogvenster opnieuw opent, blijven de huidige bestandsnamen staan. Het derde invoerbestand is niet verplicht. Als het item bij "C" leeg blijft, wordt slechts een verschillenanalyse op twee bestanden uitgevoerd. </para
+><para
+>U kunt ook een map kiezen met "Map...". Als voor A een map opgegeven is wordt een vergelijking/samenvoeging op mappen gestart. Als A een bestand opgeeft maar B, C of de uitvoer een map opgeeft, gebruikt KDiff3 de bestandsnaam van A in de opgegeven mappen. </para
+><para
+>Als "Samenvoegen" geselecteerd is, kunt u de regel "Uitvoer" bewerken. Maar het is niet nodig om direct de uitvoerbestandsnaam op te geven. U kunt hiermee ook wachten tot bij het opslaan. </para
+><para
+>De knop "Instellen..." opent het optievenster, waarmee u de opties kunt instellen voordat de analyse gestart wordt. </para>
+</sect1>
+
+<sect1 id="pasteinput"
+><title
+>Invoer plakken en slepen</title>
+<para
+>Soms wilt u tekstdelen die niet in een eigen bestand staan vergelijken. KDiff3 biedt u ook de mogelijkheid tekst vanaf het klembord in een vergelijkingsvenster te plakken. De vergelijkingsanalyse begint dan direct. In het venster "Openen" hoeft u dan geen bestanden op te geven, sluit dit gewoon met "Annuleren". </para
+><para
+>U kunt ook slepen en neerzetten: Sleep een bestand uit een bestandsbeheerder of geselecteerde tekst uit een editor en zet deze neer in een verschillenvenster. </para
+><para
+>Wat is het idee? Soms bevat een bestand twee gelijksoortige functies, maar bekijken hoe gelijk ze werkelijk zijn is een grote moeite als u eerst twee bestanden moet maken en deze dan moet laden. Nu kunt u eenvoudigweg de relevante secties kopiëren, plakken, en vergelijken. </para
+><para
+>Merk op: Momenteel kunt u niets uit KDiff3 slepen. Alleen slepen naar de vergelijkingsinvoer wordt ondersteund. </para
+><para
+>Waarschuwing: Sommige editors interpreteren slepen en neerzetten in een ander programma nog steeds als knippen (in plaats van kopiëren) en plakken. Uw originele gegevens kunnen daardoor verloren gaan. </para>
+</sect1>
+
+<sect1 id="interpretinginformation"
+><title
+>De informatie in de invoervensters interpreteren</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>Bovenaan elk tekstvenster staat de "inforegel". De inforegels van de invoervensters bevatten een letter "A", "B" of "C", de bestandsnaam en het regelnummer van de eerste zichtbare regel in het venster. (Merk op dat venster "C" optioneel is.) Elke inforegel verschijnt in een aparte kleur. (Als de paden te lang zijn om te passen, kunt u de muis op de inforegel plaatsen voor een hulpballon die de complete naam toont.) </para
+><para
+>De drie invoervensters krijgen de letters "A", "B" en "C". "A" heeft de kleur blauw, "B" is groen en "C" is magenta. (Dit zijn de standaardkleuren, u kunt ze wijzigen via het menu Instellingen.) </para
+><para
+>Als er een verschil opgemerkt wordt, toont de kleur welk invoerbestand er verschilt. Als beide andere invoerbestanden verschillen is de kleur die dit aangeeft standaard rood ("Conflictkleur" in Instellingen). Dit kleurenschema is vooral handig in het geval van drie invoerbestanden, hetgeen u zult zien in de volgende sectie (<link linkend="merging"
+>Samenvoegen</link
+>). </para
+><para
+>Links van elke tekst staat een "samenvattingskolom". Als er verschillen op een regel opgetreden zijn geeft deze kolom de respectievelijke kleur aan. Voor een verschil alleen in witruimte is de samenvatting geblokt. Voor programmeertalen waar witruimte niet zo belangrijk is, is dit nuttig om te zien of er iets belangrijks veranderd is. (In C/C++ is witruimte alleen interessant binnen tekenreeksen, commentaar, voor de preprocessor, en sommige zeer uitzonderlijke situaties.) </para
+><para
+>De verticale lijn die de overzichtskolom en de tekst scheidt wordt onderbroken als het invoerbestand daar geen regels heeft. Als regelafbreking ingeschakeld is, wordt deze lijn gestippeld voor afgebroken regels. </para
+><para
+>Aan de rechterkant is een "overzichts"-kolom zichtbaar links van de verticale schuifbalk. Deze toont gecomprimeerd de samenvattingskolom van invoer "A". Alle verschillen en conflicten zijn in één oogopslag zichtbaar. Als er slechts twee invoervensters gebruikt worden, verschijnen alle verschillen in rood omdat elk verschil dan een conflict is. Een zwarte rechtoek omrandt het zichbare deel van de invoer. Voor zeer lange invoerbestanden, waarbij het aantal regels groter is dan de hoogte van de overzichtskolom in pixesl, delen diverse invoerregels één overzichtsregel. Een conflict heeft dan topprioriteit boven eenvoudige verschillen, die prioriteit hebben boven geen wijziging, zodat geen verschil of conflict verloren gaat. Door in deze overzichtskolom te klikken wordt de bijbehorende tekst getoond. </para>
+</sect1>
+
+
+<sect1 id="merging"
+><title
+>Samenvoegen en het editorvenster voor samenvoegingsuitvoer</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>Het editorvenster voor de samenvoegingsuitvoer (onder de verschil-invoervensters) heeft ook een inforegel bovenaan met "Uitvoer:", de bestandsnaam en "[gewijzigd]" als u iets bewerkt hebt. Meestal bevat dit wat tekst door de automatische samenvoegingsfunctie, maar vaak ook conflicten. </para
+><para
+>!!! Opslaan is niet mogelijk todat alle conflicten opgelost zijn !!! (Gebruik de knoppen "Ga naar vorig/volgend onopgelost conflict" om de overgebleven conflicten te vinden.) </para
+><para
+>Met maar twee invoerbestanden is elk verschil ook een conflict dat handmatig opgelost moet worden. </para
+><para
+>Met drie invoerbestanden wordt het eerste bestand als basis gebruikt, en het tweede en derde bestand bevatten wijzigingen. Als op een bepaalde regel alleen invoer B of C gewijzigd is, maar niet beide, wordt de veranderde bron gekozen. Alleen als B en C op dezelfde regel veranderd zijn, detecteert het hulpmiddel een conflict dat handmatig opgelost moet worden. Als B en C hetzelfde zijn, maar niet hetzelfde als A, wordt C gekozen. </para
+><para
+>Het editorvenster voor samenvoegingsuitvoer heeft ook links een samenvattingskolom. Deze toont de letter van de invoer waaruit een regel geselecteerd is of niets als alledrie de bronnen gelijk waren op die regel. Bij conflicten wordt een vraagteken "?" getoond en de regel toont dan "&lt;Samenvoegconflict&gt;", het geheel in rood. Omdat conflicten regel voor regel oplossen erg lang duurt, worden de regels gegroepeerd in groepen die dezelfde verschil- en conflictkenmerken hebben, Alleen-witruimte-conflicten worden gescheiden van niet-witruimte-conflicten om het samenvoegen van bestanden waarin de insprong gewijzigd is, gemakkelijker te maken. </para
+><para
+>Als u met de linkermuisknop in een samenvattingskolom klikt, wordt de groep die bij die regel hoort geselelecteerd in alle vensters en wordt het begin van de groep getoond. (Dit kan een plaatsveranderind in de vensters veroorzaken als het begin van de groep niet zichtbaar is.) Deze groep wordt dan de "huidige groep", en wordt geaccentueerd met de achtergrond voor "Huidig bereik". Verder verschijnt een zwarte balk links van de tekst. </para
+><para
+>Merk op dat de invoerselector de letters "A", "B" en "C" in de knoppenbalk bevat. Als u op een knop in de invoerselector klikt, worden de regels van die invoer toegevoegd aan het eind van de geselecteerde groep als de groep die bron nog niet bevatte. Anders worden de regels uit die invoer verwijderd. </para
+><para
+>Daarnaast kunt u direct elke regel bewerken. De samenvattingskolom toont een "m" voor elke regel die gewijzigd is. </para
+><para
+>Soms verschijnt de tekst "&lt;Geen regel in de bron&gt;" in een regel als die ofwel door automatisch samenvoegen ofwel door bewerken verwijderd is, en er geen andere regels in die groep overblijven. Dit is een plaatshouder voor de groep voor als u zich bedenkt en weer een bron aangeeft. De tekst verschijnt niet in het opgeslagen bestand of in gekopieerde of geplakte selecties. </para
+><para
+>De tekst "    Samenvoegconflict&lt;" verschijnt in het klembord als u tekst met zo'n regel kopieert en plakt. Maar wees alsnog voorzichtig.            &lt; </para
+><para
+>Het normale samenvoegen begint door het automatisch oplossen van eenvoudige conflicten. Maar het menu "Samenvoegen" biedt wat acties voor andere veelvoorkomende zaken. Als u dezelfde bron voor de meeste conflicten wilt gebruiken, kunt u "A", "B" of "C" overal kiezen, of alleen voor de overgebleven niet-opgeloste conflicten, of voor de niet-opgeloste witruimteconflicten. Als u elk apart onderscheid zelf wilt bepalen, kunt u "Elk onderscheid maken bij conflicten" instellen. Of als u terug wilt gaan naar de automatische keuzes van KDiff3 kiest u "Eenvoudige conflicten automatisch oplossen". KDiff3 herstart het samenvoegen dan. Voor acties die uw vorige wijzigingen aanpassen vraagt KDiff3 om uw instemming alvorens door te gaan. </para
+><para
+>Merk op: als u één van de bronnen voor onopgeloste witruimte-conflicten kiest, en de optie "Getallen negeren" of "C/C++ commentaar negeren" is gekozen, dan worden wijzigingen in getallen respectievelijk commentaar ook als witruimte behandeld. </para>
+</sect1>
+
+<sect1 id="navigation"
+><title
+>Navigatie en bewerken</title>
+<para
+>Veel navigatie doet u met de schuifbalken en de muis maar u kunt ook met de toetsen navigeren. Als u in een venster klikt, kunt u de pijltoesen links, rechts, omhoog en omlaag en Page Up, Page Down, Home, End, Ctrl-Home en Ctrl-End gebruiken als in andere programma's. De overzichtskolom naast de verticale schuifbalk van de invoerbestanden kan ook voor navigatie gebruikt worden door erin te klikken. </para
+><para
+>U kunt ook een wielmuis gebruiken om omhoog en omlaag te bladeren. </para
+><para
+>In de uitvoereditor kunt u ook de andere toetsen gebruiken om de tekst te bewerken. U kunt tussen invoeg- en overschrijfmodus wisselen met de toets Insert. (Standaard is invoegmodus.) </para
+><para
+>Een klik met de linker muisknop in een samenvattingskolom synchroniseert alle vensters zodat ze het begin van dezelfde groep regels tonen (zoals uitgelegd in de sectie <link linkend="merging"
+>Samenvoegen</link
+>). </para
+><para
+>De knoppenbalk heeft ook zeven navigatieknoppen waarmee u naar het huidige/eerste/laatste verschil kunt springen, naar het volgende/vorige verschil (Ctrl-omlaag/Ctrl-omhoog), naar het volgende/vorige conflict (Ctrl-PageDown/Ctrl-PageUp), of naar het volgende/vorige onopgeloste conflict. Merk op dat voor KDiff3 een "conflict" dat niet automatisch werd opgelost bij het begin van het samenvoegen een "conflict" blijft, zelfs als het wordt opgelost. Vandaar de noodzaak om "onopgeloste conflicten" te onderscheiden. </para
+><para
+>Er is ook een knop "Automatisch naar het volgende onopgeloste conflict gaan" (Automatisch doorgaan). Als u dit inschakelt, springt KDiff3 automatisch naar het volgende onopgeloste conflict, zodra u een bron hebt geselecteerd. Dit kan helpen als u altijd slechts één bron wilt kiezen. Als u beide bronnen nodig hebt, of als u na het kiezen nog wilt wijzigen, wilt u deze optie waarschijnlijk uitschakelen. Voordat u naar het volgende onopgeloste conflict gaat, toont KDiff3 u korte tijd het effect van uw keuze. Deze tijd is instelbaar in de Verschil- en samenvoeginstellingen: de tijd voor "Automatisch doorgaan" is instelbaar in milliseconden tussen 0 en 2000. Tip: Niet te veel klikken? Kies een korte tijdsduur voor Automatisch doorgaan en de sneltoetsen Ctrl-1/2/3 om A/B/C voor conflicten te selecteren. </para>
+</sect1>
+
+<sect1 id="selections"
+><title
+>Selecteren, kopiëren en plakken</title>
+<para
+>De invoervensters tonen geen cursor, dus selecteren moet gedaan worden met de muis door met de linkermuisknop aan het begin te klikken, de muisknop ingedrukt te houden en naar het eind te bewegen, waar u de muisknop weer loslaat. U kunt ook een woord selecteren door erop te dubbelklikken. In de samenvoegeditor kunt u ook met het toetsenbord selecteren met Shift en de pijltoetsen. </para
+><para
+>Om naar het klembord te kopiëren moet u de knop "Kopiëren" kiezen (Ctrl-C of Ctrl-Insert). Maar er bestaat een optie "Selectie automatisch kopiëren". Als deze is ingeschakeld, wordt geselecteerde tekst direct naar het klembord gekopieerd. Let er hierbij wel op dat bestaande inhoud van uw klembord niet per ongeluk ongewenst verwijderd wordt. </para
+><para
+>"Knippen" (Ctrl-X of Shift-Delete) kopieert de geselecteerde tekst naar het klembord en verwijdert deze; "Plakken" (Ctrl-V of Shift-Insert) voegt de tekst op het klembord in op de cursorpositie of over de huidige selectie. </para>
+</sect1>
+
+<sect1 id="saving"
+><title
+>Opslaan</title>
+<para
+>Opslaan is alleen toegestaan als alle conflicten opgelost zijn. Als het bestand al bestaat en de optie "Reservekopie" ingeschakeld is, wordt het bestaande bestand hernoemd met een extensie ".orig", een bestaande reservekopie wordt hierbij overschreven. Als u afsluit of een andere verschillenanalyse start en de gegevens nog niet zijn opgeslagen, vraagt KDiff3 u of u wilt opslaan, annuleren of doorgaan zonder opslaan. (KDiff3 vangt geen signalen. Dus als u KDiff3 "kill"t gaan uw gegevens verloren.) </para
+><para
+>Regeleindes worden opgeslagen volgens de normale methode op het onderliggende besturingssysteem. Voor Unix-systemen eindigt elke regel met een 'linefeed' "\n", terwijl op Win32-systemen elke regel met een 'carriage return' en een 'linefeed' eindigt "\r\n". KDiff3 bewaart de regeleindes van de invoerbestanden niet, hetgeen ook betekent dat u KDiff3 niet met binaire bestanden moet gebruiken. </para>
+</sect1>
+
+<sect1 id="find"
+><title
+>Tekenreeksen zoeken</title>
+<para
+>U kunt naar tekenreeksen zoeken in elk tekstvenster van KDiff3. De opdracht "Zoeken..." (Ctrl-F) in het menu Bewerken opent een venster waarin u de te zoeken tekenreeks kunt opgeven. U kunt ook de vensters opgeven waarin gezocht moet worden. Zoeken begint altijd bovenaan. Gebruik de opdracht "Volgende zoeken" (F3) om naar het volgende voorkomen door te gaan. Als u meerdere vensters opgeeft om in te zoeken wordt het eerste venster van boven naar beneden doorzocht, voordat het volgende venster weer van bovenaf wordt doorzocht, enzovoort. </para>
+</sect1>
+
+
+<sect1 id="options"
+><title
+>Opties</title>
+<para
+>Opties en de recente-bestandenlijst worden opgeslagen als u het programma afsluit, en opnieuw ingelezen als u het start. (Instellingen -> KDiff3 instellen...) </para>
+<sect2
+><title
+>Lettertype</title>
+<para
+>Kies een lettertype met vaste breedte. (Op sommige systemen toont dit dialoogvenster ook lettertypes met variabele breedte, maar die dient u liever niet te gebruiken.) </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Cursief lettertype voor onderscheiden:</emphasis
+></term
+><listitem
+><para
+>Als u dit kiest, worden tekstverschillen getoond met de cursieve versie van het geselecteerde lettertype. Als het lettertype geen cursief ondersteunt, doet dit niets.</para>
+   </listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Kleuren</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Voorgrondkleur:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk zwart. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Achtergrondkleur:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk wit. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Achtergrondkleur bij verschillen:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk lichtgrijs. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kleur voor A:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk donkerblauw. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kleur voor B:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk donkergroen. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kleur voor C:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk donkermagenta. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kleur voor conflicten:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk rood.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Achtergrondkleur voor huidig bereik:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk lichtgeel.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Achtergrondkleur voor verschillen in huidig bereik:</emphasis
+></term
+><listitem
+><para
+>Gewoonlijk donkergeel.</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Op systemen met slechts 16 of 256 kleuren zijn sommige kleuren niet beschikbaar in pure vorm. Op zulke systemen zorgt de knop "Standaard" voor een pure kleur. </para>
+</sect2>
+
+<sect2
+><title
+>Editor-instellingen</title>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Tab voegt spaties in:</emphasis
+></term
+><listitem
+><para
+>Als dit uitgeschakeld is en u de toets Tab indrukt, wordt een tab-teken ingevoegd, anders het aangegeven aantal spaties.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Tabgrootte:</emphasis
+></term
+><listitem
+><para
+>Kan ingesteld worden voor uw specifieke wensen. Standaard is 8. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Automatisch inspringen:</emphasis
+></term
+><listitem
+><para
+>Als u Enter drukt wordt de insprong van de vorige regel gebruikt voor de nieuwe. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Automatische kopieerselectie:</emphasis
+></term
+><listitem
+><para
+>Elke selectie wordt automatisch naar het klembord gekopieerd, u hoeft niet expliciet te kopiëren. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Regeleinde:</emphasis
+></term
+><listitem
+><para
+>Bij het opslaan kunt u opgeven welk regeleinde u verkiest. De standaardinstelling is de gebruikelijke keuze voor het gebruikte besturingssysteem. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Locale-codering gebruiken:</emphasis
+></term
+><listitem
+><para
+>Voor het weergeven van buitenlandse lettertekens. Probeer dit te wijzigen als sommige lettertekens in uw taal niet goed getoond worden. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Instellingen voor vergelijking &amp; samenvoeging</title>
+<para
+>Bij het vergelijken van bestanden, probeert KDiff3 eerst regels te vinden die gelijk zijn in alle invoerbestanden. Alleen gedurende deze stap wordt witruimte mogelijk genegeerd. De tweede stap vergelijkt elke regel. In deze stap wordt witruimte niet genegeerd. Ook gedurende het samenvoegen wordt witruimte niet genegeerd. </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>'Carriage return' behouden:</emphasis
+></term
+><listitem
+><para
+>Sommige editors (op sommige systemen) slaan 'carriage returns' ('\r') en 'linefeeds' ('\n') op aan het einde van een regel, terwijl andere alleen de 'linefeed' ('\n') opslaan. Normaal gesproken negeert KDiff3 de 'carriage return', maar dan kunnen bestanden niet dezelfde grootte hebben maar wel gelijk lijken. Als deze optie ingeschakeld is, worden de 'carriage returns' zichtbaar gemaakt en behandeld als witruimte. Bij samenvoegen moet deze optie uit staan. Standaard staat deze optie uit.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Getallen negeren:</emphasis
+></term
+><listitem
+><para
+>Standaard uit. Getaltekens ('0'-'9', '.', '-') worden genegeerd in het eerste deel van de analyse waarin regels worden vergeleken. In het resultaat worden de verschillen wel getoond, maar behandeld als witruimte. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>C/C++ commentaar negeren:</emphasis
+></term
+><listitem
+><para
+>Standaard uit. Wijzigingen in commentaar worden behandeld als wijzigingen in witruimte. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Geen onderscheid hoofd-/kleine letters:</emphasis
+></term
+><listitem
+><para
+>Standaard uit. Verschillen in hoofd-/kleine letters ('A' en 'a') worden behandeld als verschillen in witruimte. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Preprocessorcommando:</emphasis
+></term
+><listitem
+><para
+>Zie <link linkend="preprocessors"
+>de volgende sectie</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Preprocessor-commando alleen voor regelcontroles:</emphasis
+></term
+><listitem
+><para
+>Zie <link linkend="preprocessors"
+>de volgende sectie</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Grondig zoeken:</emphasis
+></term
+><listitem
+><para
+>Doe veel moeite om kleinere onderscheiden te vinden (standaard aan). Dit is waarschijnlijk effectief voor gecompliceerde, grote bestanden. En langzaam voor erg grote bestanden. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Vertraging voor automatisch doorgaan (ms):</emphasis
+></term
+><listitem
+><para
+>Bij het automatisch doorgaan bepaalt deze instelling hoe lang het resultaat van de selectie getoond wordt voordat er naar het volgende onopgeloste conflict gesprongen wordt. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Standaardsamenvoeging van witruimtes bij 2/3 bestanden:</emphasis
+></term
+><listitem
+><para
+>Automatisch alle witruimteconflicten oplossen door een gespecificeerd bestand te kiezen. (Standaard is handmatige keuze.) Nuttig als witruimte in veel bestanden niet belangrijk is. Als u dit alleen af en toe nodig hebt kunt u beter "A/B/C voor alle onopgeloste conflicten kiezen" in het menu Samenvoegen kiezen. Merk op dat als u "Getallen negeren" of "C/C++ commentaar negeren" hebt ingeschakeld, deze automatische keuze ook voor conflicten in getallen of commentaar geldt. </para
+></listitem
+></varlistentry>
+</variablelist>
+
+</sect2>
+
+<sect2
+><title
+>Mapsamenvoeging</title>
+<para
+>Deze opties gaan over het doorzoeken van de map en de afhandeling van het samenvoegen: zie <link linkend="dirmergeoptions"
+>Mapvergelijking/samenvoeging</link
+> voor details. </para
+><para
+>Er is hier echter één optie die ook relevant is voor het opslaan van enkele bestanden: </para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Reservekopiebestanden:</emphasis
+></term
+><listitem
+><para
+>Als een bestand wordt opgeslagen en er al een oudere versie bestaat, wordt het oude bestand hernoemd met een extensie ".orig". Als een oud reservekopiebestand met de extensie ".orig" al bestaat, wordt deze zonder reservekopie verwijderd. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Regio- en taalinstellingen</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Taal:</emphasis
+></term
+><listitem
+><para
+>Past de taal van de gebruikersinterface aan. Het wijzigen van deze optie heeft geen invloed op het huidige programma. U dient KDiff3 af te sluiten en te herstarten om de taal te veranderen. (Deze optie is niet beschikbaar in de KDE-versie van KDiff3 omdat de taal in te stellen is in de globale instellingen van KDE.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Dezelfde codering gebruiken voor alles:</emphasis
+></term
+><listitem
+><para
+>De volgende coderingsopties kunnen apart aangepast worden voor elk item. Als deze optie is ingeschakeld nemen alle waarden deze over. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Lokale codering:</emphasis
+></term
+><listitem
+><para
+>Boven de coderings-selectors komt een opmerking die u vertelt wat de lokale codering is. (Dit is niet aan te passen, maar wordt aangegeven als u uw lokale codering niet weet, maar wel wilt kiezen.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Bestandscodering voor A/B/C:</emphasis
+></term
+><listitem
+><para
+>Pas de bestandscodering voor invoerbestanden aan. Dit heeft effect op hoe speciale tekens geïnterpreteerd worden. Aangezien u elke codering apart kunt instellen, kunt u zelfs bestanden vergelijken en samenvoegen die met verschillende coderingen zijn opgeslagen. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Bestandscodering voor samenvoeguitvoer en opslag:</emphasis
+></term
+><listitem
+><para
+>Als u een bestand hebt bewerkt, kunt op aanpassen met welke codering het weer op schijf wordt opgeslagen. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Bestandscodering voor preprocessorbestanden:</emphasis
+></term
+><listitem
+><para
+>Als u preprocessors opgeeft kunnen deze misschien niet met uw codering werken (bijvoorbeeld: uw bestanden zijn 16-bits unicode en uw preprocessor kan alleen met 8-bits ascii overweg). Met deze optie kunt u de codering van preprocessor-uitvoer opgeven. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Rechts-naar-links-taal</emphasis
+></term
+><listitem
+><para
+>Sommige talen worden van rechts naar links geschreven. Als ieze optie is ingeschakeld, tekent KDiff3 de tekst van rechs naar links in de verschillenvensters en in het uitvoervenster. Merk op dat, aals u KDiff3 met de opdrachtregeloptie "--reverse" start, alle schermopmaak ook van rechts naar links gedaan wordt. (Dit is een optie die door Qt aangeboden wordt.) Deze documentatie is geschreven met de aanname dat "Rechts-naar-links-taal" of omgekeerde indeling uitgeschakeld zijn. Sommige verwijzingen naar "links" en "rechts" moeten dus omgedraaid worden als u die opties gebruikt. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
+>Diverse</title>
+<para
+>(Deze opties en acties zijn in menu's of in de knoppenbalk beschikbaar.)</para>
+<variablelist>
+  <varlistentry
+><term
+><emphasis
+>Regelnummering tonen:</emphasis
+></term
+><listitem
+><para
+>U kunt kiezen of regelnummers voor de invoerbestanden getoond moeten worden.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Spaties &amp; tabulator-tekens in verschillen tonen:</emphasis
+></term
+><listitem
+><para
+>Soms zijn de zichtbare spaties en tabs storend. U kunt dit uitschakelen.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Witruimte tonen:</emphasis
+></term
+><listitem
+><para
+>Schakel dit uit om accentuering van alleen-witruimte-veranderingen in de tekst of overzichtskolommen uit te schakelen. (Merk op dat dit ook van toepassing is op wijzigingen in getallen of commentaar als de opties "Getallen negeren" of "C/C++ commentaar negeren" actief zijn.) </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Overzichtsopties:</emphasis
+></term
+><listitem
+><para
+>Deze keuzes zijn alleen beschikbaar als u drie bestanden vergelijkt. In normale modus worden alle verschillen getoond in één kleurgecodeerde overzichtskolom. Maar soms bent u speciaal geïnteresseerd in de verschillen tussen slechts twee van deze drie bestanden. Door "A vs B", "A vs C" of "B vs C" te kiezen wordt er een tweede overzichtskolom met de vereiste informatie getoond naast het normale overzicht. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Regels afbreken in vensters met verschillen:</emphasis
+></term
+><listitem
+><para
+>Regels afbreken als hun lengte de breedte van een venster zou overschrijden. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Venster A/B/C tonen:</emphasis
+></term
+><listitem
+><para
+>Soms wilt u de ruimte op het scherm beter gebruiken voor lange regels. Verberg dan de vensters die niet belangrijk zijn. (In het menu Venster.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Splitsen van vensters omschakelen:</emphasis
+></term
+><listitem
+><para
+>Wisselen tussen weergave van verschilvensters naast elkaar (A links van B links van C) of boven elkaar (A boven B boven C). Dit moet ook voor lange regels helpen. (In het menu Venster). </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Samenvoegen snel starten:</emphasis
+></term
+><listitem
+><para
+>Soms bekijkt u de onderscheiden en besluit u te willen samenvoegen. <inlinemediaobject
+><imageobject
+><imagedata fileref="merge_current.png" format="PNG"/></imageobject
+></inlinemediaobject
+> "Huidig bestand samenvoegen" in het menu Map werkt ook als u slechts twee bestanden vergelijkt. Een enkele klik start het samenvoegen en gebruikt de bestandsnaam van het laatste invoerbestand als het standaard uitvoerbestand. (Als dit gebruikt wordt om een samenvoeging te herstarten, wordt de uitvoerbestandsnaam behouden.)</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="shortcuts"
+><title
+>Sneltoetsen instellen</title>
+<para
+>Momenteel ondersteunt alleen de KDE-versie gebruikergedefinieerde sneltoetsen (Menu Instellingen -> Sneltoetsen instellen...) </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Preprocessor-opdrachten</title>
+<para
+>KDiff3 ondersteunt twee preprocessor-opties. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Preprocessorcommando:</emphasis
+></term
+><listitem
+><para
+>Als een bestand gelezen is, wordt het door deze externe opdracht gesluisd. De uitvoer van deze opdracht is dan zichtbaar in plaats van het originele bestand. U kunt uw eigen preprocessor schrijven om uw specifieke wensen te vervullen. Gebruik dit om storende delen van het bestand weg te halen, of automatisch de insprong te verbeteren, enzovoort. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Preprocessor-commando alleen voor regelcontroles:</emphasis
+></term
+><listitem
+><para
+>Als een bestand gelezen is, wordt het door deze externe opdracht gesluisd. Als een preprocessor-opdracht (zie boven) ook opgegeven wordt, wordt de uitvoer van de preprocessor de invoer van de preprocessor voor regelovereenkomsten. De uitvoer wordt dan alleen gebruikt bij de regelvergelijkingsfase van de analyse. U kunt uw eigen preprocessor schrijven om uw specifieke wensen te vervullen. Elke invoerregel moet een overeenkomende uitvoerregel hebben. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>Het idee is om de gebruiker grotere flexibiliteit te geven bij het instellen van het resultaat. Maar dit vereist een extern programma, en veel gebruikers willen dat niet zelf schrijven. Het goede nieuws is dat <command
+>sed</command
+> of <command
+>perl</command
+> vaak voldoende is. </para>
+<para
+>Voorbeeld: een eenvoudig testgeval: Beschouw het bestand a.txt (6 regels): <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> en het bestand b.txt (3 regels): <screen>
+      cg
+      dg
+      eg
+</screen
+> Zonder preprocessor zouden de volgende regels naast elkaar geplaatst worden: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Dit is waarschijnlijk niet gewenst omdat de eerste letter de feitelijk interessante informatie bevat. Om het zoekalgoritme te helpen bij het negeren van de tweede letter kunnen we een preprocessor-opdracht voor regelovereenkomsten gebruiken, die 'g' door 'a' vervangt: <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Met deze opdracht wordt het resultaat van de vergelijking: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> Intern wordt het zoeken van bij elkaar passende regels na het uitvoeren van de preprocessor voor regelovereenkomsten gedaan, maar op het scherm is het bestand ongewijzigd. (De normale preprocessor verandert de gegevens ook op het scherm.) </para>
+
+<sect2 id="sedbasics"
+><title
+>De basis van <command
+>sed</command
+></title>
+<para
+>Deze sectie geeft alleen een inleiding op een paar basismogelijkheden van <command
+>sed</command
+>. Zie voor meer informatie <ulink url="info:/sed"
+>info:/sed</ulink
+> of <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Een voorgecompileerde versie voor Windows kunt u vinden op <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Merk op dat de volgende voorbeelden ervan uitgaan dat de opdracht <command
+>sed</command
+> in een map in uw omgevingsvariabele PATH staat. Als dit niet het geval is, dient u het volledige absolute pad voor de opdracht te gebruiken. Merk ook op dat de volgende voorbeelden het enkelvoudige aanhalingsteken (') gebruiken dat niet in Windows werkt. Op Windows dient u in plaats daarvan dubbele aanhalingstekens (") te gebruiken. </para>
+<para
+>In deze context wordt alleen de vervangingsopdracht van <command
+>sed</command
+> gebruikt: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>VERVANGING</replaceable
+>/<replaceable
+>VLAGGEN</replaceable
+>'
+</screen
+> Voordat u een nieuwe opdracht in KDiff3 gebruikt, zou u deze eerst in een console moeten testen. Hiervoor is de opdracht <command
+>echo</command
+> nuttig. Voorbeeld: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Dit voorbeeld toont een zeer eenvoudige sed-opdracht die het eerste voorkomen van "a" door "o" vervangt. Als u alle voorkomens wilt vervangen, hebt u de vlag "g" nodig: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Het symbool "|" is de doorsluisopdracht die de uitvoer van de vorige opdracht naar de invoer van de volgende opdracht doorgeeft. Als u dit wilt uitproberen met een langer bestand kunt u op Unix-systemen<command
+>cat</command
+> gebruiken en <command
+>type</command
+> op Windows-systemen. <command
+>sed</command
+> voert de vervanging op elke regel uit. <screen
+><command
+>cat</command
+> <replaceable
+>bestand</replaceable
+> | <command
+>sed</command
+> <replaceable
+>opties</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Voorbeelden voor het gebruik van <command
+>sed</command
+> in KDiff3</title>
+<sect3
+><title
+>Andere soorten commentaar negeren</title>
+<para
+>Momenteel begrijpt KDiff3 alleen C/C++ commentaar. Met de preprocessoropdracht voor regelovereenkomsten kunt u ook andere soorten commentaar negeren, door ze in C/C++ commentaar om te zetten. Voorbeeld: om commentaar dat met "#" begint te negeren, wilt u deze omzetten naar "//". Merk op dat u hiervoor ook de optie "C/C++ commentaar negeren" moet inschakelen om effect te krijgen. Een goede preprocessoropdracht voor regelovereenkomsten zou dan zijn: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Omdat in <command
+>sed</command
+> het teken "/" een aparte betekenis heeft, is het nodig om het teken "\" voor elke "/" in de vervangende tekenreeks te plaatsen. Soms is de "\" ook nodig om een teken een speciale betekenis te geven of deze juist weg te halen. De enkele aanhalingstekens (') voor en na de vervangingsopdracht zijn nu belangrijk, omdat de shell anders zal proberen sommige speciale tekens als '#', '$' of '\' te interpreteren voordat deze aan <command
+>sed</command
+> worden doorgegeven. Merk op dat u op Windows hier de dubbele aanhalingstekens (") nodig hebt. Windows vervangt andere tekens als '%', dus u moet hier misschien wat experimenteren. </para>
+</sect3>
+<sect3
+><title
+>Niet-hoofdlettergevoelige verschillen</title>
+<para
+>Gebruik de volgende preprocessoropdracht voor regelovereenkomsten om alle invoer naar hoofdletters om te zetten: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Hier is de ".*" een reguliere expressie die met elke tekenreeks overeenkomt en in deze context met alle lettertekens op de regel overeenkomt. De "\1" in de vervangende tekenreeks verwijst naar de overeenkomende tekst binnen het eerste paar "\(" en "\)". De "\U" zet de ingevoegde tekst om in hoofdletters. </para>
+</sect3>
+
+<sect3
+><title
+>Versiebeheer-trefwoorden negeren</title>
+<para
+>CVS en andere versiebeheersystemen gebruiken diverse trefwoorden om automatisch gegenereerde tekenreeksen in te voegen (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Trefwoordvervanging</ulink
+>. Deze volgen allemaal het patroon "$TREFWOORD gegenereerde tekst$". We hebben nu een preprocessoropdracht voor regelovereenkomsten nodig die alleen de gegenereerde tekst verwijdert: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> De "\|" scheidt de mogelijke trefwoorden. U wilt deze lijst misschien aan uw eigen wensen aanpassen. De "\" voor de "$" is nodig omdat anders de "$" met het einde van de regel overeenkomt. </para>
+<para
+>Terwijl u experimenteert met <command
+>sed</command
+> gaat u wellicht deze reguliere expressies begrijpen en op prijs stellen. Ze zijn nuttig omdat er veel andere programma's zijn die soortgelijke dingen ondersteunen.  </para>
+</sect3>
+
+<sect3
+><title
+>Getallen negeren</title>
+<para
+>Getallen negeren is in feite een ingebouwde optie. Maar als een ander voorbeeld is dit de preprocessoropdracht voor regelovereenkomsten: <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Elk teken tussen '[' en ']' komt overeen en wordt vervangen door niets. </para>
+</sect3>
+
+<sect3
+><title
+>Bepaalde kolommen negeren</title>
+<para
+>Soms is een tekst erg strict opgebouwd, en bevat deze kolommen die u altijd wilt negeren, terwijl er andere kolommen zijn die u voor analyse wilt bewaren. In het volgende voorbeeld worden de eerste vijf kolommen (lettertekens) genegeerd, de volgende tien worden bewaard, dan worden er weer vijf genegeerd en de rest van de regel wordt bewaard. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Elke punt '.' komt overeen met een willekeurig teken. De "\1" en "\2" in de vervangende tekenreeks verwijzen naar de overeenkomende tekst in het eerste en tweede paar "\(" en "\)" die de tekst aangeven die bewaard moet worden. </para>
+</sect3>
+
+<sect3
+><title
+>Diverse vervangingen combineren</title>
+<para
+>Soms wilt u diverse vervangingen tegelijk uitvoeren. U kunt dan de puntkomma ';' gebruiken om deze van elkaar te scheiden. Voorbeeld: <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+><command
+>perl</command
+> in plaats van <command
+>sed</command
+> gebruiken</title>
+<para
+>In plaats van <command
+>sed</command
+> wilt u wellicht iets anders gebruiken zoals <command
+>perl</command
+>. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGEXP</replaceable
+>/<replaceable
+>VERVANGING</replaceable
+>/<replaceable
+>VLAGGEN</replaceable
+>'
+</screen
+> Maar sommige details zijn anders in <command
+>perl</command
+>. Merk op waar <command
+>sed</command
+> "\(" en "\)" vereist, <command
+>perl</command
+> de eenvoudigere "(" en ")" zonder voorafgaande '\' vereist. Voorbeeld: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Uitvoervolgorde van preprocessors</title>
+<para
+>De data wordt doorgesluisd door alle interne en externe preprocessors, in deze volgorde: </para>
+<itemizedlist>
+<listitem
+><para
+>Normale preprocessor.</para
+></listitem>
+<listitem
+><para
+>Preprocessor voor regelovereenkomsten.</para
+></listitem>
+<listitem
+><para
+>Hoofdletterongevoelig (conversie naar hoofdletters).</para
+></listitem>
+<listitem
+><para
+>Opsporen van C/C++ commentaar.</para
+></listitem>
+<listitem
+><para
+>Getallen negeren.</para
+></listitem>
+<listitem
+><para
+>Witruimte negeren.</para
+></listitem>
+</itemizedlist>
+<para
+>De gegevens zoals die na de normale preprocessor zijn worden bewaard voor weergave en samenvoeging. De andere handelingen wijzigen alleen de gegevens die het verschillenalgoritme voor regelovereenkomsten ziet. </para
+><para
+>Merk op dat, in de zeldzame gevallen waar u een normale preprocessor gebruikt, de preprocessor voor regelovereenkomsten de uitvoer van de normale preprocessor als invoer ziet. </para>
+</sect2>
+
+<sect2
+><title
+>Waarschuwing</title>
+<para
+>De preprocessor-opdrachten zijn vaak erg nuttig, maar net zoals elke andere optie die automatisch uw teksten wijzigt of bepaalde verschillen verbergt, kunt u per ongeluk bepaalde verschillen over het hoofd zien en in het ergste geval belangrijke gegevens vernietigen. </para
+><para
+>Om deze reden vertelt KDiff3 u het als er een normale preprocessor-opdracht wordt gebruikt bij het samenvoegen, en wordt u gevraagd of deze uitgeschakeld moet worden of niet. Maar u wordt niet gewaarschuwd als er een preprocessoropdracht voor regelovereenkomsten actief is. Het samenvoegen is niet voltooid totdat alle conflicten opgelost zijn. Als u "Witruimte tonen" uitgeschakeld hebt, zijn de verschillen die met de preprocessoropdracht voor regelovereenkomsten verwijderd zijn, ook onzichtbaar. Als de knop "Opslaan" inactief blijft tijdens het samenvoegen (door overblijvende conflicten), schakel dan "Witruimte tonen" in. Als u deze minder belangrijke verschillen niet handmatig wilt samenvoegen kunt u "[A|B|C] voor alle onopgeloste witruimteconflicten gebruiken" kiezen uit het menu "Samenvoegen". </para>
+</sect2>
+</sect1>
+</chapter>
+
+
+<chapter id="dirmerge"
+><title
+>Mappen vergelijken en samenvoegen met KDiff3</title>
+<sect1 id="dirmergeintro"
+><title
+>Inleiding</title>
+<para
+>Programmeurs moeten vaak veel bestanden in een map veranderen om hun doel te bereiken. Hierom laat KDiff3 u ook hele mappen recursief vergelijken en samenvoegen! </para
+><para
+>Hoewel het vergelijken en samenvoegen van mappen nogal duidelijk lijkt, zijn er aan paar details die u moet kennen. Het belangrijkste is natuurlijk het feit dat nu door elke handeling veel bestanden gewijzigd kunnen worden. Als u geen reservekopieën van uw originele gegevens hebt, kan het erg moeilijk of zelfs onmogelijk zijn om naar de originele staat terug te keren. Dus voordat u een samenvoeging start, zorg ervoor dat uw gegevens veilig zijn en dat u terug kunt keren. Of u een archief maakt of een versiebeheersysteem gebruikt is uw keuze, maar zelfs ervaren programmeurs en integrators hebben zo nu en dan de oude broncodes nodig. En merk op dat ik (de auteur van KDiff3) mijn best doe, kan ik niet garanderen dat er geen bugs zijn. Volgens de GNU-GPL is er GEEN WAARBORG op welke manier dan ook voor dit programma. Dus wees bescheiden en onthoud: </para>
+<blockquote
+><para>
+   <emphasis
+>Vergissen is menselijk, maar om dingen echt te verknoeien hebt u een computer nodig.</emphasis>
+</para
+></blockquote>
+<para
+>Dus dit kan dit programma voor u doen: KDiff3 ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... leest en vergelijkt twee of drie mappen recursief,</para
+></listitem>
+     <listitem
+><para
+>... houdt speciaal rekening met symbolische koppelingen,</para
+></listitem>
+     <listitem
+><para
+>... laat u door bestanden bladeren door te dubbelklikken,</para
+></listitem>
+     <listitem
+><para
+>... stelt voor elk item een samenvoegingsoperatie voor, die u kunt wijzigen voordat het samenvoegen van de mappen begint,</para
+></listitem>
+     <listitem
+><para
+>... laat u het samenvoegen simuleren en geeft de acties aan die plaats zouden vinden, zonder ze uit te voeren,</para
+></listitem>
+     <listitem
+><para
+>... laat u het samenvoegen doen, en geeft u de mogelijkheid in te springen als er menselijke interactie nodig is,</para
+></listitem>
+     <listitem
+><para
+>... laat u de geselecteerde handling op alle items (F7) of alleen het geselecteerde item (F6) uitvoeren,</para
+></listitem>
+     <listitem
+><para
+>... laat u het samenvoegen voortzetten na handmatige interactie met F7,</para
+></listitem>
+     <listitem
+><para
+>... maakt optioneel reservekopieën met de extensie ".orig",</para
+></listitem>
+     <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect1>
+
+<sect1 id="startingdirmerge"
+><title
+>Mappen vergelijken of samenvoegen</title>
+<para
+>Dit lijkt erg op het vergelijken en samenvoegen van een enkel bestand. U hoeft slechts mappen op de opdrachtregel of in het venster "Openen" te kiezen. </para>
+<sect2
+><title
+>Twee mappen vergelijken/samenvoegen: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>map1 map2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>map1 map2</replaceable
+> -o <replaceable
+>doelmap</replaceable
+>
+</screen>
+<para
+>Als er geen doelmap wordt opgegeven, gebruikt KDiff3 <replaceable
+>map2</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Drie mappen vergelijken/samenvoegen </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>map1 map2 map3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>map1 map2 map3</replaceable
+> -o <replaceable
+>doelmap</replaceable
+>
+</screen>
+<para
+>Bij het samenvoegen van drie mappen wordt <replaceable
+>map1</replaceable
+> als basis voor het samenvoegen gebruikt. Als er geen doelmap wordt opgegeven, gebruikt KDiff3 <replaceable
+>map3</replaceable
+> als doelmap voor het samenvoegen.doelmpa  </para>
+
+<para
+>Merk op dat alleen het vergelijken automatisch start, niet het samenvoegen. Hiervoor dient u eerst een menu-item of de toets F7 te gebruiken. (Meer details later.) </para>
+</sect2>
+</sect1>
+
+<sect1 id="dirmergevisible"
+><title
+>Zichtbare informatie</title>
+<para
+>Terwijl de mappen worden gelezen verschijnt een melding die u over de voortgang informeert.  Als u het inlezen van de mappen annuleert, worden alleen bestanden getoond die tot dan toe zijn vergeleken. </para
+><para
+>Als het inlezen van de mappen klaar is, toont KDiff3 een lijst met de resultaten links ... </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="dirbrowser.png" format="PNG"/></imageobject
+> <!--alt="Image of the directory browser."-->
+</mediaobject
+></screenshot>
+<para
+>... en details over het geselecteerde item rechts. </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="iteminfo.png" format="PNG"/></imageobject>
+   <!--alt="Image with information about the selected item."-->
+</mediaobject
+></screenshot>
+
+<sect2 id="name"
+><title
+>De kolom "Naam"</title>
+<para
+>Elk bestand en elke map die tijdens het inlezen gevonden is, wordt hier in een boomstructuur getoond. U kunt een item selecteren door er éénmaal met de muis op te klikken. </para
+><para
+>Standaard zijn de mappen ingeklapt. U kunt ze uitklappen en weer inklappen door op de "+"/"-" te klikken of door op het item te dubbelklikken, of door de linker en rechter pijltoetsen te gebruiken. Het menu "Map" bevat ook twee acties "Alle submappen invouwen" en "Alle submappen uitvouwen" waarmee u alle mappen in één keer kunt inklappen of uitklappen. </para
+><para
+>Als u op een bestand dubbelklikt wordt de bestandsvergelijking gestart en verschijnt het verschillenvenster. </para>
+<para
+>De afbeelding in de naamkolom geeft het bestandstype in de eerste map ("A") aan. Dit kan zijn: </para>
+<itemizedlist>
+     <listitem
+><para
+>Normaal bestand</para
+></listitem>
+     <listitem
+><para
+>Normale map (map-afbeelding)</para
+></listitem>
+     <listitem
+><para
+>Koppeling naar een bestand (bestandsafbeelding met pijl)</para
+></listitem>
+     <listitem
+><para
+>Koppeling naar een map (mapafbeelding met pijl)</para
+></listitem>
+</itemizedlist>
+<para
+>Als het bestandstype anders is in de andere mappen, is dit zichtbaar in de kolommen A/B/C en in het venster dat de details over het geselecteerde item toont. Merk op dat het samenvoegen in zo'n geval niet automatisch gedaan kan worden. Als u het samenvoegen start, wordt u geïnformeerd over zulke problemen. </para>
+</sect2>
+
+<sect2 id="coloring"
+><title
+>De kolommen A/B/C en het kleurenschema</title>
+<para
+>Zoals in de afbeelding te zien is, worden de kleuren rood, groen, geel en zwart gebruikt in de kolommen A/B/C. </para>
+<itemizedlist>
+     <listitem
+><para
+>Zwart: Dit item bestaat niet in deze map</para
+></listitem>
+     <listitem
+><para
+>Groen: Nieuwste item.</para
+></listitem>
+     <listitem
+><para
+>Geel: Ouder dan groen, nieuwer dan rood.</para
+></listitem>
+     <listitem
+><para
+>Rood: Oudste item.</para
+></listitem>
+</itemizedlist>
+<para
+>Maar voor items die hetzelfde waren in de vergelijking, is ook de kleur hetzelfde, ook al zijn ze niet even oud. </para
+><para
+>Mappen worden als gelijk beschouwd als alle items die ze bevatten hetzelfde zijn. Dan hebben ze ook dezelfde kleur. De leeftijd van een map wordt niet gebruikt bij het bepalen van de kleur. </para
+><para
+>Het idee voor dit kleurenschema kreeg ik bij <ulink url="http://samba.org/cgi-bin/cvsweb/dirdiff"
+>dirdiff</ulink
+>. De kleuren stellen een blad voor dat groen is als het nieuw is, later geel wordt, en rood wordt als het oud is. </para>
+
+</sect2
+><sect2 id="operation"
+><title
+>De kolom "Operatie"</title>
+<para
+>Na het vergelijken van mappen maakt KDiff3 ook een voorstel voor een samenvoegingsoperatie. Dit wordt getoond in de kolom "Operatie". U kunt een operatie wijzigen door erop te klikken. Er verschijnt dan een klein menu waarmee u de operatie voor dat item kunt kiezen. (U kunt ook de meestgebruikte operaties met het toetsenbord kiezen. Ctrl+1/2/3/4/Del kiest respectievelijkg A/B/C/Samenvoegen/Verwijderen.) Deze operatie wordt dan bij het samenvoegen  uitgevoerd. Afhankelijk van de item en de samenvoegmodus zijn er andere operaties beschikbaar. De samenvoegmodus kan zijn: </para>
+<itemizedlist>
+     <listitem
+><para
+>Samenvoegen van drie mappen ("A" wordt als oudere basis van beide beschouwd)</para
+></listitem>
+     <listitem
+><para
+>Samenvoegen van twee mappen</para
+></listitem>
+     <listitem
+><para
+>Synchroniseren van twee mappen (via de optie "Mappen synchroniseren")</para
+></listitem>
+</itemizedlist>
+<para
+>Bij het samenvoegen van drie mappen is het voorstel voor de operatie: Als voor een item ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... alledrie de mappen gelijk zijn: kopiëren vanuit C</para
+></listitem>
+     <listitem
+><para
+>... A en C gelijk zijn maar B niet: Kopiëren vanuit B (of als B niet bestaat, de bestemming verwijderen als deze bestaat)</para
+></listitem>
+     <listitem
+><para
+>... A en B gelijk zijn maar C niet: Kopiëren vanuit C (of als C niet bestaat, de bestemming verwijderen als deze bestaat)</para
+></listitem>
+     <listitem
+><para
+>... B en C gelijk zijn maar A niet: Kopiëren vanuit C (of als C niet bestaat, de bestemming verwijderen als deze bestaat)</para
+></listitem>
+     <listitem
+><para
+>... alleen A bestaat: De bestemming verwijderen (als deze bestaat)</para
+></listitem>
+     <listitem
+><para
+>... alleen B bestaat: Vanuit B kopiëren</para
+></listitem>
+     <listitem
+><para
+>... alleen C bestaat: Vanuit C kopiëren</para
+></listitem>
+     <listitem
+><para
+>... A, B en C niet gelijk zijn: Samenvoegen</para
+></listitem>
+     <listitem
+><para
+>... A, B en C niet hetzelfde bestandstype hebben (bijvoorbeeld, A is een map en B een bestand): "Fout: Conflicterende bestandstypen". Zolang zulke items bestaan kan het samenvoegen van de mappen niet beginnen.</para
+></listitem>
+</itemizedlist>
+<para
+>Bij het samenvoegen van twee mappen is het voorstel voor de operatie: Als voor een item... </para>
+<itemizedlist>
+     <listitem
+><para
+>... beide mappen gelijk zijn: Kopiëren vanaf B</para
+></listitem>
+     <listitem
+><para
+>... A bestaat, maar B niet: Kopiëren vanaf A</para
+></listitem>
+     <listitem
+><para
+>... B bestaat, maar A niet: Kopiëren vanaf B</para
+></listitem>
+     <listitem
+><para
+>... A en B bestaan maar niet gelijk zijn: Samenvoegen</para
+></listitem>
+     <listitem
+><para
+>... A en B niet hetzelfde bestandstype hebben (bijvoorbeeld, A is een map en B een bestand): "Fout: Conflicterende bestandstypen". Zolang zulke items bestaan kan het samenvoegen van de mappen niet beginnen.</para
+></listitem>
+</itemizedlist>
+<para
+>Synchronisatiemodus is actief als er slechts twee mappen en geen expliciet doel zijn opgegeven, en als de optie "Mappen synchroniseren" actief is. KDiff3 kiest dan een standaard operatie zodanig dat beide mappen naderhand hetzelfde zijn. Als voor een item ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... beide mappen gelijk zijn: Niets.</para
+></listitem>
+     <listitem
+><para
+>... A bestaat, maar B niet: A naar B kopiëren</para
+></listitem>
+     <listitem
+><para
+>... B bestaat, maar A niet: B naar A kopiëren</para
+></listitem>
+     <listitem
+><para
+>... A en B bestaan, maar niet gelijk zijn: samenvoegen en het resultaat in beide mappen opslaan. (Voor de gebruiker is de zichtbare naam B, maar KDiff3 kopieert dan B naar A.)</para
+></listitem>
+     <listitem
+><para
+>... A en B niet hetzelfde bestandstype hebben (bijvoorbeeld, A is een map en B een bestand): "Fout: Conflicterende bestandstypen". Zolang zulke items bestaan kan het samenvoegen van de mappen niet beginnen.</para
+></listitem>
+</itemizedlist>
+<para
+>Als twee mappen samengevoegd worden en de optie "Nieuwere kopiëren in plaats van samenvoegen" geselecteerd is, kijkt KDiff3 naar de datums en stelt dan voor om het nieuwere bestand te kiezen. Als de bestanden niet gelijk zijn maar wel gelijke datums hebben, bevat de operatie "Fout: Datums zijn gelijk maar bestanden niet." Zolang zulke items bestaan kan het samenvoegen niet beginnen. </para>
+</sect2>
+
+<sect2 id="status"
+><title
+>De statuskolom</title>
+<para
+>Gedurende het samenvoegen wordt het ene bestand na het andere verwerkt. De statuskolom toont "Gereed" bij items waar het samenvoegen is afgerond, en andere teksten als er iets onverwachts gebeurd is. Als het samenvoegen klaar is, dient u een laatste controle te doen om te zien of de status van alle items goed is. </para>
+</sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Statistiekkolommen</title>
+<para
+>Als de bestandsvergelijkingsmodus "Volledige analyse" ingeschakeld is in de opties, toont KDiff3 extra kolommen met het aantal onopgeloste en opgeloste conflicten en het aantal (niet-)witruimteconflicten. (De kolom met het aantal apgeloste conflicten wordt alleen getoond bij het vergelijken of samenvoegen van drie mappen.) </para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="dothemerge"
+><title
+>Een samenvoeging doen</title>
+<para
+>U kunt het geselecteerde item (bestand of map) samenvoegen, of alle items. Als u alle keuzes voor de operaties hebt gemaakt (ook in alle submappen) kunt u het samenvoegen starten. </para
+><para
+>Wees erop bedacht dat, als u niet expliciet een doelmap heeft opgegeven, de doelmap "C" is bij het behandelen van drie mappen, "B" bij het samenvoegen van twee mappen, en "A" en/of "B" in sychronisatiemodus. </para
+><para
+>Controleer ook als u een doelmap hebt opgegeven of alle items die zich in de uitvoer zouden moeten bevinden, daadwerkelijk in de boomstructuur staan. Er zijn enkele opties die ervoor zorgen dat bepaalde items uit het vergelijken en samenvoegen van mappen worden weggelaten. Controleer deze opties om onplezierige verrassingen te voorkomen: </para>
+<itemizedlist>
+     <listitem
+><para
+>"Recursieve mappen": Als dit uitgeschakeld is, worden items in submappen niet gevonden.</para
+></listitem>
+     <listitem
+><para
+>"Patroon"/"Anti-patroon": Overeenkomende items al dan niet invoegen</para
+></listitem>
+     <listitem
+><para
+>"Verborgen bestanden uitsluiten"</para
+></listitem>
+     <listitem
+><para
+>"Alleen onderscheid tonen": Bestanden die in alle mappn overeenkomen, verschijnen niet in de boomstructuur, en dus ook niet in de bestemming.</para
+></listitem>
+</itemizedlist>
+<para
+>(In de huidige versie dient u de map handmatig opnieuw in te laten lezen door "Map"->"Opnieuw inlezen" te kiezen, nadat u opties hebt gewijzigd die van invloed zijn op het inlezen van mappen.) </para
+><para
+>Als u tot hier tevreden bent, is de rest eenvoudig. </para
+><para
+>Om alle items samen te voegen: kies "Mapsamenvoeging starten/voortzetten" in het menu "Map" of druk op F7 (sneltoets). Om alleen het huidige item samen te voegen: kies "Operatie uitvoeren voor huidig item" of druk op F6. </para
+><para
+>Als er door conflicterende bestandstypes nog bestanden zijn met ongeldige operaties, verschijnt er een melding, worden die items aangewezen en kunt u een geldige operatie voor die items kiezen. </para
+><para
+>Als u alle items samenvoegt, verschijnt er een dialoogvenster met de opties "Starten", "Simuleren" en "Annuleren". </para>
+<itemizedlist>
+     <listitem
+><para
+>Kies "Simuleren" als u wilt zien wat er gedaan zou worden, zonder dit werkelijk te doen. Er wordt een uitgebreide lijst van alle operaties getoond.</para
+></listitem>
+     <listitem
+><para
+>Kies anders "Doorgaan" om het samenvoegen echt te starten.</para
+></listitem>
+</itemizedlist>
+<para
+>KDiff3 voert dan de gekozen operatie uit op alle items. Als u handmatige actie moet ondernemen (samenvoegen van een enkel bestand) verschijnt er een samenvoegvenster (<link linkend="dirmergebigscreenshot"
+>zie de grote schermafdruk</link
+>). </para
+><para
+>Als u klaar bent met een bestand, kiest u opnieuw "Samenvoegen starten/voortzetten" of drukt u op F7. Als u nog niet hebt opgeslagen, wordt er een dialoogvenster getoond dat u vraagt om dat te doen. KDiff3 gaat dan verder met het volgende item. </para
+><para
+>Als KDiff3 een fout tegenkomt, meldt het dit en wordt de uitgebreide stautsinformatie getoond. Ondaraan deze lijst zullen er wat foutmeldingen staan die u zouden moeten helpen bij het begrijpen van de oorzaak van het probleem. Als u doorgaat met samenvoegen (F7) geeft KDiff3 u de keuze tussen opnieuw proberen of het item overslaan dat het probleem veroorzaakte. Dit betekent dat u, voordat u doorgaat, een andere operatie kunt kiezen of het probleem door andere middelen kunt oplossen. </para
+><para
+>Als het samenvoegen voltooid is, niformeert KDiff3 u hierover via een berichtvenster. </para
+><para
+>Als sommige items afzonderlijk samengevoegd zijn, onthoudt KDiff3 dit (tijdens de samenvoegsessie) en worden deze niet opnieuw samengevoegd als later het samenvoegen voor alle items gestart wordt. Zelfs als het samenvoegen overgeslagen is of er niets is opgeslagen, tellen deze items als voltooid. Alleen als u de samenvoegoperatie wijzigt, wordt het item opnieuw samengevoegd. </para>
+</sect1>
+
+<sect1 id="dirmergeoptions"
+><title
+>Opties voor het vergelijken en samenvoegen van mappen</title>
+<para
+>De voorkeuren van KDiff3 (menu "Instellingen"-&gt;"KDiff3 instellen") bevatten nu een sectie "Mappen samenvoegen" met deze opties: </para>
+
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Recursieve mappen:</emphasis
+></term
+><listitem
+><para
+>Kies of mappen recursief doorzocht moeten worden.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Bestandspatroon(en):</emphasis
+></term
+><listitem
+><para
+>Alleen bestanden die hier met een patroon overeenkomen worden in de boom geplaatst. U kunt hier meer dan één patroon opgeven door een puntkomma ";" als scheidingsteken te gebruiken. Geldige jokertekens: '*' en '?' (bijvoorbeeld "*.cpp;*.h"). Standaard is "*". Mappen hoeven niet aan dit patroon te voldoen.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Anti-patroon(en):</emphasis
+></term
+><listitem
+><para
+>Bestanden en mappen die hier met een patroon overeenkomen worden niet in de boom geplaatst. U kunt hier meer dan één patroon opgeven door een puntkomma ";" als scheidingsteken te gebruiken. Geldige jokertekens: '*' en '?'. Standaard is "*.orig;*.o".</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>CVS-ignore gebruiken:</emphasis
+></term
+><listitem
+><para
+>Negeer bestanden en mappen die ook door CVS genegeerd zouden worden. Veel automatisch gegenereerde bestanden worden genegeerd door CVS. Het grote voordeel hiervan is dat dit mapspecifiek opgegeven kan worden via een bestand ".cvsignore". (Zie <ulink url="info:/cvs/cvsignore"
+>info:/cvs/cvsignore</ulink
+>.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Verborgen bestanden en mappen zoeken:</emphasis
+></term
+><listitem
+><para
+>Op sommige bestandssystemen hebben bestanden een attribuut "verborgen". Op andere systemen zorgt een punt "." aan het begin van ene bestandnaam ervoor dat het bestand verborgen is. Met deze optie kunt u deze bestanden al dan niet in de boom laten opnemen. Standaard is aan.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Bestandskoppelingen volgen:</emphasis
+></term
+><listitem
+><para
+>Voor koppelingen naar bestanden: Als dit uitgeschakeld is, worden de koppelingen vergeleken. Als dit ingeschakeld is, worden de bestanden achter de koppelingen vergeleken. Standaard is uit.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Mapkoppelingen volgen:</emphasis
+></term
+><listitem
+><para
+>Voor koppelingen naar mappen: Als dit uitgeschakeld is, worden de symbolische koppelingen vergeleken. Als dit ingeschakeld is, worden de koppelingen beschouwd als mappen en recursief ingelezen. (Merk op dat het programmme niet controleert of de koppeling "recursief" is. Dus bijvoorbeeld een map die een koppeling naar zichzelf bevat, zorgt voor een oneindige lus, en na enige tijd, als de "stack" overloopt of al het geheugen op is, voor ene crash van het programma.) Standaard is uit.</para
+></listitem
+></varlistentry
+>   
+   <varlistentry
+><term
+><emphasis
+>Alleen onderscheid tonen:</emphasis
+></term
+><listitem
+><para
+>Alleen de items die niet in alle invoermappen gelijk zijn worden getoond en alleen de gewijzigde bestanden zijn zichtbaar. Bestanden die in alle mappen gelijk zijn werden dus niet gekopieerd tijdens het samenvoegen en als de doelmap de bestanden vóór het samenvoegen niet bevat, mist u wellicht later bestanden. (Deze optie wordt in een volgende versie waarschijnlijk gewijzigd.) Standaard is uit.</para
+></listitem
+></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Bestandsvergelijkingsmodus:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Binaire vergelijking:</emphasis
+></term
+><listitem
+><para
+>Dit is de standaard vergelijkingsmodus. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Volledige analyse:</emphasis
+></term
+><listitem
+><para
+>Doe een volledige analyse van elk bestand en toon de kolommen met statistische informatie. (Aantal opgeloste en onopgeloste, niet-witruimte- en witruimteconflicten.) De volledige analyse is langzamer dan een eenvoudige binaire analyse, en veel langzamer bij bestanden die geen tekst bevatten. (Geef de van toepassing zijnde bestandsantipatronen op.) </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Wijzigingsdatum vertrouwen:</emphasis
+></term
+><listitem
+><para
+>Als u grote mappen over een langzaam netwerk vergelijkt, kan het sneller om alleen de wijzigingsdatums en bestandsgroottes te vergelijken. Deze snelheidsverbetering brengt echter wat onzekerheid met zich mee. Wees voorzichtig bij het gebruiken van deze optie. Standaard is uit.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Grootte vertrouwen:</emphasis
+></term
+><listitem
+><para
+>Vergelijkbaar met het vertrouwen van de wijzigingsdatum. Er vindt geen echte vergelijking plaats. Twee bestanden worden als gelijk beschouwd als ze dezelfde grootte hebben. Dit is nuttig als de kopieeroperatie de wijzigingsdatum niet intact heeft gehouden. Wees voorzichtig bij het gebruiken van deze optie. Standaard is uit.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><emphasis
+>Mappen synchroniseren:</emphasis
+></term
+><listitem
+><para
+>Activeert de "synchronisatiemodus" als twee mappen vergeleken worden en er geen expliciete doelmap is opgegeven. In deze modus worden de voorgestelde operaties dusdanig gekezen dat beide bronmappen na de synchronisatie gelijk zijn. Het resultaat van het samenvoegen wordt ook naar beide mappen geschreven. Standaard is uit.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Nieuwere bestanden kopiëren in plaats van samenvoegen:</emphasis
+></term
+><listitem
+><para
+>In plaats van het uitvoeren van de voorlgestelde operatie wordt het nieuwere bestand gekopieerd als er wijzigingen zijn opgetreden. (Dit wordt als onveilig beschouwd, want het veronderstelt dat u weet dat het andere bestand niet ook gewijzigd is. Controleer dit in elk geval.) Standaard is uit.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Reservekopiebestanden:</emphasis
+></term
+><listitem
+><para
+>Als een bestand of gehele map door een andere wordt vervangen of verwijderd vordt, wordt de originele versie hernoemd met de extensie ".orig". Als een oud reservekopiebestand met de extensie ".orig" al bestaat, wordt dit zonder reservekopie verwijderd. Dit beïnvloedt ook het normale samenvoegen van enkele bestanden, niet alleen bij het samenvoegen van mappen. Standaard is aan.</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="other"
+><title
+>Andere functies</title>
+<sect2
+><title
+>Splitsen / Volledig-scherm-modus</title>
+<para
+>Normaal gesproken blijft de lijstweergave voor het samenvoegen van mappen zichtbaar als er een enkel bestand wordt vergeleken of samengevoegd. Met de muis kunt u de splitsbalk verplaatsen die de bestandenlijst van de verschillenvensters scheidt. Als u dat niet wilt, kunt u "Vensters splitsen" in het menu "Map" uitschakelen. U kunt dan "Weergave omschakelen" in het menu "Map" kiezen om tussen de bestandenlijst en de verschillenweergave over te schakelen, die dan het volledige scherm in beslag nemen. </para>
+</sect2>
+<sect2
+><title
+>Een enkel bestand vergelijken of samenvoegen</title>
+<para
+>U dubbelklikt waarschijnlijk het liefst op een bestand om het te vergelijken. Desalniettemin is er hiervoor ook een item in het menu "Map". U kunt ook direct een enkel bestand samenvoegen, zonder de mapsamenvoeging te starten, met "Enkel bestand samenvoegen" in het menu "Map". Als u het resultaat opslaat, wordt de status op "voltooid" gezet, en wordt het bestand niet opnieuw samengevoegd als er een mapsamenvoeging wordt gestart. </para
+><para
+>Merk op dat deze statusinformatie verloren gaat als u de map opnieum inleest (menu "Map", item "Opnieuw inlezen") </para>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="misc">
+<title
+>Diverse onderwerpen</title>
+<sect1 id="networktransparency">
+<title
+>Netwerktransparantie via KIO</title>
+<sect2
+><title
+>KIO-slaves</title>
+<para
+>KDE biedt netwerktransparantie via KIO-slaves. KDiff3 gebruikt dit om invoerbestanden en mappen te lezen. Dit betekent dat u bestanden en mappen op lokale en externe bronnen kunt opgeven via URL-adressen. </para
+><para
+>Voorbeeld: </para
+><para>
+<screen
+><command
+>kdiff3</command
+> test.cpp  ftp://ftp.verweg.org/test.cpp
+   <command
+>kdiff3</command
+> tar:/home/hacker/archief.tar.gz/map ./map
+</screen>
+</para>
+<para
+>De eerste regel vergelijkt een lokaal bestand met een bestand op een FTP-server. De tweede regel vergelijkt een map binnen een gecomprimeerd archief met een lokale map. </para
+><para
+>Andere interessante KIO-slaves zijn: </para>
+<itemizedlist>
+<listitem
+><para
+>Bestanden op het www (http:),</para
+></listitem>
+<listitem
+><para
+>Bestanden op ftp (ftp:),</para
+></listitem>
+<listitem
+><para
+>Versleutelde bestandsoverdracht (fish:, sftp:),</para
+></listitem>
+<listitem
+><para
+>Windows-bronnen (smb:),</para
+></listitem>
+<listitem
+><para
+>Lokale bestanden (file:).</para
+></listitem>
+</itemizedlist>
+<para
+>Andere (waarschijnlijk minder nuttige) mogelijkheden zijn: </para>
+<itemizedlist>
+<listitem
+><para
+>Man-pagina's (man:),</para
+></listitem>
+<listitem
+><para
+>info-pagina's (info:).</para
+></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2
+><title
+>Hoe URL-adressen te schrijven</title>
+<para
+>Een URL heeft een andere syntaxis vergeleken met paden naar lokale bestanden en mappen. U dient met een aantal zaken rekening te houden: </para>
+<itemizedlist>
+<listitem
+><para
+>Een pad kan relatief zijn en "." of ".." bevatten. Dit kan niet met URL-adressen, die altijd absoluut zijn. </para
+></listitem
+><listitem
+><para
+>Speciale tekens dienen omgezet te worden. ("#"->"%23", spatie->"%20", enz.) Een bestand met de naam "/#foo#" wordt bijvoorbeeldhet URL-adres "file:/%23foo%23". </para
+></listitem
+><listitem
+><para
+>Als URL-adressen niet werken zoals u verwacht, probeer ze dan eerst in Konqueror te openen. </para
+></listitem>
+</itemizedlist>
+
+</sect2>
+
+<sect2
+><title
+>Mogelijkheden van KIO-slaves</title>
+<para
+>Netwerktransparantie heeft één nadeel: niet alle bronnen hebben dezelfde mogelijkheden. </para
+><para
+>Soms ligt dit aan het bestandssysteem van de server, soms aan het protocol. Een korte lijst van beperkingen: </para>
+<itemizedlist>
+<listitem
+><para
+>Er is soms geen ondersteuning voor koppelingen. </para
+></listitem
+><listitem
+><para
+>Of er is geen manier om te onderscheiden of een koppeling naar een map of een bestand verwijst, er wordt dan altijd van bestanden uitgegaan (ftp:, sftp:). </para
+></listitem
+><listitem
+><para
+>De bestandsgrootte kan niet altijd bepaald worden. </para
+></listitem
+><listitem
+><para
+>Beperkte ondersteuning voor permissies. </para
+></listitem
+><listitem
+><para
+>Geen mogelijkheden om permissies of wijzigingsdatums te veranderen, zodat de permissies of tijd van een kopie verschillen van het origineel. (Zie de optie "Grootte vertrouwen"). (Permissies of wijzigingsdatum veranderen is alleen mogelijk bij lokale bestanden.) </para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+
+<sect1 id="kpart">
+<title
+>&kdiff3; als een KPart gebruiken</title>
+<para
+>&kdiff3; is een KPart. Het implementeert momenteel de interface KParts::ReadOnlyPart. </para
+><para
+>Het belangrijkste gebruik is als een verschillentoner in KDevelop. KDevelop start altijd eerst de interne verschillentoner. Om KDiff3 op te starten klikt u met de rechtermuisknop op het verschilvenster en kiest u "In KDiff3Part tonen" uit het contextmenu. </para
+><para
+>Kdiff3 vereist normaal gesproken twee complete bestanden als invoer. Als het als een KPart gebruikt wordt, neemt KDiff3 aan dat het invoerbestand een patch-bestand in het standaard formaat is. KDiff3 haalt dan de twee bestandsnamen op uit het patch-bestand. Minstens één van de twee bestanden moet beschikbaar zijn. KDiff3 roept dan <command
+>patch</command
+> aan om het andere bestand opnieuw te maken. </para
+><para
+>In Konqueror kunt u een patch-bestand selecteren en "Tonen in"-"KDiff3Part" uit het contextmenu kiezen. Merk op dat dit niet werkt als geen van de originele bestanden beschikbaar is, en dat het niet betrouwbaar is als een origineel bestand gewijzigd is sinds het patch-bestand gegenereerd is. </para
+><para
+>Als het als een KPart gestart wordt, biedt KDiff3 alleen een verschillenmodus voor twee bestanden, een kleine werkbalk en een menu. Samenvoegen of mappen vergelijken worden dan niet ondersteund. </para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Vraag en antwoord</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry
+><question
+><para
+>Waarom heet het "KDiff3"? </para
+></question
+><answer
+><para
+>Hulpmiddelen met de naam "KDiff" en "KDiff2" (nu "Kompare") bestaan al. "KDiff3" moet ook suggereren dat het kan samenvoegen, net als het programma "diff3". </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Waarom heb ik het onder GPL uitgegeven? </para
+></question
+><answer
+><para
+>Ik gebruik al heel lang GPL-programma's en heb veel geleerd door de vele broncodes te bekijken. Dit is daarom mijn dankbetuiging aan alle programmeurs die hetzelfde hebben gedaan of zullen doen. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Sommige knoppen en functies ontbreken. Wat is er mis? </para
+></question
+><answer
+><para
+>U hebt waarschijnlijk vanuit de broncode gecompileerd zonder het juiste KDE-prefix in "configure" op te geven. Standaard wil "configure" in de map /usr/local installeren, maar KDE kan het bronbestand voor de gebruikersinterface dan niet vinden (kdiff3ui.rc). Het bestand README bevat meer informatie over de goede prefix. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Regels die op elkaar lijken maar niet hetzelfde zijn, verschijnen vaak naast elkaar, maar soms niet. Waarom? </para
+></question
+><answer
+><para
+>Regels waar alleen de hoeveelheid witruimte verschillend is worden in eerste instantie als "gelijk" beschouwd, terwijl slechts één verschillend niet-witruimte-teken ervoor zorgt dat de regels "verschillend" zijn. Als op elkaar lijkende regels naast elkaar verschijnen is dit slechts toeval, maar dit is gelukkig vaak het geval. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Waarom moeten alle conflicten opgelost worden voordat het resultaat opgeslagen kan worden? </para
+></question
+><answer
+><para
+>Voor elke gelijke of verschillende sectie onthoudt de editor in het resultaatvenster waar deze begint en eindigt. Dit is nodig omdat dan conflicten handmatig opgelost kunnen worden door op de knop van de broncode (A, B of C) te drukken. Deze informatie is opgelost bij het opslaan als tekst en het is te veel werk om een speciaal bestandsformaat te maken waarmee alle benodigde informatie opgeslagen en ingelezen kan worden. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Waarom heeft de editor in het resultaatvenster geen functie "ongedaan maken"? </para
+></question
+><answer
+><para
+>Dit was tot nu toe te veel werk. U kunt altijd een versie vanuit ene bron (A, B of C) herstellen daar op de overeenkomstige knop te klikken. Voor grote wijzigingen wordt het gebruik van een andere editor sowieso aanbevolen. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Toen ik wat tekst verwijderde, verscheen plotseling "&lt;Geen regel in de bron&gt;" en ik kon dit niet verwijderen. Wat betekent dit en hoe kan ik dit verwijderen? </para
+></question
+><answer
+><para
+>Voor elke gelijke of verschillende sectie onthoudt de editor in het resultaatvenster waar deze begint en eindigt. "&lt;Geen regel in de bron&gt;" betekent dat er niets over is in de sectie (zelfs geen regeleinde). Dit kan tijdens automatisch samenvoegen of tijdens bewerken gebeuren. Dit is geen probleem, want de aanwijzing verschijnt niet in het opgeslagen bestand. Als u de originele bron terug wilt, selecteert u de sectie (klik op de linker overzichtkolom) en klikt u op de knop van de bron met de gewenste inhoud (A, B of C). </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Waarom ondersteunt KDiff3 geen syntaxis-accentuering? </para
+></question
+><answer
+><para
+>KDiff3 gebruikt al veel kleuren voor het accentueren van verschillen. Meer accentuering zou verwarrend worden, gebruik daar een andere editor voor. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Er staat hier zo veel informatie, maar uw vraag is nog niet beantwoord? </para
+></question
+><answer
+><para
+>Stuur me uw vraag. Ik stel alle opmerkingen op prijs. </para
+></answer
+></qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<title
+>Dankbetuigingen en licentie</title>
+
+<para
+>&kdiff3; - Hulpmiddel voor vergelijken en samenvoegen van bestanden en mappen </para>
+<para
+>Programma copyright 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+<para
+>Diverse gave ideeën en bugrapporten van collega's en veel mensen op het Wilde Wilde Web. Bedankt! </para>
+
+<para
+>Documentatie copyright &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+
+&meld.fouten;&vertaling.sander; 
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installatie</title>
+
+<sect1 id="getting-kdiff3">
+<title
+>&kdiff3; verkrijgen</title>
+
+<para
+>U kunt de laatste versie van KDiff3 downloaden vanaf de webpagina <ulink url="http://kdiff3.sourceforge.net"
+>http://kdiff3.sourceforge.net</ulink
+>. </para
+><para
+>KDiff3 is ook beschikbaar vaar andere platformen. Zie de website voor details. </para>
+
+
+</sect1>
+
+<sect1 id="requirements">
+<title
+>Vereisten</title>
+
+<para
+>Om alle mogelijkheden van &kdiff3; goed te gebruiken, hebt u &kde; 
+>3.1 nodig. </para
+><para
+>Voor informatie over het draaien van KDiff3 op andere platformen zonder KDE, kijkt u op de <ulink url="http://kdiff3.sourceforge.net"
+>homepage</ulink
+>. </para
+><para
+>Een lijst met wijzigingen kunt u vinden op <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+> http://kdiff3.sourceforge.net/ChangeLog</ulink
+>of in het bestand "ChangeLog" uit het bronpakket. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compileren en installeren</title>
+
+<para
+>Om &kdiff3; op een systeem met KDE te installeren, typt u het volgende in de basismap van de &kdiff3;-distributie:</para>
+
+<screen
+><prompt
+>%</prompt
+> <userinput
+><command
+>./configure --prefix=<replaceable
+>kde-map</replaceable
+></command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+></userinput>
+<prompt
+>%</prompt
+> <userinput
+><command
+>make</command
+> install</userinput
+>
+</screen>
+<para
+><replaceable
+>kde-map</replaceable
+>geeft de map op uw systeem aan waarin KDE zich bevindt. Als u niet zeker bent, kijk dan in het bestand README. </para>
+<para
+>Omdat &kdiff3; <command
+>autoconf</command
+> en<command
+>automake</command
+> gebruikt, zou u geen problemen mogen hebben met compileren. Als u problemen hebt, meld die dan op de mailinglijsten van &kde;.</para>
+
+</sect1>
+
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/pt/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,4 @@
+KDE_DOCS = kdiff3
+KDE_LANG = pt
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/doc/pt/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,3051 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+  <!ENTITY kdiff3 "<application
+>KDiff3</application
+>">
+  <!ENTITY kappname "&kdiff3;">
+  <!ENTITY package "extragear-utils">
+  <!ENTITY % addindex "IGNORE">
+  <!ENTITY % Portuguese "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<bookinfo>
+<title
+>O Manual do &kdiff3;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Joachim</firstname
+> <surname
+>Eibl</surname
+></personname
+> <email
+>joachim.eibl at gmx.de</email
+> </author>
+<othercredit role="translator"
+><firstname
+>Pedro</firstname
+><surname
+>Morais</surname
+><affiliation
+><address
+><email
+>morais@kde.org</email
+></address
+></affiliation
+><contrib
+>Tradução</contrib
+></othercredit
+> 
+
+</authorgroup>
+
+<copyright>
+<year
+>2002</year
+><year
+>2005</year>
+<holder
+>Joachim Eibl</holder>
+</copyright>
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<date
+>2005-01-30</date>
+<releaseinfo
+>0.9.87</releaseinfo>
+
+<abstract>
+<para
+>O &kdiff3; é uma ferramenta de diferenças e junção das mesmas para ficheiros e pasta que: <itemizedlist>
+<listitem
+><para
+>compara e junta dois ou três ficheiros de texto ou pastas de entrada,</para
+></listitem>
+<listitem
+><para
+>mostra as diferenças linha-a-linha e carácter-a-carácter(!),</para
+></listitem>
+<listitem
+><para
+>oferece uma funcionalidade de junção automática,</para
+></listitem>
+<listitem
+><para
+>tem um editor para resolver confortavelmente os conflitos de junção,</para
+></listitem>
+<listitem
+><para
+>oferece a transparência de rede através do KIO,</para
+></listitem>
+<listitem
+><para
+>tem opções para realçar ou esconder as alterações nos espaços em branco ou comentários,</para
+></listitem>
+<listitem
+><para
+>suporta o Unicode, o UTF-8 e outras codificações de ficheiros.</para
+></listitem>
+</itemizedlist>
+</para>
+</abstract>
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear</keyword>
+<keyword
+>kdiff3</keyword>
+<keyword
+>diff</keyword>
+<keyword
+>juntar</keyword>
+<keyword
+>CVS</keyword>
+<keyword
+>'diff' triplo</keyword>
+<keyword
+>comparar</keyword>
+<keyword
+>ficheiros</keyword>
+<keyword
+>pastas</keyword>
+<keyword
+>controlo de versões</keyword>
+<keyword
+>junção-por-três-vias</keyword>
+<keyword
+>diferenças-nas-linhas</keyword>
+<keyword
+>sincronizar</keyword>
+<keyword
+>kpart</keyword>
+<keyword
+>kio</keyword>
+<keyword
+>transparente na rede</keyword>
+<keyword
+>editor</keyword>
+<keyword
+>espaços em branco</keyword>
+<keyword
+>comentários</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction"
+><title
+>Introdução</title>
+<sect1 id="why"
+><title
+>Outra Interface para o Diff?</title>
+<para
+>Existem várias ferramentas de detecção de diferenças. Porquê escolher o &kdiff3;? Deixe que o autor diga porque o escreveu.</para>
+
+<para
+>O &kdiff3; começou porque eu tinha de fazer uma junção difícil. A junção é necessária quando várias pessoas trabalham nos mesmos ficheiros de um projecto. Uma junção poderá de alguma forma ser automatizada, quando a ferramenta de junção não só tem os novos ficheiros modificados (chamados de 'ramificações' ou 'branches'), mas também o ficheiro original (chamado de 'base'). A ferramenta de junção irá escolher automaticamente as modificações que só foram feitas numa das ramificações. Quando vários contribuintes alteram as mesmas linhas, então a  ferramenta de junção detecta um conflito que terá de ser resolvido manualmente.</para>
+
+<para
+>"A junção foi então difícil porque um dos colaboradores alterou várias coisas e corrigiu a indentação em vários sítios. Outro também alterou bastante texto, o que resultou em vários conflitos de junção".</para>
+
+<para
+>"A ferramenta que usei então só mostrava as linhas modificadas, mas não o que tinha sido alterado dentro dessas linhas. E não havia nenhuma informação sobre os locais em que só a indentação tinha sido alterada. A junção foi um pequeno pesadelo por isso".</para>
+
+<para
+>"Daí, foi este o início. A primeira versão podia mostrar as diferenças dentro de uma linha e mostrava as diferenças de espaços em branco. Depois, muitas outras funcionalidades foram adicionada para aumentar a utilidade".</para>
+
+<para
+>"Por exemplo, se você quiser comparar algum texto rapidamente, então poderá copiá-lo para a área de transferência e colá-lo noutra janela de diferenças".</para>
+
+<para
+>"Uma funcionalidade que necessitou de um grande esforço foi a comparação de pastas e a funcionalidade de junção, o que transformou o programa quase num navegador de ficheiros completo".</para>
+
+<para
+>Espero que o &kdiff3; funcione para si também. Divirta-se!</para>
+
+<para
+>Joachim Eibl (2003)</para>
+</sect1>
+
+<sect1 id="screenshots"
+><title
+>Imagens e Funcionalidades</title>
+<para
+>Esta imagem mostra a diferença entre dois ficheiros de texto</para>
+<para
+>(A usar uma versão anterior do &kdiff3;):</para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para
+>A junção por 3-vias é suportada por completo. Isto é útil se duas pessoas alterarem o código de forma independente.</para>
+<para
+>O ficheiro original (a base) é usado para ajudar o &kdiff3; a seleccionar automaticamente as alterações correctas.</para>
+<para
+>O editor de junções, por baixo das janelas de diferenças, permite-lhe resolver os conflitos, enquanto lhe mostra o resultado que irá obter.</para>
+<para
+>Poderá até editar o resultado.</para>
+
+<para
+>Esta imagem mostra três ficheiros de entrada a serem reunidos:</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+<para id="dirmergebigscreenshot"
+>O &kdiff3; também o ajuda a comparar e a juntar pastas completas. Esta imagem mostra o &kdiff3; durante a junção de pastas:</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="dirmergebig.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+
+</sect1>
+
+<sect1 id="features"
+><title
+>Mais Funcionalidades</title>
+<sect2
+><title
+>Visualizador de Diferenças Linha-a-Linha e Carácter-a-Carácter</title>
+
+<para
+>Usando as possibilidades de um ambiente gráfico a cores, o &kdiff3; mostra exactamente o que é a diferença. Quando tiver de fazer várias revisões de código, irá gostar disto.</para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="letter_by_letter.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Ver as Diferenças de Espaços em Branco de uma Vez</title>
+<para
+>Os espaços e as tabulações que são diferentes aparecem visivelmente. Quando as linhas diferem apenas pelo número de espaços em branco, isto poderá ser visto num instante se olhar para a coluna do resumo do lado esquerdo. (Não há mais problemas quando as pessoas mudam a indentação). </para>
+
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="white_space.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Diferenças Triplas</title>
+<para
+>Analise três ficheiros e veja no que eles diferem. </para
+><para
+>As janelas da esquerda/meio/direita são intituladas A/B/C e têm as cores azul/verde/magenta, respectivamente. </para
+><para
+>Se um dos ficheiros for igual e o outro for diferente numa linha, então a cor mostra qual o ficheiro que é diferente. A cor vermelha indica que ambos os ficheiros são diferentes. </para>
+<screenshot
+><mediaobject>
+   <imageobject
+><imagedata fileref="triple_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+</sect2>
+
+<sect2
+><title
+>Junção Confortável de Dois ou Três Ficheiros de Entrada</title>
+<para
+>O &kdiff3; pode ser usado para juntar dois ou três ficheiros de entrada e junta automaticamente o máximo possível. O resultado é apresentado numa janela editável em que a maioria dos conflitos poderá ser resolvida com um simples 'click' do rato: Seleccione os botões A/B/C na barra de botões para seleccionar a origem que deverá ser usada. Dado que esta janela de resultado é um editor, até mesmo os conflitos que necessitem de mais correcções poderão ser resolvidos aqui sem necessitarem de outra ferramenta. </para>
+</sect2>
+
+<sect2
+><title
+>E ...</title>
+<itemizedlist>
+   <listitem
+><para
+>Navegação rápida através de botões.</para
+></listitem>
+   <listitem
+><para
+>Um 'click' do rato numa coluna de resumo sincroniza todas as janelas para mostrarem a mesma posição.</para
+></listitem>
+   <listitem
+><para
+>Seleccionar e copiar de qualquer janela para colar na janela do resultado da junção.</para
+></listitem>
+   <listitem
+><para
+>Uma coluna de visão geral que mostra onde estão as alterações e os conflitos.</para
+></listitem>
+   <listitem
+><para
+>As cores são ajustáveis de acordo com as suas preferências específicas.</para
+></listitem>
+   <listitem
+><para
+>Um tamanho de tabulação ajustável.</para
+></listitem>
+   <listitem
+><para
+>Uma opção para inserir espaço em vez de tabulações.</para
+></listitem>
+   <listitem
+><para
+>Abertura confortável dos ficheiros através de uma janela ou da linha de comandos.</para
+></listitem>
+   <listitem
+><para
+>Procurar por sequências de texto em todas as janelas de texto. Procurar (<keycombo
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+>) e Procurar o Próximo (<keycap
+>F3</keycap
+>).</para
+></listitem>
+   <listitem
+><para
+>Mostrar os números de linha para cada linha. </para
+></listitem>
+   <listitem
+><para
+>Colar o conteúdo da área de transferência e arrastar o texto para uma janela de introdução de diferenças.</para
+></listitem>
+   <listitem
+><para
+>Transparência na rede através do KIO.</para
+></listitem>
+   <listitem
+><para
+>Pode ser usado como visualizador de diferenças no KDevelop 3.</para
+></listitem>
+   <listitem
+><para
+>Mudança de linha para as linhas compridas para as repartir.</para
+></listitem>
+   <listitem
+><para
+>Suporte para o Unicode, UTF-8 e outras codificações.</para
+></listitem>
+   <listitem
+><para
+>Suporte para as línguas escritas da direita-para-esquerda.</para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="documentation"
+><title
+>Documentação da Comparação e Junção de Ficheiros</title>
+
+<sect1 id="commandline"
+><title
+>Opções da Linha de Comandos</title>
+
+<sect2
+><title
+>Comparar 2 ficheiros: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Juntar 2 ficheiros: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2</replaceable
+> <option
+>-m</option>
+<command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2</replaceable
+> <option
+>-o</option
+> <replaceable
+>resultado</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Comparar 3 ficheiros: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2 ficheiro3</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Juntar 3 ficheiros: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2 ficheiro3</replaceable
+> <option
+>-m</option>
+<command
+>kdiff3</command
+> <replaceable
+>ficheiro1 ficheiro2 ficheiro3</replaceable
+> <option
+>-o</option
+> <replaceable
+>resultado</replaceable
+></screen>
+<para
+>Repare que o <replaceable
+>ficheiro1</replaceable
+> será tratado como base para o <replaceable
+>ficheiro2</replaceable
+> e o <replaceable
+>ficheiro3</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Caso especial: Ficheiros com o mesmo nome </title>
+<para
+>Se todos os ficheiros tiverem o mesmo nome mas estiverem em pastas diferentes, poderá reduzir o trabalho de escrita se indicar apenas o nome do ficheiro para o primeiro parâmetro. &eg;: </para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>pasta1/ficheiro pasta2 pasta3</replaceable
+></screen>
+</sect2>
+
+<sect2
+><title
+>Linha de comandos para iniciar uma comparação ou junção de pastas: </title>
+<para
+>É bastante semelhante, mas diz respeito agora apenas às pastas.</para>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2</replaceable
+> <option
+>-o</option
+> <replaceable
+>destino</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2 pasta3</replaceable>
+<command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2 pasta3</replaceable
+> <option
+>-o</option
+> <replaceable
+>destino</replaceable
+>
+</screen>
+<para
+>Para a comparação e junção de pastas, poderá continuar a ler <link linkend="dirmerge"
+>aqui</link
+>.</para>
+</sect2>
+
+<sect2
+><title
+>Para mais informações sobre as opções da linha de comandos use: </title>
+<screen
+><command
+>kdiff3</command
+> --help
+Opções:
+  -m, --merge               Junta o resultado.
+  -b, --base ficheiro       Ficheiro de base explícito. Para compatibilidade com certas ferramentas.
+  -o, --output ficheiro     Ficheiro de resultado. O -m é implícito. P.ex.: -o novo_ficheiro.txt
+  --out ficheiro            O ficheiro de resultado, mais uma vez. (Para compatibilidade com certas ferramentas.)
+  --auto                    Sem interface gráfica se todos os conflitos são resolúveis. (Necessita do -o)
+  --qall                    Não resolve os conflitos automaticamente. (Para compatibilidade...)
+  --L1 nome1                Substituto visível do nome do ficheiro 1 (base).
+  --L2 nome2                Substituto visível do nome do ficheiro 2.
+  --L3 nome3                Substituto visível do nome do ficheiro 3.
+  -L, --fname nome          Um substituto visível alternativo para o nome. Use este uma vez para cada ficheiro de entrada.
+  -u                        Não faz efeito. Para compatibilidade com certas ferramentas.</screen>
+</sect2>
+
+</sect1>
+
+<sect1 id="opendialog"
+><title
+>Janela de Abertura</title>
+<para
+>Dado que é necessário seleccionar vários ficheiros, o programa tem uma janela de abertura especial: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="open_dialog.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>A janela de abertura permite editar os nomes dos ficheiros à mão, seleccionando um ficheiro através do navegador dos ficheiros (<guilabel
+>Ficheiro...</guilabel
+>) ou permite escolher os ficheiros recentes a partir das listas respectivas. Se abrir a janela de novo, então os nomes actuais irão nela permanecer. O terceiro ficheiro de entrada não é obrigatório. Se o item do <quote
+>C</quote
+> continuar em branco, então só será efectuada uma análise de diferenças com dois ficheiros. </para
+><para
+>Poderá também seleccionar uma pasta com o <guilabel
+>Dir...</guilabel
+>. Se for indicado como A uma pasta, então será iniciada uma comparação/junção de pastas. Se o A se referir a um ficheiro, mas o B, o C ou o destino corresponderem a pastas, então o &kdiff3; usa o nome do ficheiro em A nas pastas indicadas. </para
+><para
+>Se a <guilabel
+>Junção</guilabel
+> estiver seleccionada, então o campo <guilabel
+>Resultado</guilabel
+> fica editável. Mas não é obrigatório indicar o nome do ficheiro do resultado imediatamente. Você poderá também adiar isto até à gravação. </para
+><para
+>O botão <guibutton
+>Configurar...</guibutton
+> abre a janela de opções, para que possa definir as opções antes de executar a análise. </para>
+</sect1>
+
+<sect1 id="pasteinput"
+><title
+>Colar e Arrastar Dados</title>
+<para
+>Em algumas ocasiões, você poderá querer comparar partes de um texto que não está em nenhum ficheiro próprio. O &kdiff3; também lhe permite colar texto da área de transferência para a janela de introdução de diferenças que esteja em primeiro plano. A análise de diferenças irá ocorrer então. Na janela de abertura, você não irá necessitar de indicar ficheiros, fechando-a então com o <guibutton
+>Cancelar</guibutton
+>. </para
+><para
+>O utilizador também poderá usar o 'drag and drop': Arraste um ficheiro de um gestor de ficheiros ou o texto seleccionado de um editor e arrastá-lo para uma janela de introdução de diferenças. </para
+><para
+>Qual é a ideia? Algumas vezes um ficheiro contém duas funções semelhantes, mas a verificação sobre as semelhanças entre elas é um grande esforço, se você precisar de criar primeiro dois ficheiros e depois carregá-los. Assim, poderá simplesmente copiar, colar e comparar as secções relevantes. </para>
+<note
+><para
+>De momento, você não poderá arrastar nada a partir do &kdiff3;. Só é permitido largar dados nas janelas de introdução de diferenças. </para
+></note>
+<warning
+><para
+>Alguns editores ainda interpretam à mesma o 'drag and drop' noutro programa como o Cortar (em vez do Copiar) e Colar. Os seus dados originais poderão deste modo perder-se. </para
+></warning>
+</sect1>
+
+<sect1 id="interpretinginformation"
+><title
+>Interpretar a Informação nas Janelas de Introdução</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>No cimo de cada janela de texto existe a sua <quote
+>linha de informação</quote
+>. As linhas de informação das janelas de introdução de diferenças contêm uma letra <guilabel
+>A</guilabel
+>, <guilabel
+>B</guilabel
+> ou <guilabel
+>C</guilabel
+>, o nome do ficheiro e o número da primeira linha visível da janela. (Lembre-se que a janela <guilabel
+>C</guilabel
+> é opcional). Cada linha de informação aparece com uma cor diferente. (Se as localizações forem demasiado extensas para caberem, poderá mover o cursor do rato para cima da linha de informação, de modo a que apareça uma dica com o nome completo). </para
+><para
+>As três janelas de entrada têm atribuídas as letras <guilabel
+>A</guilabel
+>, <guilabel
+>B</guilabel
+> e <guilabel
+>C</guilabel
+>. O <guilabel
+>A</guilabel
+> tem uma cor azul, o <guilabel
+>B</guilabel
+> tem uma verde e o <guilabel
+>C</guilabel
+> magenta. (Estas são as cores por omissão, mas podem ser alteradas no menu de configuração). </para
+><para
+>Quando é detectada uma diferença, então a cor mostra qual o ficheiro de entrada que é diferente. Quando os outros ficheiros de entrada diferem todos, então a cor usada para exprimir isto é a vermelha por omissão (<guilabel
+>Cor do conflito</guilabel
+> na Configuração). Este esquema de cores é particularmente útil no caso de três ficheiros de entrada, os quais serão vistos na próxima secção (<link linkend="merging"
+>Juntar</link
+>). </para
+><para
+>À esquerda de cada texto está a <quote
+>coluna de resumo</quote
+>. Se ocorrerem diferenças numa linha, então a coluna do resumo mostra a cor respectiva. Para uma diferença por espaços em branco, o resumo fica axadrezado. Para as linguagens de programação em que os espaços em branco não são muito importantes, isto é útil para ver de um modo geral se existe algo de importante modificado. (No C/C++, os espaços em branco só são importantes dentro de cadeias de caracteres, comentários, pré-processador e em algumas outras situações esotéricas. </para
+><para
+>A linha vertical que separa a coluna do resumo e o texto é interrompida (tracejada), se o ficheiro de entrada não tiver aí nenhuma linha. Quando a mudança de linha estiver activa, então esta linha vertical aparece ponteada para as linhas repartidas. </para
+><para
+>Do lado direito, aparece uma coluna de <quote
+>resumo</quote
+> à esquerda da barra de posicionamento vertical. Ela mostra a coluna de resumo comprimida dos dados de <guilabel
+>A</guilabel
+>. Todas as diferenças e conflitos ficam visíveis numa vista rápida. Quando só são usadas duas janelas de entrada, então todas as diferenças aparecem a vermelho, dado que cada diferença é também um conflito. Um rectângulo preto delimita a parte visível dos dados de entrada. Para as linhas de dados bastante compridas, quando o número de linhas de dados é maior do que a altura da coluna de resumo em pixels, então várias linhas de dados de entrada irão partilhar uma linha de resumo. Um conflito, neste caso, terá então uma prioridade elevada sobre as diferenças simples, que por sua vez têm prioridade sobre a ausência de alterações, como tal não se perde nenhuma diferença ou conflito neste caso. Se carregar nesta coluna de resumo, será mostrado o texto correspondente. </para>
+</sect1>
+
+
+<sect1 id="merging"
+><title
+>Juntar e a Janela do Editor do Resultado da Junção</title>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="screenshot_merge.png" format="PNG"/></imageobject>
+</mediaobject
+></screenshot>
+<para
+>A janela do editor do resultado da junção (por baixo das janelas de introdução de diferenças) também tem uma linha de informação no topo que mostra <guilabel
+>Resultado:</guilabel
+>, o nome do ficheiro e <guilabel
+>[Modificado]</guilabel
+> se você tiver alterado alguma coisa. Normalmente irá conter algum texto resultante das funcionalidades de junção automática, mas frequentemente irá conter também conflitos. </para
+><para
+>A gravação está desactivada até que todos os conflitos estejam resolvidos. (Use os botões para <guibutton
+>Ir para o Conflito por Resolver Anterior/Seguinte</guibutton
+> para descobrir os conflitos que faltam.) </para
+><para
+>Com apenas dois ficheiros de entrada, todas as diferenças são também conflitos que necessitam de ser resolvidos manualmente. </para
+><para
+>Com três ficheiros de entrada, o primeiro ficheiro é tratado como a base, enquanto que o segundo e o terceiro contêm as modificações. Quando, em qualquer linha, só o ficheiro B ou o C tiverem sido alterados mas não ambos, então será seleccionada a origem alterada. Só quando o B e o C alteraram as mesmas linhas é que a ferramenta detecta um conflito que deverá ser resolvido manualmente. Quando o B e o C são iguais mas não são o mesmo que o A, é seleccionado o C. </para
+><para
+>A janela do editor do resultado da junção também tem uma coluna de resumo à esquerda. Mostra a letra do ficheiro de entrada para o qual foi seleccionada a linha ou nada, se todas as três origens são iguais nessa linha. Para os conflitos, ela mostra um ponto de interrogação <guilabel
+>?</guilabel
+> e a linha mostra <guilabel
+>&lt;Conflito na Junção&gt;</guilabel
+>, tudo a vermelho. Dado que a resolução de conflitos linha a linha poderá levar bastante tempo, as linhas são reunidas em grupos com as mesmas características de diferenças e conflitos. Mas os conflitos só com espaços em branco são separados dos outros conflitos para facilitar a junção dos ficheiros em que a indentação foi alterada em várias linhas. </para
+><para
+>Ao carregar na coluna do resumo com o &LMB; em ambas as janelas, o grupo que pertença a essa linha será seleccionado em todas as janelas e o início desse grupo será mostrado. (Isto poderá envolver um salto de posição automático para a janelas se o início do grupo não estiver visível). Este grupo fica então o <quote
+>grupo actual</quote
+>. Fica realçado com a <quote
+>Cor de fundo do intervalo actual</quote
+> e aparece uma barra preta do lado esquerdo do texto. </para
+><para
+>Repare nos botões de selecção que contêm as letras <guibutton
+>A</guibutton
+>, <guibutton
+>B</guibutton
+> e <guibutton
+>C</guibutton
+> na barra de botões por baixo do menu. Quando carregar num desses botões de selecção, as linhas desse ficheiro de entrada serão adicionadas ao fim do grupo seleccionado se esse grupo não contiver essa origem antes. Caso contrário, as linhas serão removidas. </para
+><para
+>Para além disso, o utilizador poderá editar qualquer linha. A coluna de resumo irá mostrar um <guibutton
+>m</guibutton
+> para cada linha modificada. </para
+><para
+>Algumas das vezes, quando uma linha é removida tanto por junção automática como por edição e não ficam mais nenhumas linhas nesse grupo, então o texto <computeroutput
+>&lt;Sem linha de origem&gt;</computeroutput
+> irá aparecer nessa linha. Isto é apenas um substituto para o grupo, quando decidir mudar de ideias e seleccionar algum texto de origem de novo. Este texto não irá aparecer no ficheiro gravado ou em qualquer selecção que deseje copiar e colar. </para
+><para
+>O texto <quote
+>&lt;Conflito na Junção&gt;</quote
+> irá aparecer na área de transferência se copiar e colar algum texto que tenha uma dessas linhas. Mas tenha à mesma cuidado ao fazê-lo. </para
+><para
+>A junção normal irá começar por resolver os conflitos simples automaticamente. Mas o menu <guimenu
+>Juntar</guimenu
+> oferece algumas acções para outros usos comuns. Se você tiver de seleccionar a mesma origem para a maioria dos conflitos, então poderá escolher <quote
+>A</quote
+>, <quote
+>B</quote
+> ou <quote
+>C</quote
+> em qualquer lado ou apenas para os conflitos que continuem ainda por resolver ou então para os conflitos de espaços em branco por resolver. Se quiser decidir cada um dos deltas por si próprio, poderá <guilabel
+>Passar os deltas para conflitos</guilabel
+>. Ou, se preferir voltar às escolhas automáticas do &kdiff3;, seleccione então a opção <guilabel
+>Resolver automaticamente os conflitos simples</guilabel
+>. Nesse caso, o &kdiff3; irá reiniciar a junção. Para as acções que alteram as suas modificações anteriores, o &kdiff3; pedir-lhe-á uma confirmação antes de prosseguir. </para>
+
+<note
+><para
+>Ao escolher uma das origens para os conflitos que não sejam de espaços em branco e as opções <guilabel
+>Ignorar os Números</guilabel
+> ou <guilabel
+>Ignorar os Comentários de C/C++</guilabel
+> forem usadas, então as alterações nos números ou comentários serão tratadas como espaços em branco também. </para
+></note>
+</sect1>
+
+<sect1 id="navigation"
+><title
+>Navegação e Edição</title>
+<para
+>Muita da navegação será feita com as barras de posicionamento e com o rato, mas você poderá também navegar com as teclas. Se carregar numa das janelas, então poderá usar as teclas de cursores, o <keycap
+>Page Up</keycap
+>, o <keycap
+>Page Down</keycap
+>, o <keycap
+>Home</keycap
+>, o <keycap
+>End</keycap
+>, o <keycombo action="simul"
+>&Ctrl;<keycap
+>Home</keycap
+></keycombo
+> ou o <keycombo action="simul"
+>&Ctrl;<keycap
+>End</keycap
+></keycombo
+> como iria usar noutros programas. A coluna de resumo ao lado da barra de posicionamento vertical dos ficheiros de entrada poderá também ser usada para navegar se carregar nela. </para
+><para
+>Poderá também usar a roda do rato para subir ou descer. </para
+><para
+>No editor do resultado da junção, poderá também usar as outras teclas para editar. Poderá alternar entre o modo de inserção ou sobreposição com a tecla <keycap
+>Insert</keycap
+>. (Por omissão, está no modo de inserção). </para
+><para
+>Um 'click' com o &LMB; em qualquer coluna de resumo irá sincronizar todas as janelas para mostrar o início do mesmo grupo de linhas (tal como é explicado em <link linkend="merging"
+>Junção</link
+>). </para
+><para
+>A barra de botões também contém sete botões de navegação com os quais poderá saltar para a primeira/última/actual diferença, para a diferença seguinte/anterior  (<keycombo action="simul"
+>&Ctrl;<keycap
+>Baixo</keycap
+></keycombo
+>/<keycombo action="simul"
+>&Ctrl;<keycap
+>Cima</keycap
+></keycombo
+>), para o conflito seguinte/anterior (<keycombo action="simul"
+>&Ctrl;<keycap
+>Pg Down</keycap
+></keycombo
+>/<keycombo action="simul"
+>&Ctrl;<keycap
+>Pg Up</keycap
+></keycombo
+>) ou para o conflito seguinte/anterior por resolver. Repare que, para o &kdiff3;, um <quote
+>conflito</quote
+> que não foi resolvido automaticamente no início da junção irá permanecer como <quote
+>conflito</quote
+>, mesmo que resolvido. Daí a necessidade de distinguir os <quote
+>conflitos por resolver</quote
+>. </para
+><para
+>Existe também um botão <guibutton
+>Ir automaticamente para o próximo conflito por resolver após a selecção do código</guibutton
+> (Avanço Automático). Se activar esta opção, então sempre que seleccionar uma origem, o &kdiff3; irá saltar para o próximo conflito por resolver automaticamente. Isto poderá ajudar quando quiser sempre escolher apenas uma origem. Quando precisar de ambas as origens, ou se quiser editar depois de seleccionar, então provavelmente irá querer desligar esta opção. Antes de prosseguir para o próximo conflito por resolver, o &kdiff3; mostra-lhe o efeito da sua escolha durante algum tempo. Este atraso é ajustável na Configuração da Diferença &amp; Junção: Poderá indicar o <guilabel
+>Atraso no avanço automático</guilabel
+> num valor entre 0 e 2 000 milisegundos.</para>
+<tip
+><para
+>Está farto de carregar consecutivamente? Use um pequeno atraso de Avanço Automático e os atalhos <keycombo action="simul"
+>&Ctrl;<keycap
+>1</keycap
+></keycombo
+>, <keycombo action="simul"
+>&Ctrl;<keycap
+>2</keycap
+></keycombo
+> e <keycombo action="simul"
+>&Ctrl;<keycap
+>3</keycap
+></keycombo
+> para seleccionar os ficheiros A, B ou C para muitos dos conflitos.</para
+></tip>
+</sect1>
+
+<sect1 id="selections"
+><title
+>Seleccionar, Copiar e Colar</title>
+<para
+>As janelas de entrada não mostram nenhum cursor, como tal as selecções necessitam de ser feitas com o rato, ao carregar com o &LMB; no início, mantendo o botão do rato carregado e indo até ao fim, momento em que larga o botão do rato de novo. Poderá também seleccionar uma palavra se fizer duplo-click nela. No editor do resultado da junção poderá também seleccionar com o teclado se mantiver a tecla &Shift; carregada enquanto navega com as teclas de cursores. </para
+><para
+>Para copiar para a área de transferência, precisa de carregar no botão "Copiar" (<keycombo action="simul"
+>&Ctrl;<keycap
+>C</keycap
+></keycombo
+> ou <keycombo action="simul"
+>&Ctrl;<keycap
+>Insert</keycap
+></keycombo
+>). Porém, existe uma opção para <quote
+>Copiar Automaticamente a Selecção</quote
+>. Se esta estiver activa, então tudo o que seleccionar será copiado imediatamente, sem que você tenha de copiar explicitamente. Todavia, preste atenção ao usar isto, dado que o conteúdo da área de transferência poderá ficar assim destruído por acidente. </para
+><para
+>O <guimenuitem
+>Cortar</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>X</keycap
+></keycombo
+> ou o <keycombo action="simul"
+>&Shift;<keycap
+>Delete</keycap
+></keycombo
+>) copia para a área de transferência e remove o texto seleccionado, enquanto o <guimenuitem
+>Colar</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>V</keycap
+></keycombo
+> ou <keycombo action="simul"
+>&Shift;<keycap
+>Insert</keycap
+></keycombo
+>) insere o texto na área de transferência, na posição do cursor, ou sobre a selecção actual. </para>
+</sect1>
+
+<sect1 id="saving"
+><title
+>Gravar</title>
+<para
+>A gravação só será permitida quando todos os conflitos tiverem sido resolvidos. Se o ficheiro já existir e a opção de <quote
+>Salvaguarda dos ficheiros</quote
+> estiver activa, então o ficheiro existente verá o seu nome mudado de modo a ter uma extensão <filename role="extension"
+>.orig</filename
+>, mas se existir um destes ficheiros será removido. Quando você sair ou iniciar outra análise de diferenças e os dados não tiverem sido gravados ainda, então o &kdiff3; irá perguntar se você deseja gravar, cancelar ou prosseguir sem gravar. (O &kdiff3; não lida com nenhuns sinais ('signals') do sistema. Por isso, se fizer um <quote
+>kill</quote
+> ao &kdiff3;, então os seus dados serão perdidos.) </para
+><para
+>Os fins de linha são gravados de acordo com o método normal do sistema operativo subjacente. Para os UNIXes, cada linha terminada com um carácter de 'linefeed' <literal
+>\n</literal
+>, enquanto que nos sistemas baseados em Win32, cada linha termina com um 'carriage-return' + um 'linefeed' <literal
+>\r\n</literal
+>. O &kdiff3; não preserva os fins de linha dos ficheiros de entrada, o que também significa que você não deverá usar o &kdiff3; com ficheiros binários. </para>
+</sect1>
+
+<sect1 id="find"
+><title
+>Procurar Sequências de Texto</title>
+<para
+>Você poderá procurar por uma sequência de texto em qualquer janela de texto do &kdiff3;. O comando <guimenuitem
+>Procurar ...</guimenuitem
+> (<keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+>) no menu <guimenu
+>Editar</guimenu
+> abre uma janela que lhe permite indicar o texto a procurar. Poderá também seleccionar as janelas que deverão ser pesquisadas. A procura irá ter início sempre no topo do ficheiro. Use o comando <guimenuitem
+>Procurar o Próximo</guimenuitem
+> (F3) para prosseguir com a próxima ocorrência. Se optar por procurar em várias janelas, então a primeira janela será percorrida de alto a baixo antes de a procura começar na próxima janela a partir do topo de novo, &etc; </para>
+</sect1>
+
+
+<sect1 id="options"
+><title
+>Opções</title>
+<para
+>As opções e a lista de ficheiros recentes serão gravadas quando você sair do programa e serão carregadas de novo quando o iniciar. (Menu <menuchoice
+><guimenu
+>Configuração</guimenu
+><guimenuitem
+>Configurar o KDiff3...</guimenuitem
+></menuchoice
+>) </para>
+<sect2
+><title
+>Tipo de Letra</title>
+<para
+>Seleccione um tipo de letra monoespaçado. (Em alguns sistemas, esta janela irá também apresentar os tipos de letra de tamanho variável, mas você não os deverá usar.) </para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Texto Itálico para os Deltas:</guilabel
+></term
+><listitem
+><para
+>Se seleccionar isto, então as diferenças no texto serão escritas com a versão itálica do tipo de letra seleccionado. Se o tipo de letra não suportar caracteres itálicos, isto não fará nada.</para>
+   </listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Cores</title>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Cor principal:</guilabel
+></term
+><listitem
+><para
+>Normalmente preto. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor de fundo:</guilabel
+></term
+><listitem
+><para
+>Normalmente branco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor de Fundo das Diferenças:</guilabel
+></term
+><listitem
+><para
+>Normalmente a cinzento claro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor A:</guilabel
+></term
+><listitem
+><para
+>Normalmente a azul escuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor B:</guilabel
+></term
+><listitem
+><para
+>Normalmente a verde escuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor C:</guilabel
+></term
+><listitem
+><para
+>Normalmente a magenta escuro. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor do Conflito:</guilabel
+></term
+><listitem
+><para
+>Normalmente a vermelho.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor de fundo do intervalo actual:</guilabel
+></term
+><listitem
+><para
+>Normalmente a amarelo claro.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Cor de fundo da diferença do intervalo actual:</guilabel
+></term
+><listitem
+><para
+>Normalmente a amarelo escuro.</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Nos sistemas com apenas 16 ou 256 cores, alguns dos tons acima descritos não estão disponíveis de forma pura. Nesses sistemas, o botão <guibutton
+>Predefinições</guibutton
+> irá escolher uma cor pura. </para>
+</sect2>
+
+<sect2
+><title
+>Configuração do Editor</title>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>O Tab insere espaços:</guilabel
+></term
+><listitem
+><para
+>Se isto estiver desactivado e você carregar na tecla do tabulador, será inserido um carácter de tabulação, caso contrário serão inseridos os espaços com a quantidade apropriada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Tamanho das tabulações:</guilabel
+></term
+><listitem
+><para
+>Poderá ser ajustado de acordo com as suas necessidades específicas. Por omissão é igual a 8. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Indentação automática:</guilabel
+></term
+><listitem
+><para
+>Ao carregar em &Enter; ou <keycap
+>Return</keycap
+> a indentação da linha anterior é usada para uma nova linha. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Copiar automaticamente a selecção:</guilabel
+></term
+><listitem
+><para
+>Quando activo, qualquer selecção é posta automaticamente na área de transferência e não precisa de a copiar explicitamente. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Estilo de fim de linha:</guilabel
+></term
+><listitem
+><para
+>Ao gravar, o utilizador poderá seleccionar o estilo do fim de linha que prefere.O valor por omissão é a escolha comum para o sistema operativo usado. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Utilizar a codificação local:</guilabel
+></term
+><listitem
+><para
+>Para mostrar os caracteres estrangeiros. Tente alterar isto se alguns dos caracteres da sua língua não forem mostrados correctamente. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Configuração da Diferença e da Junção</title>
+<para
+>Ao comparar os ficheiros, o &kdiff3; tenta primeiro corresponder as linhas iguais em todos os ficheiros de entrada. Só durante este passo é que poderá ignorar os espaços em branco. O segundo passo compara cada uma das linhas. Neste passo, os espaços em branco não serão ignorados. Também durante a junção os espaços em branco não serão ignorados. </para>
+
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Manter o 'Carriage Return':</guilabel
+></term
+><listitem
+><para
+>Alguns editores (em alguns sistemas) gravam os caracteres de 'carriage return' <literal
+>\r</literal
+> e 'linefeed' <literal
+>\n</literal
+> no fim da linha, enquanto que outros só irão gravar o 'linefeed' <literal
+>\n</literal
+>. Normalmente o &kdiff3; ignora o 'carriage return', mas aí os ficheiros que não tenham tamanhos iguais pareçam de facto iguais numa comparação lado-a-lado. Quando esta opção estiver activa, então os caracteres de 'carriage return' ficarão visíveis mas serão tratados como espaços em branco. Ela necessita estar desligada durante uma junção. Por omissão, está desligada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar os números:</guilabel
+></term
+><listitem
+><para
+>Por omissão está desligado. Os caracteres dos números (<quote
+><literal
+>0-9</literal
+></quote
+>, <quote
+><literal
+>.</literal
+></quote
+>, <quote
+><literal
+>-</literal
+></quote
+>) serão ignorados na primeira parte da análise, na qual é feita a correspondência de linhas. No resultado, as diferenças serão mostradas de qualquer forma, mas serão tratadas como espaços em branco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar comentários de C/C++:</guilabel
+></term
+><listitem
+><para
+>Por omissão está desligado. As alterações nos comentários serão tratadas como as alterações nos espaços em branco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ignorar a capitalização:</guilabel
+></term
+><listitem
+><para
+>Por omissão está desligado. As diferenças de capitalização (como o <quote
+><literal
+>A</literal
+></quote
+> vs. o <quote
+><literal
+>a</literal
+></quote
+>) serão tratadas como diferenças de espaços em branco. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando do pré-processador:</guilabel
+></term
+><listitem
+><para
+>Veja a <link linkend="preprocessors"
+>próxima secção</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando do Pré-processador para a Correspondência de Linhas:</guilabel
+></term
+><listitem
+><para
+>Veja a <link linkend="preprocessors"
+>próxima secção</link
+>. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Tentar com Persistência:</guilabel
+></term
+><listitem
+><para
+>Tenta com mais afinco encontrar um delta ainda menor. (Por omissão está ligado). Isto irá ser efectivo provavelmente para os ficheiros grandes e complicados. Será também lento para os ficheiros muito grandes. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Atraso no Avanço Automático (ms):</guilabel
+></term
+><listitem
+><para
+>Quando estiver no modo de avanço automático esta opção indica o intervalo de tempo durante o qual mostrar o resultado da selecção antes de saltar para o próximo conflito não resolvido. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Predefinição da junção de espaço em branco com 2/3 ficheiros:</guilabel
+></term
+><listitem
+><para
+>Resolve automaticamente todos os conflitos de espaços em branco, seleccionando o ficheiro indicado. (Por omissão, é com uma escolha manual). É útil se os espaços em branco não serão importantes em muitos dos ficheiros. Se precisar disto apenas ocasionalmente, é melhor usar o <guimenuitem
+>Escolher A/B/C nos Conflitos de Espaços em Branco Por Resolver</guimenuitem
+> no menu <guimenu
+>Junção</guimenu
+>. Lembre-se que, se activar o <guilabel
+>Ignorar os Números</guilabel
+> ou o <guilabel
+>Ignorar os Comentários de C/C++</guilabel
+>, então esta escolha automática também se aplica para os conflitos nos números ou nos comentários. </para
+></listitem
+></varlistentry>
+</variablelist>
+
+</sect2>
+
+<sect2
+><title
+>Junção de Pastas</title>
+<para
+>Estas opções dizem respeito à análise da pasta e ao tratamento da junção: Veja em <link linkend="dirmergeoptions"
+>Comparação de Pastas/Juntar</link
+> para mais detalhes. </para
+><para
+>Existe aqui ainda uma opção que também é relevante para gravar os ficheiros únicos: </para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Ficheiros de segurança:</guilabel
+></term
+><listitem
+><para
+>Quando um ficheiro é gravado e já existe uma versão anterior, então a versão original irá mudar para um nome com uma extensão <filename role="extension"
+>.orig</filename
+>. Se já existir um ficheiro de cópia de segurança antigo com uma extensão <filename role="extension"
+>.orig</filename
+>, então este será removido sem ficar nenhuma cópia de segurança. </para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2
+><title
+>Opções Regionais e da Língua</title>
+  <variablelist>
+    <varlistentry
+><term
+><guilabel
+>Língua:</guilabel
+></term
+><listitem
+><para
+>Ajusta a língua da interface do utilizador. Se mudar esta opção não afectará o programa em execução. Terá de sair e reiniciar o &kdiff3; para que a língua seja alterada. (Esta opção não está disponível na versão para &kde; do &kdiff3;, porque a língua é ajustável na configuração global do &kde;). </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Utilizar a mesma codificação para tudo:</guilabel
+></term
+><listitem
+><para
+>As seguintes opções de codificação poderão ser ajustadas em separado para cada item ou, se esta opção for verdadeira, todos os valores irão usar o primeiro valor. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificação Local:</guilabel
+></term
+><listitem
+><para
+>Por cima dos selectores de codificação, aparece uma nota que lhe indica a sua codificação local. (Esta não é ajustável, mas está aqui apenas para o informar, no caso de não saber qual é a sua codificação local e tiver de a seleccionar). </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificação do Ficheiro para o A/B/C:</guilabel
+></term
+><listitem
+><para
+>Ajuste a codificação do ficheiro para os ficheiros de entrada. Isto provoca algum efeito na forma como os caracteres especiais são interpretados. Dado que poderá ajustar cada codificação em separado, poderá até comparar e juntar ficheiros que foram gravados com codificações diferentes. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificação do Ficheiro para Junção de Resultado e Gravação:</guilabel
+></term
+><listitem
+><para
+>Quando tiver editado um ficheiro, poderá então ajustar a codificação que será usada ao gravar para o disco. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Codificação do Ficheiro dos Ficheiros de Pré-processador:</guilabel
+></term
+><listitem
+><para
+>Quando definir pré-processadores, este poderão não ser capazes de lidar com a sua codificação. (p.ex.: Os seus ficheiros estão em Unicode de 16 bits e o seu pré-processador só consegue lidar com ASCII de 8 bits). Com esta opção, poderá definir a codificação do resultado do pré-processador. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><guilabel
+>Língua da Esquerda-para-a-Direita:</guilabel
+></term
+><listitem
+><para
+>Algumas línguas são escritas da direita para a esquerda. Quando esta opção está activa, o &kdiff3; desenha o texto da direita para a esquerda nas janelas de diferenças dos ficheiros de entrada e na janela do resultado da junção. Repare que, se iniciar o &kdiff3; com a opção da linha de comandos <option
+>--reverse</option
+>, então toda a disposição será feita também da direita para a esquerda. (Esta é uma funcionalidade oferecida pelo &Qt;.) Esta documentação foi escrita a assumir que a <quote
+>Língua da direita-para-a-esquerda</quote
+> ou a disposição inversa estão desactivadas. Por isso, algumas das referências a <quote
+>esquerda</quote
+> ou <quote
+>direita</quote
+> deverão ser substituídas pela versão inversa, se usar estas opções. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
+>Diversos</title>
+<para
+>Estas opções e acções estão disponíveis nos menus ou na barra de botões.</para>
+<variablelist>
+  <varlistentry
+><term
+><guilabel
+>Mostrar os números de linha:</guilabel
+></term
+><listitem
+><para
+>O utilizador pode seleccionar se os números de linhas são mostrados para os ficheiros de entrada.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Mostrar as diferenças de espaços e tabulações:</guilabel
+></term
+><listitem
+><para
+>Algumas das vezes os espaços e tabulações visíveis são incómodos. Poderá com isto desactivar esta funcionalidade.</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Mostrar os espaços em branco:</guilabel
+></term
+><listitem
+><para
+>Desligue isto para suprimir o realce das alterações apenas nos espaços em branco no texto ou nas colunas de vista geral. (Lembre-se que isto também se aplica às alterações nos números ou comentários se as opções <guilabel
+>Ignorar os números</guilabel
+> ou <guilabel
+>Ignorar os Comentários de C/C++</guilabel
+> estiverem activas.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Opções da vista geral:</guilabel
+></term
+><listitem
+><para
+>Estas opções só estão disponíveis quando você compara três ficheiros. No modo normal, todas as diferenças são mostradas na coluna de resumo codificada a cores. Mas, em alguns casos, você está especialmente interessado nas diferenças entre apenas dois desses três ficheiros. Se seleccionar <guilabel
+>A vs. B</guilabel
+>, <guilabel
+>A vs. C</guilabel
+> ou <guilabel
+>B vs. C</guilabel
+> na coluna de resumo irá aparecer uma segunda coluna com a informação necessária ao lado do resumo normal. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Quebrar linha nas janelas de diferenças:</guilabel
+></term
+><listitem
+><para
+>Reparte as linhas quando o seu tamanho exceder a largura de uma janela. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guimenuitem
+>Mostrar a Janela A/B/C:</guimenuitem
+></term
+><listitem
+><para
+>Em algumas vezes, você poderá usar melhor o espaço no ecrã para as linhas compridas. Esconda as janelas que não são importantes. (No menu <guimenu
+>Janelas</guimenu
+>.)</para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guimenuitem
+>Comutar a Orientação da Repartição:</guimenuitem
+></term
+><listitem
+><para
+>Define se as janelas de diferenças são mostradas uma ao lado da outra (a A à esquerda da B, que está à esquerda da C) ou uma por cima da outra (a A sobre a B, que está sobre a C). Isto também deverá ajudar para as linhas compridas (No menu <guimenu
+>Janelas</guimenu
+>). </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><guilabel
+>Iniciar uma junção rapidamente:</guilabel
+></term
+><listitem
+><para
+>Às vezes, você está a ver os deltas e decide juntá-los. <inlinemediaobject
+><imageobject
+><imagedata fileref="merge_current.png" format="PNG"/></imageobject
+></inlinemediaobject
+> O <guimenuitem
+>Juntar o ficheiro actual</guimenuitem
+> no menu <guimenu
+>Directoria</guimenu
+> também resulta se só comparar dois ficheiros. Um único 'click' começa a junção e usa o nome do último ficheiro de entrada como nome do ficheiro do resultado por omissão. (Quando isto for usado para reiniciar uma junção, então o nome do ficheiro do resultado será mantido.)</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="shortcuts"
+><title
+>Configurar os Atalhos de Teclado</title>
+<para
+>De momento, só a versão para &kde; suporta os atalhos de teclado configuráveis pelo utilizador. (No menu <menuchoice
+><guimenu
+>Configuração</guimenu
+><guimenuitem
+>Configurar os Atalhos...)</guimenuitem
+></menuchoice
+>) </para>
+</sect2>
+</sect1>
+
+<sect1 id="preprocessors"
+><title
+>Comandos do Pré-processador</title>
+<para
+>O &kdiff3; suporta duas opções do pré-processador. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Comando do pré-processador:</guilabel
+></term
+><listitem
+><para
+>Quando for lido qualquer ficheiro, ele será encaminhado através deste comando externo. O resultado deste comando será visível em vez do ficheiro original. O utilizador poderá criar o seu próprio pré-processador que corresponda às suas necessidades específicas. Use isto para cortar partes desnecessárias do ficheiro ou para corrigir automaticamente a indentação, &etc;. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Comando do Pré-processador para a Correspondência de Linhas:</guilabel
+></term
+><listitem
+><para
+>Quando for lido qualquer ficheiro, ele será encaminhado através deste comando externo. Se um comando de pré-processador (ver acima) for também indicado, então o resultado do pré-processador é a entrada para o pré-processador de correspondência de linhas. O resultado só será usado durante a fase de correspondência de linhas da análise. O utilizador poderá escrever o seu próprio pré-processador que corresponda às suas necessidades específicas. Cada linha de entrada terá de ter uma linha de resultado correspondente. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>A ideia é permitir ao utilizador uma maior flexibilidade ao configurar o resultado das diferenças. Mas isto necessita de um programa externo e muitos dos utilizadores não querem escrever um. As boas notícias é que, muitas das vezes, o <command
+>sed</command
+> ou o <command
+>perl</command
+> encarregar-se-ão disso. </para>
+<para
+>Exemplo: Simples caso de teste: Considere o ficheiro <filename
+>a.txt</filename
+> (6 linhas):</para>
+<screen
+>aa
+ba
+ca
+da
+eafa
+</screen>
+
+<para
+>E o ficheiro <filename
+>b.txt</filename
+> (3 linhas):</para>
+
+<screen
+>cg
+dg
+eg</screen>
+
+<para
+>Sem um pré-processador, as seguintes linhas seriam colocadas umas a seguir às outras:</para>
+
+<screen
+>aa - cg
+ba - dg
+ca - eg
+da
+ea
+fa</screen>
+
+<para
+>Isto poderá não ser o desejado, dado que a primeira letra contém a informação realmente interessante. Para ajudar no algoritmo de correspondência, de modo a ignorar a segunda letra, pode ser usado um comando de pré-processamento de correspondência de linhas que substitua o <literal
+>g</literal
+> por um <literal
+>a</literal
+>:</para>
+
+<screen
+><command
+>sed</command
+> 's/g/a/'</screen>
+
+<para
+>Com este comando, o resultado da comparação seria:</para>
+
+<screen
+>aa
+ba
+ca - cg
+da - dg
+ea - eg
+fa</screen>
+
+<para
+>Internamente, o algoritmo de correspondência vê os ficheiros após ter corrido o pré-processador de correspondência de linhas, mas no ecrã, o ficheiro está inalterado. (O pré-processador normal iria mudar os dados também no ecrã.)</para>
+
+<sect2 id="sedbasics"
+><title
+>Bases do <command
+>sed</command
+></title>
+<para
+>Esta secção só introduz algumas funcionalidades muito básicas do <command
+>sed</command
+>. Para mais informações veja as páginas <ulink url="info:/sed"
+>info:/sed</ulink
+> ou <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+> http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. Existe uma versão pré-compilada para o &Windows; em <ulink url="http://unxutils.sourceforge.net"
+> http://unxutils.sourceforge.net</ulink
+>. Repare no facto de que os exemplos seguintes assumem que o comando <command
+>sed</command
+> está numa pasta referida pela sua variável de ambiente <envar
+>PATH</envar
+>. Se não for este o caso, você terá de indicar a localização absoluta completa para o comando. Repare também que os seguintes exemplos usam a plica simples (<literal
+>'</literal
+>) que não irá funcionar para o &Windows;. No &Windows;, você deverá usar as aspas (<literal
+>"</literal
+>) em alternativa.</para>
+<para
+>Neste contexto, só é usado o comando de substituição do <command
+>sed</command
+>:</para>
+<screen
+><command
+>sed</command
+> 's/<replaceable
+>EXP_REG</replaceable
+>/<replaceable
+>SUBSTITUIÇÃO</replaceable
+>/<replaceable
+>OPÇÕES</replaceable
+>'</screen>
+<para
+>Antes de usar um comando novo dentro do &kdiff3;, deverá primeiro testá-lo numa consola. Aqui, o comando <command
+>echo</command
+> é útil. Exemplo:</para>
+
+<screen
+><command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/'
+<computeroutput
+>obracadabra</computeroutput
+></screen>
+
+<para
+>Este exemplo mostra um comando muito simples do 'sed' que substitui a primeira ocorrência do <quote
+>a</quote
+> por um <quote
+>o</quote
+>. Se quiser substituir todas as ocorrências, então irá necessitar da opção <parameter
+>g</parameter
+>:</para>
+
+<screen
+><command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/g'
+<computeroutput
+>obrocodobro</computeroutput
+></screen>
+
+<para
+>O símbolo <quote
+><literal
+>|</literal
+></quote
+> é o comando de 'pipe' (tubo) que transfere o resultado do comando anterior para os dados de entrada do comando seguinte. Se quiser testar com um ficheiro maior, então poderá usar o <command
+>cat</command
+> nos sistemas Unix ou o <command
+>type</command
+> nos sistemas &Windows;. O <command
+>sed</command
+> fará a substituição para cada linha.</para>
+
+<screen
+><command
+>cat</command
+> <replaceable
+>ficheiro</replaceable
+> |<command
+>sed</command
+> <replaceable
+>opções</replaceable
+></screen>
+
+
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Exemplos para a Utilização do <command
+>sed</command
+> no &kdiff3;</title>
+<sect3
+><title
+>Ignorar Outros Tipos de Comentários</title>
+<para
+>De momento, o &kdiff3; só compreende comentários de C/C++. Se usar o Comando do Pré-Processador-de-Correspondência-de-Linhas, poderá também ignorar outros tipos de comentários, se os converter para comentários de C/C++.</para>
+
+<informalexample>
+<para
+>Para ignorar os comentários que começam por <literal
+>#</literal
+>, poderia convertê-los para <literal
+>//</literal
+>. Lembre-se que também terá de activar a opção <guilabel
+>Ignorar os Comentários de C/C++</guilabel
+> para fazer efeito. Um Comando-de-Pré-Processador-de-Correspondência-de-Linhas seria:</para>
+
+<screen
+><command
+>sed</command
+> 's/#/\/\//'</screen>
+</informalexample>
+
+<para
+>Dado que para o <command
+>sed</command
+> o carácter <literal
+>/</literal
+> tem um significado especial, é necessário colocar o carácter <literal
+>\</literal
+> antes de cada <literal
+>/</literal
+> no texto de substituição. Algumas das vezes o <literal
+>\</literal
+> é necessário para adicionar ou remover um significado especial para certos caracteres. As plicas simples (<literal
+>'</literal
+>) antes e depois do comando de substituição são importantes, caso contrário a linha de comandos iria tentar interpretar alguns caracteres especiais como o <literal
+>#</literal
+>, o <literal
+>$</literal
+> ou o <literal
+>\</literal
+> antes de os passar para o <command
+>sed</command
+>. Lembre-se que no &Windows; irá necessitar aqui das aspas (<literal
+>"</literal
+>). O &Windows; substitui os outros caracteres como o <literal
+>%</literal
+>, por isso você terá de fazer algumas experiências.</para>
+</sect3>
+
+<sect3
+><title
+>Diff sem Distinguir Capitalização</title>
+
+<para
+>Use o seguinte Comando-de-Pré-Processador-de-Correspondência-de-Linhas para converter os dados de entrada para maiúsculas:</para>
+
+<screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'</screen>
+
+<para
+>Aqui o <literal
+>.*</literal
+> é uma expressão regular que corresponde a qualquer texto e, no seu contexto, irá corresponder a todos os caracteres da linha. O <literal
+>\1</literal
+> no texto de substituição refere-se ao texto correspondente ao primeiro par de <literal
+>\(</literal
+> e <literal
+>\)</literal
+>. O <literal
+>\U</literal
+> converte o texto inserido para maiúsculas. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar as Palavras-Chave do Controlo de Versões</title>
+<para
+>O <acronym
+>CVS</acronym
+> e os outros sistemas de controlo de versões usam várias palavras-chave para inserir automaticamente sequências de texto geradas (<ulink url="info:/cvs/Keyword substitution"
+>Substituição de palavras-chave</ulink
+>). Todas elas seguem o padrão "$PALAVRA-CHAVE texto gerado$". É necessário agora um Comando de Pré-Processador por Correspondência de Linha que remova apenas o texto gerado:</para>
+<screen
+><command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'</screen>
+
+<para
+>O <literal
+>\|</literal
+> separa as palavras-chave possíveis. Poderá querer modificar esta lista, de acordo com as suas necessidades. O <literal
+>\</literal
+> antes do <literal
+>$</literal
+> é necessário porque, caso contrário, o <literal
+>$</literal
+> irá corresponder ao fim da linha. </para>
+<para
+>Ao experimentar com o <command
+>sed</command
+>, você poderá vir a compreender e até a gostar destas expressões regulares. Elas são úteis porque existem muitos outros programas que suportam algumas coisas desse género. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar os Números</title>
+<para
+>A indiferença em relação aos números é de facto uma opção incorporada. Mas, como outro exemplo, seria assim como iria ficar como um comando do Pré-Processador da Correspondência de Linhas.</para>
+<screen
+><command
+>sed</command
+> 's/[0123456789.-]//g'</screen>
+<para
+>Todos os caracteres dentro do <literal
+>[</literal
+> e do <literal
+>]</literal
+> são uma correspondência que será substituída por nada. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorar Certas Colunas</title>
+<para
+>Em algumas ocasiões um determinado texto tem uma formatação demasiado restrita e contém colunas que deseja sempre ignorar, enquanto que existem outras colunas que deseje preservar para análise. No exemplo seguinte, as primeiras cinco colunas (caracteres) são ignoradas, as próximas dez são preservadas, depois as próximas cinco colunas serão ignoradas de novo e o resto da linha é preservada.</para>
+
+<screen
+><command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'</screen>
+
+<para
+>Cada ponto <literal
+>.</literal
+> corresponde a um único carácter. O <literal
+>\1</literal
+> e o <literal
+>\2</literal
+> no texto de substituição referem-se ao texto correspondente dentro do primeiro e segundo pares de <literal
+>\(</literal
+> e <literal
+>\)</literal
+>, correspondendo ao texto a preservar.</para>
+</sect3>
+
+<sect3
+><title
+>Combinar Várias Substituições</title>
+
+<para
+>Em algumas situações você deseja aplicar várias substituições de uma vez. Poderá então usar o ponto-e-vírgula <literal
+>;</literal
+> para separar uma da outra.</para>
+
+<screen
+><command
+>echo</command
+> abracadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+<computeroutput
+>OBROCODOBRO</computeroutput
+></screen>
+
+</sect3>
+
+<sect3
+><title
+>Usar o <command
+>perl</command
+> em vez do <command
+>sed</command
+></title>
+<para
+>Em vez do <command
+>sed</command
+>, poderá querer usar algo diferente, como o <command
+>perl</command
+>.</para>
+<screen
+><command
+>perl</command
+> -p -e 's/<replaceable
+>EXP_REG</replaceable
+>/<replaceable
+>SUBSTITUIÇÃO</replaceable
+>/<replaceable
+>OPÇÕES</replaceable
+>'</screen>
+<para
+>Mas alguns detalhes são diferentes no <command
+>perl</command
+>. Lembre-se que, onde o <command
+>sed</command
+> necessitava do <literal
+>\(</literal
+> e do <literal
+>\)</literal
+>, o <command
+>perl</command
+> necessita da versão mais simples <literal
+>(</literal
+> e <literal
+>)</literal
+> sem o <literal
+>\</literal
+> precedente.</para>
+
+<screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+<command
+>perl</command
+> -p -e 's/(.*)/\U\1/'</screen>
+
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Order de Execução de Pré-processadores</title>
+<para
+>Os dados são encaminhados através de todos os pré-processadores internos e externos pela seguinte ordem: </para>
+<itemizedlist>
+<listitem
+><para
+>Pré-processador normal,</para
+></listitem>
+<listitem
+><para
+>Pré-processador de Correspondência de Linhas,</para
+></listitem>
+<listitem
+><para
+>Ignorar capitalização (conversão para maiúsculas),</para
+></listitem>
+<listitem
+><para
+>Detecção de Comentários de C/C++,</para
+></listitem>
+<listitem
+><para
+>Ignorar os números,</para
+></listitem>
+<listitem
+><para
+>Ignorar os espaços em branco</para
+></listitem>
+</itemizedlist>
+<para
+>Os dados após o pré-processador normal serão preservados para a apresentação e para a junção. As outras operações só modificam os dados que o algoritmo para a correspondência de linhas nas diferenças vê. </para
+><para
+>Nos casos raros em que você usa um pré-processador normal, repare que o pré-processador da correspondência de linhas vê o resultado no pré-processador normal como dados de entrada. </para>
+</sect2>
+
+<sect2
+><title
+>Aviso</title>
+<para
+>Os comandos do pré-processador são normalmente muito úteis, mas como acontece com qualquer opção que modifica os seus textos ou esconde algumas diferenças automaticamente, você poderá saltar por cima de certas diferenças e, no pior dos casos, destruir dados importantes. </para
+><para
+>Por esta razão, durante uma junção, se for usado um comando pré-processador normal, o &kdiff3; dizer-lhe-á isso e perguntar-lhe-á se deverá ser desactivado ou não. Mas não o irá avisar se estiver um Pré-Processador de Correspondência de Linhas activo. A junção não irá ficar completa até que todos os conflitos tenham sido resolvidos. Se tiver desactivado o <guilabel
+>Mostrar os Espaços em Branco</guilabel
+>, então as diferenças que foram removidas com o Pré-Processador de Correspondência de Linhas ficarão também invisíveis. Se o botão para Gravar continuar inactivo durante uma junção (devido a conflitos por resolver), verifique se activa o <guilabel
+>Mostrar os Espaços em Branco</guilabel
+>. Se não quiser juntar essas diferenças menos importantes poderá escolher a opção <guimenuitem
+>Escolher [A|B|C] nos Conflitos de Espaço em Branco por Resolver</guimenuitem
+> no menu <guimenu
+>Juntar</guimenu
+>. </para>
+</sect2>
+</sect1>
+</chapter>
+
+
+<chapter id="dirmerge"
+><title
+>Comparação e Junção de Directorias com o &kdiff3;</title>
+<sect1 id="dirmergeintro"
+><title
+>Introdução</title>
+<para
+>Normalmente, os programadores precisam de modificar vários ficheiros numa pasta para atingir os seus fins. Para isso, o &kdiff3; também lhe permite comparar e juntar várias pastas de forma recursiva! </para
+><para
+>Ainda que a comparação e junção de pastas pareça ser bastante óbvia, existem vários detalhes que o utilizador deverá conhecer. O mais importante é, obviamente, o facto de que vários ficheiros poderão ser afectados por cada operação. Se não tiver cópias de segurança dos seus dados originais, então poderá ser bastante difícil ou mesmo impossível de voltar ao estado original. Por isso, antes de começar uma junção, certifique-se que os seus dados estão a salvo e que é possível voltar atrás. Se cria um pacote ou usa um sistema de controlo de versões é uma decisão sua, mas mesmo os programadores experientes e os integradores precisam do código antigo e do novo. E repare que até ao autor do &kdiff3; tenta fazer o seu melhor, mas não pode garantir que não existam erros. De acordo com a GPL da &GNU;, não existe NENHUMA GARANTIA de qualquer forma para este programa. Por isso, seja humilde e tenha sempre em mente: </para>
+<blockquote
+><para>
+   <emphasis
+>Errar é humano, mas para realmente baralhar as coisas é preciso um computador.</emphasis>
+</para
+></blockquote>
+<para
+>Por isso, este é o programa que poderá fazer isto por si: o &kdiff3; ... </para>
+<itemizedlist>
+     <listitem
+><para
+>... lê e compara duas ou três pastas recursivamente,</para
+></listitem>
+     <listitem
+><para
+>... tem um cuidado especial com as ligações simbólicas,</para
+></listitem>
+     <listitem
+><para
+>... permite-lhe navegar nos ficheiros com um duplo-click do rato,</para
+></listitem>
+     <listitem
+><para
+>... propõe para cada item uma operação de junção, a qual poderá alterar antes de iniciar a junção de pastas,</para
+></listitem>
+     <listitem
+><para
+>... permite-lhe simular a junção e lista as acções que iriam tomar lugar, sem fazer nada de facto,</para
+></listitem>
+     <listitem
+><para
+>... permite-lhe fazer realmente a junção, possibilitando também a você interagir nas situações em que é necessária uma interacção manual,</para
+></listitem>
+     <listitem
+><para
+>... permite-lhe executar a operação seleccionada para todos os itens (tecla <keycap
+>F7</keycap
+>) ou para o item seleccionado (tecla <keycap
+>F6</keycap
+>),</para
+></listitem>
+     <listitem
+><para
+>... permite-lhe continuar a junção depois de uma interacção manual com a tecla <keycap
+>F7</keycap
+>,</para
+></listitem>
+     <listitem
+><para
+>... cria opcionalmente cópias de segurança com a extensão <filename role="extension"
+>.orig</filename
+>,</para
+></listitem>
+     <listitem
+><para
+>...</para
+></listitem>
+</itemizedlist>
+</sect1>
+
+<sect1 id="startingdirmerge"
+><title
+>Iniciar a Comparação ou Junção de Directoria</title>
+<para
+>Isto é bastante semelhante à junção e comparação simples com ficheiros únicos. O utilizador apenas terá de indicar nomes de pastas na linha de comandos ou na janela de abertura de ficheiros. </para>
+<sect2
+><title
+>Comparar/Juntar duas directorias: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2</replaceable
+> <option
+>-o</option
+> <replaceable
+>pastadest</replaceable
+>
+</screen>
+<para
+>Se não for indicada nenhuma pasta de destino, então o &kdiff3; irá usar a <replaceable
+>pasta2</replaceable
+>. </para>
+</sect2>
+
+<sect2
+><title
+>Comparar/Juntar estas pastas: </title>
+<screen
+><command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2 pasta3</replaceable>
+   <command
+>kdiff3</command
+> <replaceable
+>pasta1 pasta2 pasta3</replaceable
+> <option
+>-o</option
+> <replaceable
+>pastadest</replaceable
+>
+</screen>
+<para
+>Quando forem reunidas três pastas, então a <replaceable
+>pasta1</replaceable
+> será usada como a base para a junção. Se não for indicada nenhuma pasta de destino, então o &kdiff3; irá usar a <replaceable
+>pasta3</replaceable
+> como pasta de destino para a junção. </para>
+
+<para
+>Repare que só a comparação é que começa automaticamente, não a junção. Para tal, terá de seleccionar primeiro um item do menu ou a tecla <keycap
+>F7</keycap
+>. (Mais detalhes posteriormente.) </para>
+</sect2>
+</sect1>
+
+<sect1 id="dirmergevisible"
+><title
+>Informação Visível</title>
+<para
+>Ao ler as pastas, aparece uma mensagem que o informa do progresso. Se você interromper a pesquisa das pastas, então só os ficheiros que tenham sido comparados até então serão listados. </para
+><para
+>Quando a pesquisa de pastas estiver completa, então o &kdiff3; irá mostrar uma lista com os resultados restantes, ... </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="dirbrowser.png" format="PNG"/></imageobject
+> <!--alt="Image of the directory browser."-->
+</mediaobject
+></screenshot>
+<para
+>... e os detalhes sobre o item seleccionado de momento à direita: </para>
+<screenshot
+><mediaobject>
+<imageobject
+><imagedata fileref="iteminfo.png" format="PNG"/></imageobject>
+   <!--alt="Image with information about the selected item."-->
+</mediaobject
+></screenshot>
+
+<sect2 id="name"
+><title
+>A Coluna do Nome</title>
+<para
+>Cada ficheiro e pasta encontrado durante a pesquisa é aqui mostrado numa árvore. Você poderá seleccionar um item se carregar nele uma vez com o rato. </para
+><para
+>As pastas estão fechadas por omissão. Você poderá expandi-las e fechá-las se carregar no <guiicon
+>+</guiicon
+>/<guiicon
+>-</guiicon
+> ou se fizer duplo-click no item ou ainda usando as teclas de cursores esquerda/direita. O menu <guimenu
+>Directoria</guimenu
+> também contém duas acções <guimenuitem
+>Fechar Todas as Sub-Directorias</guimenuitem
+> e <guimenuitem
+>Expandir Todas as Sub-Directorias</guimenuitem
+>, com as quais poderá fechar ou abrir todas as subpastas de uma vez. </para
+><para
+>Se fizer duplo-click num item de um ficheiro, então a comparação do ficheiro irá começar e irá aparecer a janela de diferenças do ficheiro. </para>
+<para
+>A imagem na coluna do nome reflecte o tio de ficheiro na primeira pasta (<quote
+>A</quote
+>). Poderá ser um dos seguintes: </para>
+<itemizedlist>
+     <listitem
+><para
+>Ficheiro normal</para
+></listitem>
+     <listitem
+><para
+>Pasta normal (imagem de pasta)</para
+></listitem>
+     <listitem
+><para
+>Ligação para um ficheiro (imagem de ficheiro com uma seta de ligação)</para
+></listitem>
+     <listitem
+><para
+>Ligação para uma pasta (imagem de pasta com uma seta de ligação)</para
+></listitem>
+</itemizedlist>
+<para
+>Se o tipo de ficheiro for diferente nas outras pastas, então isso é visível nas colunas A/B/C e na janela que mostra os detalhes sobre o item seleccionado. Repare que, neste caso, não poderá ser seleccionada nenhuma operação de junção automaticamente. Ao iniciar a junção, então o utilizador será informado dos problemas desse tipo. </para>
+</sect2>
+
+<sect2 id="coloring"
+><title
+>As Colunas A/B/C e o Esquema de Cores</title>
+<para
+>Como pode ser visto na imagem acima, as cores vermelha, verde, amarela e preta são usadas nas colunas A/B/C. </para>
+<itemizedlist>
+     <listitem
+><para
+>Preto: O item não existe nesta pasta.</para
+></listitem>
+     <listitem
+><para
+>Verde: Item mais recente.</para
+></listitem>
+     <listitem
+><para
+>Amarelo: Mais antigo que o verde, mais recente que o vermelho.</para
+></listitem>
+     <listitem
+><para
+>Vermelho: O item mais antigo.</para
+></listitem>
+</itemizedlist>
+<para
+>Contudo, para os itens que eram idênticos na comparação, a sua cor é também idêntica mesmo que a idade seja diferente. </para
+><para
+>As pastas são consideradas iguais se todos os itens que contêm forem idênticos. Nesse caso, elas terão a mesma cor. Porém, a idade de uma pasta não é tida em consideração de acordo com a sua cor. </para
+><para
+>A ideia do autor para este esquema de coloração veio do <ulink url="http://samba.org/cgi-bin/cvsweb/dirdiff"
+>dirdiff</ulink
+>. As cores lembram as cores de uma folha que é verde quando é nova, vai-se tornando amarela com o tempo e é vermelha quando é antiga. </para>
+
+</sect2
+><sect2 id="operation"
+><title
+>A Coluna de Operação</title>
+<para
+>Depois de comparar as patas, o &kdiff3; avalia também uma proposta para uma operação de junção. Esta é mostrada na coluna de <guilabel
+>Operação</guilabel
+>. O utilizador poderá modificar a operação se carregar na operação que deseja alterar. Irá aparecer um pequeno menu que lhe permite seleccionar uma operação para esse item (Poderá também seleccionar as operações mais necessárias através do teclado. O Ctrl+1/2/3/4/Del irá seleccionar o A/B/C/Juntar/Remover, respectivamente, se estiver disponível.) Esta operação será executada durante a junção. Depende do item e do modo de junção em que se encontra e de que operações estão disponíveis. O modo de junção é um dos seguintes </para>
+<itemizedlist>
+     <listitem
+><para
+>Junção de três pastas (a <quote
+>A</quote
+> é tratada como a base mais antiga de ambas).</para
+></listitem>
+     <listitem
+><para
+>Junção de duas pastas.</para
+></listitem>
+     <listitem
+><para
+>Modo de sincronização de duas pastas (activado com a opção <guimenuitem
+>Sincronizar as Directorias</guimenuitem
+>).</para
+></listitem>
+</itemizedlist>
+<para
+>Na junção de três pastas, a proposta de operação será: Se para um item ... </para>
+<itemizedlist>
+     <listitem
+><para
+>todas as três pastas forem iguais: Copiar do C</para
+></listitem>
+     <listitem
+><para
+>o A e o C são iguais mas o B não: Copiar a partir do B (ou se o B não existir, remover o destino se existir)</para
+></listitem>
+     <listitem
+><para
+>o A e o B são iguais mas o C não: Copiar a partir do C (ou se o C não existir, remover o destino se existir)</para
+></listitem>
+     <listitem
+><para
+>o B e o C são iguais mas o A não: Copiar a partir do C (ou se o C não existir, remover o destino se existir)</para
+></listitem>
+     <listitem
+><para
+>só o A existir: Remover o destino (se existir)</para
+></listitem>
+     <listitem
+><para
+>só o B existir: Copiar a partir do B</para
+></listitem>
+     <listitem
+><para
+>só o C existir: Copiar a partir do C</para
+></listitem>
+     <listitem
+><para
+>o A, o B e o C não são iguais: Juntar</para
+></listitem>
+     <listitem
+><para
+>o A, o B e o C não tiverem o mesmo tipo de ficheiro (&eg; o A é uma pasta e o B um ficheiro): <errorname
+>Erro: Tipo de Ficheiros em Conflito</errorname
+>. Enquanto existirem itens nesta situação, a junção de pastas não poderá começar.</para
+></listitem>
+</itemizedlist>
+<para
+>Na junção de duas pastas, a proposta de operação será: Se para um item ... </para>
+<itemizedlist>
+     <listitem
+><para
+>ambas as pastas forem iguais: Copiar do B</para
+></listitem>
+     <listitem
+><para
+>o A existir, mas o B não: Copiar a partir do A</para
+></listitem>
+     <listitem
+><para
+>o B existir, mas o A não: Copiar a partir do B</para
+></listitem>
+     <listitem
+><para
+>o A e o B existirem mas não forem iguais: Juntar</para
+></listitem>
+     <listitem
+><para
+>o A e o B não tiverem o mesmo tipo de ficheiro (&eg; o A é uma pasta e o B um ficheiro): <errorname
+>Erro: Tipo de Ficheiros em Conflito</errorname
+>. Enquanto existirem itens nesta situação, a junção de pastas não poderá começar.</para
+></listitem>
+</itemizedlist>
+<para
+>O modo de sincronização só está activo se forem indicadas duas pastas e não se não for indicado nenhum destino explícito, assim como a opção <guilabel
+>Sincronizar as directorias</guilabel
+> terá de estar activa. Nesse caso, o &kdiff3; irá seleccionar uma operação por omissão, de modo a que ambas as pastas fiquem iguais no fim. Se, para um item ... </para>
+<itemizedlist>
+     <listitem
+><para
+>ambas as pastas forem iguais: Não será feito nada.</para
+></listitem>
+     <listitem
+><para
+>o A existir mas o B não: Copiar o A para o B</para
+></listitem>
+     <listitem
+><para
+>o B existir mas o A não: Copiar o B para o A</para
+></listitem>
+     <listitem
+><para
+>o A e o B existirem, mas não forem iguais: Juntar e guardar o resultado em ambas as pastas. (Para o utilizador, o nome do ficheiro gravado visível será o B, mas o KDiff3 irá copiar o B também para o A.)</para
+></listitem>
+     <listitem
+><para
+>o A e o B não tiverem o mesmo tipo de ficheiro (&eg; o A é uma pasta e o B um ficheiro): <errorname
+>Erro: Tipo de Ficheiros em Conflito</errorname
+>. Enquanto existirem itens nesta situação, a junção de pastas não poderá começar.</para
+></listitem>
+</itemizedlist>
+<para
+>Quando duas pastas forem reunidas e a opção <guilabel
+>Copiar o mais recente em vez de juntar</guilabel
+> estiver seleccionada, então o KDiff3 irá olhar para as datas e irá optar por escolher o ficheiro mais recente. Se os ficheiros não forem iguais mas tiverem datas iguais, então a operação irá conter <errorname
+>Erro: As datas são iguais mas os ficheiros não.</errorname
+>. Enquanto esses itens existirem a junção de pastas não poderá começar. </para>
+</sect2>
+
+<sect2 id="status"
+><title
+>A Coluna de Estado</title>
+<para
+>Durante a junção, os ficheiros serão processados um a seguir ao outro. A coluna de estado irá mostrar <computeroutput
+>Terminado</computeroutput
+> para os itens em que a operação de junção foi bem sucedida e outros textos se algo ocorreu de inesperado. Quando se terminar uma junção, o utilizador deverá então fazer uma última verificação para confirmar se o estado de todos os itens é aceitável. </para>
+</sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Colunas de Estatísticas</title>
+<para
+>Quando o modo de comparação de ficheiros <guilabel
+>Análise Completa</guilabel
+> estiver activo nas opções, então o &kdiff3; irá mostrar colunas extra que contêm o número de conflitos não resolvidos, resolvidos, de espaços em branco e dos outros conflitos. (A coluna de resolvidos só irá aparecer ao comparar ou ao juntar três pastas.) </para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="dothemerge"
+><title
+>Fazer uma Junção</title>
+<para
+>O utilizador tanto poderá reunir o item seleccionado de momento (ficheiro ou pasta) ou todos os itens. Quando tiver feito todas as suas opções de operação (em todas as subpastas também), aí então poderá iniciar a junção. </para
+><para
+>Tenha em atenção que, se não tiver indicado explicitamente uma pasta de destino, então o destino será o <quote
+>C</quote
+> no modo de três pastas, o <quote
+>B</quote
+> no modo de junção de duas pastas e no modo de sincronização será o <quote
+>A</quote
+> e/ou o <quote
+>B</quote
+>. </para
+><para
+>Se tiver indicado uma pasta de destino, verifique também que todos os itens que deverão estar no resultado, estão na árvore respectiva. Existem algumas opções que fazem com que certos itens sejam omitidos na comparação e junção de pastas. Assinale estas opções para evitar surpresas desagradáveis: </para>
+<itemizedlist>
+     <listitem
+><para
+><guilabel
+>Directorias Recursivas</guilabel
+>: Se estiver desligada, então os itens em todas as subpastas não serão tratados.</para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Padrão</guilabel
+>/<guilabel
+>Anti-Padrão</guilabel
+>: Inclui/exclui os itens que correspondam ao padrão</para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Excluir os Ficheiros Escondidos</guilabel
+></para
+></listitem>
+     <listitem
+><para
+><guilabel
+>Listar apenas os Deltas</guilabel
+>: Os ficheiros que correspondam em todas as pastas não aparecem na árvore e, por isso, também não aparecem no destino.</para
+></listitem>
+</itemizedlist>
+<para
+>(Na versão actual, é necessário o próprio utilizador fazer uma nova pesquisa através do menu <menuchoice
+><guimenu
+>Directoria</guimenu
+><guimenuitem
+>Analisar de Novo</guimenuitem
+></menuchoice
+>, depois de alterar as opções que afectam a pesquisa da pasta.) </para
+><para
+>Se estiver satisfeito até agora, o resto é simples. </para
+><para
+>Para juntar todos os itens: Seleccione <guimenuitem
+>Iniciar/Continuar a Junção da Directoria</guimenuitem
+> no menu <guimenu
+>Directoria</guimenu
+> ou carregue em <keycap
+>F7</keycap
+> (que é o atalho). Para juntar apenas o item actual: Seleccione <guimenuitem
+>Executar a Operação no Item Actual</guimenuitem
+> ou carregue em <keycap
+>F6</keycap
+>. </para
+><para
+>Se, devido à existência de tipos de ficheiro em conflito, ainda permanecerem alguns itens com operações inválidas, então irá aparecer uma mensagem onde serão evidenciados esses itens, para que possa seleccionar uma operação válida para cada item. </para
+><para
+>Se juntar todos os itens, irá aparecer uma janela que lhe apresenta as opções <guibutton
+>Fazê-lo</guibutton
+>, <guibutton
+>Simulá-lo</guibutton
+> e <guibutton
+>Cancelar</guibutton
+>. </para>
+<itemizedlist>
+     <listitem
+><para
+>Seleccione <guibutton
+>Simulá-lo</guibutton
+> se quiser ver o que seria feito sobre o item sem aplicar de facto as modificações. Será apresentada uma lista descritiva com todas as operações.</para
+></listitem>
+     <listitem
+><para
+>Caso contrário, seleccione <guibutton
+>Fazê-lo</guibutton
+> para iniciar de facto a junção.</para
+></listitem>
+</itemizedlist>
+<para
+>Nesse caso, o &kdiff3; irá executar a operação indicada para todos os itens. Se for necessária alguma intervenção manual (na junção de ficheiros simples), então irá aparecer uma janela de junção (<link linkend="dirmergebigscreenshot"
+>ver a imagem grande</link
+>). </para
+><para
+>Quando tiver terminado um ficheiro, seleccione de novo <guimenuitem
+>Iniciar/continuar a junção da directoria</guimenuitem
+> ou a tecla <keycap
+>F7</keycap
+>. Se não tiver ainda gravado nada, irá aparecer uma janela a pedir-lhe isso. Aí, o &kdiff3; irá passar ao próximo item. </para
+><para
+>Quando o &kdiff3; encontrar um erro, indicar-lhe-á tal facto e irá mostrar a informação descritiva do estado. No fundo desta lista, existirão algumas mensagens de erro que o deverão ajudar a compreender a causa do problema. Quando continuar a junção (com a tecla <keycap
+>F7</keycap
+>), o &kdiff3; indicar-lhe-á a opção para repetir ou saltar o item que causou o problema. Isto significa que, antes de continuar, poderá escolher outra operação ou resolver o problema por outros meios. </para
+><para
+>Quando a junção estiver completa, o &kdiff3; informá-lo-á então com uma mensagem. </para
+><para
+>Se alguns dos itens foram reunidos individualmente, então o &kdiff3; irá recordar isto (enquanto esta sessão de junção prosseguir) e não os juntará de novo, até que a junção para todos os itens tenha sido executada. Mesmo quando a junção tenha sido ignorada ou não tenha sido gravado nada, estes itens irão contar como completos. Só quando tiver alterado a operação de junção é que o item será reunido de novo. </para>
+</sect1>
+
+<sect1 id="dirmergeoptions"
+><title
+>Opções para Comparar e Juntar Pastas</title>
+<para
+>As preferências do &kdiff3; (no menu <menuchoice
+><guimenu
+>Configuração</guimenu
+><guimenuitem
+>Configurar o KDiff3</guimenuitem
+></menuchoice
+>) têm agora uma secção intitulada <guilabel
+>Junção de Directorias</guilabel
+> com as seguintes opções: </para>
+
+<variablelist>
+   <varlistentry
+><term
+><guilabel
+>Directorias Recursivas:</guilabel
+></term
+><listitem
+><para
+>Indica se você deseja pesquisar as pastas de forma recursiva.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Padrões de Ficheiros:</guilabel
+></term
+><listitem
+><para
+>Só os ficheiros que correspondam ao padrão ou padrões aqui indicados é que serão colocados na árvore. Poderá ser indicado mais do que um padrão através do separador ponto-e-vírgula <literal
+>;</literal
+>. São considerados caracteres especiais válidos o <literal
+>*</literal
+> e o <literal
+>?</literal
+>. (&eg; <literal
+>*.cpp;*.h</literal
+>). Por omissão, este campo é igual a <literal
+>*</literal
+>. As pastas não precisam de corresponder a este padrão.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Anti-padrões:</guilabel
+></term
+><listitem
+><para
+>Os ficheiros e pastas que correspondam ao padrão ou padrões aqui indicados serão excluídos da árvore. Poderá ser indicado mais do que um padrão através do separador ponto-e-vírgula <literal
+>;</literal
+>. São considerados caracteres especiais válidos o <literal
+>*</literal
+> e o <literal
+>?</literal
+>. Por omissão, este campo é igual a <literal
+>*.orig;*.o</literal
+>.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Usar CVS-Ignore:</guilabel
+></term
+><listitem
+><para
+>Ignora os ficheiros e pastas que são também ignorados pelo <acronym
+>CVS</acronym
+>. Muitos dos ficheiros gerados automaticamente são ignorados pelo <acronym
+>CVS</acronym
+>. A grande vantagem é que esta funcionalidade é específica para cada pasta através de um ficheiro <filename
+>.cvsignore</filename
+> local. (Veja em <ulink url="info:/cvs/cvsignore"
+>info:/cvs/cvsignore</ulink
+>.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Procurar os Ficheiros e Directorias Escondidos:</guilabel
+></term
+><listitem
+><para
+>Em alguns sistemas de ficheiros, existe um atributo <quote
+>Escondido</quote
+>. Em outros sistemas, um nome de ficheiro que comece por <literal
+>.</literal
+> faz com que este seja considerados escondido. Esta opção permite-lhe decidir se deve incluir estes ficheiros na árvore ou não. Por omissão, são incluídos.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Seguir as Ligações de Ficheiros:</guilabel
+></term
+><listitem
+><para
+>Para as ligações aos ficheiros: Quando a opção estiver desactivada, as ligações simbólicas serão comparadas. Caso contrário, serão compilados os ficheiros para os quais apontam as ligações. Por omissão, a opção está desligada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Seguir as Ligações de Directorias:</guilabel
+></term
+><listitem
+><para
+>Para as ligações a pastas: Quando a opção estiver desactivada, as ligações simbólicas serão comparadas. Se estiver activa, então a ligação será tratada como uma pasta e será pesquisada recursivamente. (Lembre-se que o programa não verifica se a ligação é <quote
+>recursiva</quote
+>. Por isso, se uma pasta contiver por exemplo uma ligação para ela própria irá causar um ciclo infinito, pelo que ao fim de algum tempo a pilha estoira ou toda a memória será usada e o programa irá estoirar deste modo). Por omissão, a opção está desligada.</para
+></listitem
+></varlistentry
+>   
+   <varlistentry
+><term
+><guilabel
+>Listar apenas os deltas:</guilabel
+></term
+><listitem
+><para
+>Somente os itens que não sejam iguais em todas as pastas de entrada é que serão listados, assim como os ficheiros alterados. Como tal, os ficheiros que sejam iguais em todas as pastas não serão copiados numa junção e, se a pasta de destino não contiver os ficheiros antes da junção, o utilizador poderá perder alguns ficheiros mais tarde. (Esta opção poderá ser alterada numa versão posterior). Por omissão, esta opção está desligada.</para
+></listitem
+></varlistentry>
+
+   <varlistentry
+><term
+><guilabel
+>Modo de Comparação de Ficheiros:</guilabel
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><guilabel
+>Comparação Binária:</guilabel
+></term
+><listitem
+><para
+>Este é o modo de comparação de ficheiros por omissão. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><guilabel
+>Análise Completa:</guilabel
+></term
+><listitem
+><para
+>Faz uma análise completa de cada ficheiro e mostra os resultados nas colunas de informação das estatísticas. (O número de conflitos resolvidos, por resolver, devido a espaços em branco ou a outros casos). A análise completa é mais lenta que uma simples comparação binária e é muito mais lenta se for usada em ficheiros que não contenham texto. (Indique os tipos de anti-padrões necessários.) </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><guilabel
+>Confiar na data de modificação:</guilabel
+></term
+><listitem
+><para
+>Se comparar pastas grandes numa rede lenta, poderá ser mais rápido comparar somente as datas de modificação e os tamanhos dos ficheiros. Porém, este melhoramento de velocidade traz alguma incerteza. Use esta opção com cuidado. Por omissão, está desligada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Confiar no tamanho:</guilabel
+></term
+><listitem
+><para
+>É semelhante à comparação da data de modificação. Não ocorre nenhuma comparação em si. Dois ficheiros quaisquer são considerados iguais se os seus tamanhos de ficheiros forem iguais. Isto é útil quando a operação de cópia de ficheiros não preservar a data de modificação. Use esta opção com cuidado. Por omissão, está desligada.</para
+></listitem
+></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
+   <varlistentry
+><term
+><guilabel
+>Sincronizar as Directorias:</guilabel
+></term
+><listitem
+><para
+>Activa o "Modo de Sincronização" em que duas pastas são comparadas e não foi indicada nenhuma pasta de destino. Neste modo, as operações propostas serão escolhidas de modo a que ambas as pastas de origem fiquem iguais no fim. Do mesmo modo, o resultado da junção será gravado em ambas as pastas. Por omissão, esta opção está desligada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Copiar o mais recente em vez de juntar:</guilabel
+></term
+><listitem
+><para
+>Em vez de juntar, a operação proposta irá copiar os ficheiros mais recentes se ocorreram algumas alterações. (É considerado inseguro, porque implica saber se o outro ficheiro não foi também alterado. Verifique para se certificar em qualquer um dos casos.). Por omissão, a opção está desligada.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><guilabel
+>Ficheiros de segurança:</guilabel
+></term
+><listitem
+><para
+>Se um ficheiro ou uma pasta completa for substituído por outro ou for removido, então a versão original mudará para um nome com uma extensão <filename role="extension"
+>.orig</filename
+>. Se já existir um ficheiro antigo com uma extensão <filename role="extension"
+>.orig</filename
+>, então este será removido sem ser criada nenhuma cópia de segurança. Isto também afecta a junção normal de ficheiros simples, não só no modo de junção de pastas. Por omissão, a opção está activa.</para
+></listitem
+></varlistentry>
+</variablelist>
+</sect1>
+
+<sect1 id="other"
+><title
+>Outras Funções</title>
+<sect2
+><title
+>Modo de Ecrã Repartido/Completo</title>
+<para
+>Normalmente a lista de junção da pasta fica visível enquanto um único ficheiro é comparado ou reunido. Com o rato, o utilizador poderá mover a barra separadora que delimita a lista de ficheiros das janelas de diferenças do texto. Se não a quiser, poderá desactivar a <guimenuitem
+>Janela Repartida</guimenuitem
+> no menu <guimenu
+>Directoria</guimenu
+>. Aí, poderá usar a opção <guimenuitem
+>Comutar a Vista</guimenuitem
+> no menu <guimenu
+>Directoria</guimenu
+> para alternar entre a lista de ficheiros e a janela de diferenças no texto que irá então ocupar o ecrã completo. </para>
+</sect2>
+<sect2
+><title
+>Comparar ou Juntar um Único Ficheiro</title>
+<para
+>Provavelmente, você irá preferir um duplo-click do rato simples sobre um ficheiro para o poder comparar. Contudo, existe também um item no menu <guimenu
+>Directoria</guimenu
+>. Poderá também juntar directamente um único ficheiro sem iniciar a junção de pastas, através da opção <guimenuitem
+>Juntar um único ficheiro</guimenuitem
+> do menu <guimenu
+>Directoria</guimenu
+>. Ao gravar o resultado, o estado ficará como terminado e o ficheiro não será reunido de novo se for iniciada uma junção de pastas. </para
+><para
+>Mas repare que esta informação de estado será perdida quando voltar a executar uma pesquisa de pastas: menu <menuchoice
+><guimenu
+>Directoria</guimenu
+><guimenuitem
+>Pesquisar de novo</guimenuitem
+></menuchoice
+> </para>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="misc">
+<title
+>Tópicos Diversos</title>
+<sect1 id="networktransparency">
+<title
+>Transparência na Rede Através do KIO</title>
+<sect2
+><title
+>KIO-Slaves</title>
+<para
+>O &kde; suporta a transparência na rede através dos 'KIO-slaves'. O &kdiff3; usa isto para ler os ficheiros de entrada e para pesquisar as pastas. Isto significa que você poderá indicar ficheiros e pastas em recursos locais e remotos através dos &URL;s. </para
+><para
+>Exemplo: </para
+><para>
+<screen
+><command
+>kdiff3</command
+> teste.cpp  ftp://ftp.longe.org/teste.cpp
+   <command
+>kdiff3</command
+> tar:/home/eu/pacote.tar.gz/pasta ./pasta
+</screen>
+</para>
+<para
+>A primeira linha compara um ficheiro local com outro ficheiro num servidor de &FTP;. A segunda linha compara uma pasta dentro de um pacote comprimido com uma pasta local. </para
+><para
+>Outros 'KIO-slaves' que serão interessantes: </para>
+<itemizedlist>
+<listitem
+><para
+>Ficheiros da WWW (http:),</para
+></listitem>
+<listitem
+><para
+>Ficheiros de FTP (ftp:),</para
+></listitem>
+<listitem
+><para
+>Transferência de ficheiros cifrada (fish:, sftp:),</para
+></listitem>
+<listitem
+><para
+>Recursos do Windows (smb:),</para
+></listitem>
+<listitem
+><para
+>Ficheiros locais (file:),</para
+></listitem>
+</itemizedlist>
+<para
+>Outras coisas que são possíveis, mas provavelmente serão menos interessantes: </para>
+<itemizedlist>
+<listitem
+><para
+>Páginas do 'man' (man:),</para
+></listitem>
+<listitem
+><para
+>Páginas do 'info' (info:),</para
+></listitem>
+</itemizedlist>
+</sect2>
+
+<sect2
+><title
+>Como Escrever &URL;s</title>
+<para
+>Um dado &URL; tem uma sintaxe diferente, em comparação com as localizações dos ficheiros e pastas locais. Alguns factores terão de ser tidos em consideração: </para>
+<itemizedlist>
+<listitem
+><para
+>Uma localização poderá ser relativa e conter <literal
+>.</literal
+> ou <literal
+>..</literal
+>. Isto não é possível para os &URL;s, dado que estes são sempre absolutos. </para
+></listitem
+><listitem
+><para
+>Os caracteres especiais têm de ser escritos <quote
+>escapados</quote
+>. (<quote
+>#</quote
+>-><quote
+>%23</quote
+>, espaço-><quote
+>%20</quote
+>, etc.) &eg; Um ficheiro com o nome <quote
+>/#xpto#</quote
+> iria ter o URL <literal
+>file:/%23xpto%23</literal
+>. </para
+></listitem
+><listitem
+><para
+>Quando os &URL;s não funcionarem como seria de esperar, tente abri-los primeiro no &konqueror;. </para
+></listitem>
+</itemizedlist>
+
+</sect2>
+
+<sect2
+><title
+>Capacidades dos 'KIO-Slaves'</title>
+<para
+>A transparência na rede tem um senão. Nem todos os recursos têm as mesmas capacidades. </para
+><para
+>Algumas das vezes estas são devidas ao sistema de ficheiros do servidor, enquanto que noutras ocasiões poderá ser devido ao protocolo. Aqui está uma pequena lista das restrições: </para>
+<itemizedlist>
+<listitem
+><para
+>Em alguns casos não existe o suporte para ligações simbólicas. </para
+></listitem
+><listitem
+><para
+>Ou não existe forma de distinguir se uma ligação aponta para um ficheiro ou uma pasta; é assumido sempre um ficheiro. (ftp:, sftp:). </para
+></listitem
+><listitem
+><para
+>Não é sempre possível determinar o tamanho do ficheiro. </para
+></listitem
+><listitem
+><para
+>Existe um suporte de permissões limitado. </para
+></listitem
+><listitem
+><para
+>Não existe a possibilidade de modificar as permissões ou a data de modificação, como tal as permissões ou a data de uma cópia poderão ser diferentes do original. (Veja a opção "Confiar no tamanho".) (A modificação de permissões ou das datas só é possível para os ficheiros locais.) </para
+></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+
+<sect1 id="kpart">
+<title
+>Usar o &kdiff3; como uma KPart</title>
+<para
+>O &kdiff3; é uma KPart. De momento, implementa a interface <interface
+>KParts::ReadOnlyPart</interface
+>. </para
+><para
+>A sua utilização principal é como visualizador de diferenças no <application
+>KDevelop</application
+>. O <application
+>KDevelop</application
+> inicia sempre o visualizador de diferenças interno em primeiro lugar. Para invocar o &kdiff3;, carregue no &RMB; na janela do visualizador de diferenças e seleccionar <guimenuitem
+>Mostrar no KDiff3Part</guimenuitem
+> no menu de contexto. </para
+><para
+>O &kdiff3; necessita normalmente de dois ficheiros completos como entrada. Se for usado como componente KPart, o &kdiff3; irá assumir que o ficheiro de entrada é um ficheiro de 'patch' no formato unificado. O &kdiff3; irá então obter os nomes dos ficheiros originais do ficheiro de 'patch'. Pelo menos um dos dois ficheiros terá de estar disponível. O &kdiff3; irá então invocar o <command
+>patch</command
+> para criar de novo o segundo ficheiro. </para
+><para
+>No &konqueror;, o utilizador poderá seleccionar um ficheiro de 'patch' e seleccionar <menuchoice
+><guisubmenu
+>Antevisão em</guisubmenu
+><guimenuitem
+>KDiff3Part</guimenuitem
+></menuchoice
+> no menu de contexto. Tenha em atenção que isto não irá funcionar se nenhum dos ficheiros originais estiver disponível e não é fiável se os ficheiros originais tiverem sido alterados desde que o ficheiro de 'patch' foi gerado. </para
+><para
+>Quando é executado como um componente, o &kdiff3; só oferece uma diferença de dois ficheiros, uma barra de ferramentas muito pequena e um menu. A junção ou a comparação de pastas não é suportada nesse caso. </para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Perguntas e Respostas</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry
+><question
+><para
+>Porque é que se chama &kdiff3;? </para
+></question
+><answer
+><para
+>As ferramentas <application
+>KDiff</application
+> e <application
+>KDiff2</application
+> (agora chamada &kompare;) já existiam. Para além disso, o &kdiff3; deveria sugerir que consegue juntar ficheiros como a ferramenta <command
+>diff3</command
+> da colecção de ferramentas do Diff. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Porque é que é lançado segundo a <acronym
+>GPL</acronym
+>? </para
+></question
+><answer
+><para
+>O autor usou programas <acronym
+>GPL</acronym
+> durante bastante tempo até agora e aprendeu bastante ao olhar para bastante código. Daí, este é o <quote
+>Muito Obrigado</quote
+> para todos os programadores que também o fizeram ou irão fazer no futuro. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Faltam alguns botões e funções. O que é que se passa? </para
+></question
+><answer
+><para
+>Você compilou a partir do código mas não indicou provavelmente o prefixo correcto do &kde; com o <command
+>configure</command
+>. Por omissão, o <command
+>configure</command
+> deseja instalar no <filename class="directory"
+>/usr/local</filename
+>, mas aí o &kde; não consegue encontrar o ficheiro de recursos da interface do utilizador (&ie;, o <filename
+>kdiff3ui.rc</filename
+>). O ficheiro <filename
+>README</filename
+> contém mais informações sobre o prefixo correcto. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Muitas das vezes as linhas que são semelhantes mas não idênticas aparecem umas ao lado das outras mas noutros casos não. Porquê? </para
+></question
+><answer
+><para
+>As linhas em que apenas a quantidade de espaços em branco é diferente são tratadas como <quote
+>iguais</quote
+> à primeira vista, embora apenas um carácter que não seja um espaço em branco faça com que as linhas sejam <quote
+>diferentes</quote
+>. Se as linhas semelhantes aparecerem uma ao lado da outra, isto poderá ser de facto uma coincidência, mas é felizmente o caso mais frequente. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Porque é que todos os conflitos deverão ser resolvidos para que o resultado da gravação possa ser gravado? </para
+></question
+><answer
+><para
+>Para cada secção igual ou diferente, o editor na janela do resultado da junção recorda onde é que esta começa ou termina. Isto é necessário para que os conflitos possam ser resolvidos manualmente ao seleccionar simplesmente o botão da origem (A, B ou C). Esta informação é perdida durante a gravação como texto e corresponde a demasiado esforço criar um formato de ficheiro especial que suporte a gravação e a reposição de toda a informação necessária. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Porque é que o editor na janela do resultado da junção não tem uma função para <quote
+>desfazer</quote
+>? </para
+></question
+><answer
+><para
+>Isso era demasiado difícil até agora. Você poderá sempre repor uma versão de uma origem (A, B ou C) se carregar no botão respectivo. Para uma edição extensa, recomenda-se a utilização de outro editor, de qualquer forma. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Quando eu removi algum texto, apareceu de repente <quote
+>&lt;Sem linha de origem&gt;</quote
+> e esta não pode ser removida. O que é que significa e como é que se poderá removê-la? </para
+></question
+><answer
+><para
+>Para cada secção igual ou diferente, o editor na janela do resultado da junção recorda onde é que esta começa ou termina. O <quote
+>&lt;Sem linha de origem&gt;</quote
+> significa que não existe mais nada livre numa secção, nem mesmo um carácter de mudança de linha. Isto poderá acontecer durante a junção automática ou durante a edição. Isto não é nenhum problema, dado que esta dica não irá aparecer no ficheiro gravado. Se você quiser os dados originais de volta, basta seleccionar a secção (carregue na coluna de resumo à esquerda) e depois no botão da origem com o conteúdo necessário (A/B ou C). </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Porque é que o &kdiff3; não suporta o realce de sintaxe? </para
+></question
+><answer
+><para
+>O &kdiff3; já usa demasiadas cores para o realce das diferenças. Se suportasse o realce de sintaxe, tornar-se-ia confuso. Use outro editor para esse efeito. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Existe demasiada informação aqui, mas a sua dúvida ainda não foi respondida? </para
+></question
+><answer
+><para
+>Por favor envie ao autor a sua dúvida. Agradece-se qualquer comentário. </para
+></answer
+></qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<title
+>Créditos e Licença</title>
+
+<para
+>&kdiff3; - Ferramenta de Comparação e Junção de Ficheiros e Pastas </para>
+<para
+>Programa com 'copyright' 2002-2005 de Joachim Eibl <email
+>joachim.eibl@gmx.de</email
+> </para>
+<para
+>Vieram várias ideias giras e relatórios de erros dos colegas do autor e de pessoas da Wild Wild Web. Muito obrigado! </para>
+
+<para
+>Documentação Copyright &copy; 2002-2005 Joachim Eibl <email
+>joachim.eibl at gmx.de</email
+> </para>
+
+<para
+>Tradução de Pedro Morais <email
+>morais@kde.org</email
+></para
+> 
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Instalação</title>
+
+<sect1 id="getting-kdiff3">
+<title
+>Como obter o &kdiff3;</title>
+
+<para
+>Você poderá obter a última versão do &kdiff3; na sua página pessoal em <ulink url="http://kdiff3.sourceforge.net"
+>http://kdiff3.sourceforge.net</ulink
+>. </para
+><para
+>O &kdiff3; está também disponível para outras plataformas. Veja a página pessoal para mais detalhes. </para>
+
+
+</sect1>
+
+<sect1 id="requirements">
+<title
+>Requisitos</title>
+
+<para
+>Para poder usar todas as funcionalidades com sucesso do &kdiff3;, precisa do &kde; 3.1 ou posterior. </para
+><para
+>Para mais informações sobre como correr o  &kdiff3; noutras plataformas sem o KDE, veja por favor a <ulink url="http://kdiff3.sourceforge.net"
+>página pessoal</ulink
+>. </para
+><para
+>O utilizador poderá encontrar uma lista das alterações em <ulink url="http://kdiff3.sourceforge.net/ChangeLog"
+>http://kdiff3.sourceforge.net/ChangeLog</ulink
+> ou no ficheiro <filename
+>ChangeLog</filename
+> do pacote de código. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilação e Instalação</title>
+&install.compile.documentation; </sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
--- a/kdiff3/doc/sv/index.docbook	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/doc/sv/index.docbook	Mon Apr 10 08:40:51 2006 +0000
@@ -27,7 +27,7 @@
 > <affiliation
 ><address
 > <email
->joachim.eibl@gmx.de</email>
+>joachim.eibl snabela gmx.de</email>
 </address
 ></affiliation>
 </author>
@@ -51,7 +51,7 @@
 
 <copyright>
 <year
->2002-2003</year>
+>2002-2006</year>
 <holder
 >Joachim Eibl</holder>
 </copyright>
@@ -69,16 +69,16 @@
 Do NOT change these in the translation. -->
 
 <date
->2003-12-07</date>
+>2006-03-12</date>
 <releaseinfo
->0.9.80</releaseinfo>
+>0.9.89</releaseinfo>
 
 
 <abstract>
 <para
 ></para>
 <para
->&kdiff3; är ett verktyg för jämförelser och sammanfogning av filer och kataloger, som: <itemizedlist>
+>&kdiff3; är ett verktyg för jämförelser och sammanfogning av filer och kataloger, som <itemizedlist>
 <listitem
 ><para
 >jämför och sammanfogar två eller tre indatafiler med text eller kataloger,</para
@@ -101,12 +101,24 @@
 ></listitem>
 <listitem
 ><para
->har alternativ för att färglägga eller dölja ändringar av blanktecken och kommentarer.</para
+>har alternativ för att färglägga eller dölja ändringar av blanktecken och kommentarer,</para
+></listitem>
+<listitem
+><para
+>stöder Unicode, UTF-8 och andra filkodningar,</para
+></listitem>
+<listitem
+><para
+>skriver ut skillnader,</para
+></listitem>
+<listitem
+><para
+>stöder versionshanteringsnyckelord och historiksammanfogning.</para
 ></listitem>
 </itemizedlist>
 </para
 ><para
->Det här dokumentet beskriver KDiff3 version 0.9.80. </para>
+>Det här dokumentet beskriver Kdiff3 version 0.9.98. </para>
 </abstract>
 
 <!-- This is a set of Keywords for indexing by search engines.
@@ -135,7 +147,7 @@
 <keyword
 >kataloger</keyword>
 <keyword
->versionskontroll</keyword>
+>versionshantering</keyword>
 <keyword
 >trevägs sammanfogning</keyword>
 <keyword
@@ -165,9 +177,13 @@
 ><title
 >Ännu ett jämförelsegränssnitt?</title>
 <para
->Det finns flera grafiska jämförelseverktyg. Varför ska du välja KDiff3? Låt mig tala om varför jag skrev det. </para
+>Det finns flera grafiska jämförelseverktyg. Varför ska du välja Kdiff3? Låt mig tala om varför jag skrev det. </para
 ><para
->KDiff3 påbörjades därför att jag var tvungen att göra en svår sammanfogning. Att sammanfoga är nödvändigt när flera personer arbetar med samma fil i ett projekt. En sammanfogning kan vara delvis automatiserad, när sammanfogningsverktyget inte bara har tillgång till de nya ändrade filerna (som kallas "grenar"), utan också originalfilen (som kallas "bas"). Sammanfogningsverktyget väljer automatiskt en ändring som bara gjorts i en gren. När flera bidragsgivare ändrar samma rader, detekterar sammanfogningsverktyget en konflikt som måste lösas manuellt. </para
+>Kdiff3 påbörjades därför att jag var tvungen att göra en svår sammanfogning. Att sammanfoga är nödvändigt när flera personer arbetar med samma fil i ett projekt. En sammanfogning kan vara delvis automatiserad, när sammanfogningsverktyget inte bara har tillgång till de nya ändrade filerna (som kallas <quote
+>grenar</quote
+>), utan också originalfilen (som kallas <quote
+>bas</quote
+>). Sammanfogningsverktyget väljer automatiskt en ändring som bara gjorts i en gren. När flera bidragsgivare ändrar samma rader, detekterar sammanfogningsverktyget en konflikt som måste lösas manuellt. </para
 ><para
 >Sammanfogningen var svår eftersom en bidragsgivare hade ändrat mycket och rättat indenteringen på många ställen. Den andra bidragsgivaren hade också ändrat mycket text i samma fil, vilket orsakade flera konflikter vid sammanfogningen. </para
 ><para
@@ -179,7 +195,7 @@
 ><para
 >En funktion som krävde en stor ansträngning var funktionen för katalogjämförelse och sammanfogning, som gjorde programmet till en nästan fullständig filbläddrare. </para
 ><para
->Jag hoppas att KDiff3 fungerar för dig, också. Ha det så kul! </para
+>Jag hoppas att Kdiff3 fungerar för dig, också. Ha det så kul! </para
 ><para
 >Joachim Eibl (2003) </para>
 </sect1>
@@ -190,7 +206,7 @@
 <para
 >Den här skärmbilden visar skillnaden mellan två textfiler</para>
 <para
->(Med en tidig version av KDiff3):</para>
+>(Med en tidig version av Kdiff3):</para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -199,7 +215,7 @@
 ></screenshot>
 
 <para
->Trevägs sammanfogning stöds fullständigt. Det är användbart om två personer ändrar kod oberoende av varandra. Originalfilen (basen) används för att hjälpa KDiff3 att automatiskt välja de riktiga ändringarna. Editorn för sammanfogning under jämförelsefönstren låter dig lösa konflikter, medan den visar dig vilken utmatning du får. Du kan till och med redigera utmatningen. Den här skärmbilden visar tre indatafiler som sammanfogas: </para
+>Trevägs sammanfogning stöds fullständigt. Den är användbar om två personer ändrar kod oberoende av varandra. Originalfilen (basen) används för att hjälpa Kdiff3 att automatiskt välja de riktiga ändringarna. Sammanfogningseditorn under jämförelsefönstren låter dig lösa konflikter, medan utdata du kommer att få visas. Skärmbilden visar tre indatafiler som håller på att' sammanfogas: </para
 ><para>
 <screenshot
 ><mediaobject>
@@ -210,7 +226,7 @@
 </para>
 
 <para id="dirmergebigscreenshot"
->KDiff3 hjälper dig också att jämföra och sammanfoga hela kataloger. Den här skärmbilden visar KDiff3 under en katalogsammanfogning: </para
+>Kdiff3 hjälper dig också att jämföra och sammanfoga hela kataloger. Den här skärmbilden visar Kdiff3 under en katalogsammanfogning: </para
 ><para>
 <screenshot
 ><mediaobject>
@@ -228,7 +244,7 @@
 ><title
 >Rad-för-rad och tecken-för-tecken jämförelsevisning</title>
 <para
->Genom att använda möjligheterna hos en grafisk färgskärm, visar KDiff3 exakt vad skillnaderna är. När du måste göra många kodgranskningar, gillar du det här. </para>
+>Genom att använda möjligheterna hos en grafisk färgskärm, visar Kdiff3 exakt vad skillnaderna är. När du måste göra många kodgranskningar, gillar du det här. </para>
 <screenshot
 ><mediaobject>
    <imageobject
@@ -271,7 +287,7 @@
 ><title
 >Bekväm sammanfogning av två eller tre indatafiler</title>
 <para
->KDiff3 kan användas för att sammanfoga två eller tre indatafiler och sammanfogar automatiskt så mycket som möjligt. Resultatet visas i ett redigerbart fönster där de flesta konflikter kan lösas med ett enda musklick. Välj knapparna A/B/C i verktygsraden för att välja källan som ska användas. Du kan också välja mer än en källa. Eftersom utmatningsfönstret är en editor, kan till och med konflikter som behöver ytterligare korrigering lösas här utan att kräva ett annat verktyg. </para>
+>Kdiff3 kan användas för att sammanfoga två eller tre indatafiler och sammanfogar automatiskt så mycket som möjligt. Resultatet visas i ett redigerbart fönster där de flesta konflikter kan lösas med ett enda musklick. Välj knapparna A/B/C i verktygsraden för att välja källan som ska användas. Du kan också välja mer än en källa. Eftersom utmatningsfönstret är en editor, kan till och med konflikter som behöver ytterligare korrigering lösas här utan att kräva ett annat verktyg. </para>
 </sect2>
 
 <sect2
@@ -312,7 +328,7 @@
 ></listitem>
    <listitem
 ><para
->Sök efter strängar i alla textfönster. Sök (Ctrl+F) och Sök igen (F3).</para
+>Sök efter strängar i alla textfönster. Sök (Ctrl+F) och Sök igen (F3)</para
 ></listitem>
    <listitem
 ><para
@@ -332,6 +348,18 @@
 ></listitem>
    <listitem
 ><para
+>Radbrytning för långa rader.</para
+></listitem>
+   <listitem
+><para
+>Stöd för Unicode, UTF-8 och andra kodningar.</para
+></listitem>
+   <listitem
+><para
+>Stöd för språk som läses från höger till vänster.</para
+></listitem>
+   <listitem
+><para
 >...</para
 ></listitem>
 </itemizedlist>
@@ -341,7 +369,7 @@
 
 <chapter id="documentation"
 ><title
->Dokumentation av filjämförelse och sammanfogning</title>
+>Filjämförelse och sammanfogning</title>
 
 <sect1 id="commandline"
 ><title
@@ -421,7 +449,7 @@
 ><title
 >Specialfall: Filer med samma namn </title>
 <para
->Om alla filer har samma namn men finns i olika kataloger, kan du reducera hur mycket du måste skriva genom att bara ange filnamnet för den första filen. T.ex: </para>
+>Om alla filer har samma namn men finns i olika kataloger, kan du reducera hur mycket du måste skriva genom att bara ange filnamnet för den första filen. T.ex.: </para>
 <screen
 ><command
 >kdiff3</command
@@ -467,12 +495,67 @@
 
 <sect2
 ><title
->För mer information om kommandoradsväljare, använd: </title>
+>Andra kommandoradsväljare</title>
+<para
+>För att se alla tillgängliga kommandoradsväljare, skriv</para>
 <screen
 ><command
 >kdiff3</command
 > --help
 </screen>
+<para
+>Exempel på utmatning:</para>
+<screen
+>Väljare:
+  -m, --merge               Sammanfoga indata.
+  -b, --base file           Explicit basfil. För att fungera tillsammans med vissa verktyg.
+  -o, --output file         Utdatafil. Betyder underförstått -m. T.ex.: -o ny_fil.txt
+  --out file                Utdatafil, igen. (för att fungera med vissa verktyg.)
+  --auto                    Inget grafiskt gränssnitt om alla konflikter kan lösas automatiskt (kräver -o fil)
+  --qall                    Lös inte konflikter automatiskt. (För att fungera med andra verktyg...)
+  --L1 alias1               Synlig ersättning av namn för indatafil 1 (bas).
+  --L2 alias2               Synlig ersättning av namn för indatafil 2.
+  --L3 alias3               Synlig ersättning av namn för indatafil 3.
+  -L, --fname alias         Alternativ synlig ersättning av namn. Ange detta en gång för all indata.
+  --cs string               Överskrid en inställning. Använd en gång för varje inställning, t.ex.  --cs "AutoAdvance=1"
+  --confighelp              Visa lista med inställningar och nuvarande värden.
+  --config file             Använd en annan inställningsfil.
+</screen>
+<para
+>Väljaren <option
+>-cs</option
+> låter dig justera ett inställningsalternativ som annars bara kan justeras via inställningsdialogrutorna. Men var medveten om att när Kdiff3 avslutas lagras det ändrade värdet tillsammans med andra inställningar. Med <option
+>--confighelp</option
+> kan du ta reda på namnen på tillgängliga alternativ och nuvarande värden.</para>
+<para
+>Via <option
+>--config</option
+> kan du ange en annan inställningsfil. Om du ofta använder Kdiff3 med helt olika inställningar låter det dig enkelt byta mellan dem.</para>
+</sect2>
+<sect2
+><title
+>Kommandoradsväljare som ignoreras</title>
+<para
+>Många personer vill använda Kdiff3 tillsammans med något versionshanteringssystem, men när versionshanteringssystemet anroppar Kdiff3 med kommandoradsväljare som Kdiff3 inte känner igen, avslutas Kdiff3 med ett fel. Integrationsinställningarna gör det möjligt att ange kommandoradsväljare som ska ignoreras av Kdiff3. De visas i användningshjälpen som i det här exemplet:</para>
+<screen
+>--<replaceable
+>väljare</replaceable
+>                     Ignoreras. (anvädardefinierad)
+</screen>
+<variablelist>
+  <varlistentry
+><term
+><emphasis
+>Kommandoradsväljare att ignorera:</emphasis
+></term
+><listitem
+><para
+>En lista med väljare, åtskilda med semikolon ';'. När en av dessa väljare finns på kommenderaden, ignorerar Kdiff3 den och kör utan att rapportera ett fel. (Förval är "u;query;html;abort").</para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Om det inte är nog, rekommenderas du att skriva ett skalskript som gör översättningen av väljare.</para>
 </sect2>
 
 </sect1>
@@ -489,53 +572,79 @@
 </mediaobject
 ></screenshot>
 <para
->Öppningsdialogrutan tillåter att filnamnen redigeras för hand, att en fil väljs via filbläddraren ("Fil...") eller att senast använda filer väljs i kombinationsrutan. Om du öppnar dialogrutan igen, finns de nuvarande namnen fortfarande där. Den tredje indatafilen krävs inte. Om fältet för "C" förblir tomt, görs bara en tvåvägs jämförelseanalys. </para
+>Öppningsdialogrutan tillåter att filnamnen redigeras för hand, att en fil väljes via filbläddraren ("Fil...") eller att senast använda filer väljes i kombinationsrutan. Om du öppnar dialogrutan igen, finns de nuvarande namnen fortfarande där. Den tredje indatafilen krävs inte. Om fältet för "C" förblir tomt, görs bara en tvåvägs jämförelseanalys. </para
 ><para
->Du kan också välja en katalog med "Katalog...". Om en katalog anges för A, startar en katalogjämförelse och sammanfogning. Om A anger en fil, men B, C eller utmatningen anger en katalog, använder KDiff3 filnamnet från A i de angivna katalogerna. </para
+>Du kan också välja en katalog med "Katalog...". Om en katalog anges för A, startar en katalogjämförelse och sammanfogning. Om A anger en fil, men B, C eller utmatningen anger en katalog, använder Kdiff3 filnamnet från A i de angivna katalogerna. </para
 ><para
 >Om "Sammanfoga" är valt, blir raden "Utmatning" redigerbar. Det krävs dock inte att utdatafilens namn anges omedelbart. Du kan också vänta med detta till du sparar. </para
 ><para
->Knappen "Anpassa" visar inställningsdialogrutan, så att du kan ställa in alternativ innan analysen utförs. </para>
+>Knappen "Anpassa..." visar inställningsdialogrutan, så att du kan ställa in alternativ innan analysen utförs. </para>
 </sect1>
 
 <sect1 id="pasteinput"
 ><title
 >Klistra in eller släpp indata</title>
 <para
->Ibland vill du jämföra delar av en text som inte är en egen fil. KDiff3 låter dig också klistra in text från klippbordet i det indatafönster för jämförelse som har fokus. Jämförelseanalysen sker då omedelbart. I öppningsdialogrutan behöver du då inte ange filer, utan bara stänga den via "Avbryt". </para
+>Ibland vill du jämföra delar av en text som inte är en egen fil. Kdiff3 låter dig också klistra in text från klippbordet i det indatafönster för jämförelse som har fokus. Jämförelseanalysen sker då omedelbart. I öppningsdialogrutan behöver du då inte ange filer, utan bara stänga den via "Avbryt". </para
 ><para
 >Du kan också använda drag och släpp: Dra en fil från en filhanterare eller markerad text från en editor och släpp den på ett indatafönster för jämförelse. </para
 ><para
 >Vad är idén? Ibland innehåller en fil två liknande funktioner, men att kontrollera hur lika de verkligen är blir en stor ansträngning om du först måste skapa två filer och sedan ladda dem. Nu kan du helt enkelt kopiera, klistra in och jämföra de relevanta avsnitten. </para
 ><para
->Observera: För närvarande kan du inte dra någonting från KDiff3. Bara att släppa indata i jämförelsefönstret stöds. </para
+>För närvarande kan du inte dra någonting från Kdiff3. Bara att släppa indata i jämförelsefönstret stöds. </para
 ><para
 >Varning: Vissa editorer tolkar fortfarande drag och släpp till ett annat program som klipp ut (istället för kopiera) och klistra in. Ditt ursprungliga data kan då gå förlorat. </para>
 </sect1>
 
 <sect1 id="interpretinginformation"
 ><title
->Tolka informationen i indatafönstren</title>
+>Jämföra filer och tolka informationen i indatafönstren</title>
 <screenshot
 ><mediaobject>
 <imageobject
 ><imagedata fileref="screenshot_diff.png" format="PNG"/></imageobject>
 </mediaobject
 ></screenshot>
-<para
->Längst upp i varje textfönster finns dess "informationsrad". Informationsraderna i indatafönstret innehåller bokstaven "A", "B" eller "C", filnamnet och radnumret för den första synliga raden i fönstret. (Observera att fönstret "C" är valfritt.) Varje informationsrad visas i en egen färg. (Om sökvägarna är för långa för att få plats, kan du flytta musen till informationsraden och ett verktygstips visar hela namnet.) </para
+<sect2
+><title
+>Informationsrad</title
 ><para
->De tre indatafönstren tilldelas bokstäverna "A", "B" och "C". "A" har blå färg, "B" har grön färg och "C" har magenta. (Det är förvalda färger, men de kan ändras via inställningsmenyn.) </para
+>Längst upp i varje textfönster finns dess "informationsrad". Informationsraderna i indatafönstret innehåller bokstaven "A", "B" eller "C", filnamnet och radnumret för den första synliga raden i fönstret. (Observera att fönstret "C" är valfritt.) Varje informationsrad visas i en egen färg. </para
+><para
+>När du väljer en annan fil genom att bläddra eller avslutar redigera filnamnet här genom att trycka på returtangenten, laddas den nya filen och jämförs med filen eller filerna som redan är laddade. </para
+></sect2
+><sect2
+><title
+>Färgläggning</title
+><para
+>De tre indatafönstren tilldelas bokstäverna "A", "B" och "C". "A" har blå färg, "B" har grön färg och "C" har magenta. (Det är förvalda färger, men de kan ändras via menyn Inställningar.) </para
 ><para
 >När en skillnad upptäcks visar färgen vilken indatafil som skiljer sig åt. När båda övriga indatafiler skiljer sig åt, är färgen som används för att uttrycka det normalt röd ("Konfliktfärg" i inställningarna). Det här färgläggningsschemat är särskilt användbart i fallet med tre indatafiler, som syns i nästa avsnitt (<link linkend="merging"
 >Sammanfogning</link
 >). </para
+></sect2
+><sect2
+><title
+>Sammanfattningskolumn</title
 ><para
 >Till vänster om varje text är "sammanfattningskolumnen". Om skillnader uppstod på en rad, visar sammanfattningskolumnen motsvarande färg. För en skillnad som bara består av blanktecken är sammanfattningen kryssad. För programspråk, där blanktecken inte är så viktiga är det användbart för att se med en blick om något av vikt ändrades. (För C/C++ är blanktecken bara intressanta inne i strängar, i kommentarer, för preprocessorn och i några mycket esoteriska situationer.) </para
 ><para
->Den vertikala linjen som skiljer sammanfattningskolumnen och texten är avbruten om indatafilen inte har några rader där. </para
+>Den vertikala linjen som skiljer sammanfattningskolumnen och texten är avbruten om indatafilen inte har några rader där. När radbrytning är aktiverad visas den vertikala linjen med punkter för brutna rader. </para
+></sect2
+><sect2
+><title
+>Översiktskolumn</title
 ><para
->På höger sida är en "översiktskolumn" synlig till vänster om den vertikala rullningslisten. Den visar en komprimerad sammanfattning av indata "A". Alla skillnader och konflikter är synliga med en blick. När bara två indatafönster används, syns alla skillnader i rött här, eftersom alla skillnader också är konflikter. En svart rektangel ramar in den synliga delen av indata. För mycket långa indatafiler, där antalet indatarader är större än höjden på översikten i bildpunkter, delar flera indatarader en översiktsrad. En konflikt har prioritet över enkla skillnader, som har prioritet över inga ändringar, så att inga skillnader eller konflikter går förlorade här. Genom att klicka på översiktskolumnen visas motsvarande text. </para>
+>På höger sida är en "översiktskolumn" synlig till vänster om den vertikala rullningslisten. Den visar en komprimerad sammanfattning av indata "A". Alla skillnader och konflikter är synliga med en blick. När bara två indatafönster används, syns alla skillnader i rött här, eftersom alla skillnader också är konflikter. En svart rektangel ramar in den synliga delen av indata. För mycket långa indatafiler, där antalet indatarader är större än höjden på översikten i bildpunkter, delar flera indatarader en översiktsrad. En konflikt har prioritet över enkla skillnader, som har prioritet över inga ändringar, så att inga skillnader eller konflikter går förlorade här. Genom att klicka på översiktskolumnen visas motsvarande text. </para
+></sect2
+><sect2 id="manualdiffhelp"
+><title
+>Justera rader manuellt</title
+><para
+>Ibland placerar algoritmen fel rader intill varandra, eller så vill du jämföra ett textstycke med text på en helt annan position i den andra filen. I dessa fall kan du manuellt tala om för Kdiff3 att vissa rader ska arrangeras i rak linje. Markera texten som du vill arrangera med musen, som du skulle göra vid kopiera och klistra in, i det första jämförelsefönstret och välj därefter "Lägg till manuell justering av jämförelse" i menyn "Jämförelsevy" (snabbtangenten "Ctrl+Y"). En orange rad visas i sammanfattningskolumnen intill den markerade texten. Upprepa det för den andra och (om tillgänglig) tredje jämförelsevyn. Kdiff3 beräknar omedelbart om jämförelsen varje gång du gör det, och radar upp de markerade raderna. Naturligtvis kanske några av raderna som tidigare matchade inte längre matchar. </para
+><para
+>För närvarande stöder inte sammanfogning användning av manuell hjälp vid jämförelse. </para
+></sect2>
 </sect1>
 
 
@@ -551,75 +660,250 @@
 <para
 >Editorfönstret för sammanfogningsutdata (under indatafönstren för jämförelse) har också en informationsrad längst upp som visar "Utmatning", filnamnet och "[Ändrad]" om du redigerat något. Oftast innehåller det någon text från de automatiska sammanfogningsfunktionerna, men det innehåller också ofta konflikter. </para
 ><para
->!!! Spara är inaktiverat till alla konflikter är lösta !!! (Använd knapparna "Gå till föregående/nästa olösta konflikt" för att hitta återstående konflikter.) </para
+>Spara är inaktiverat till alla konflikter är lösta! (Använd knapparna "Gå till föregående/nästa olösta konflikt" för att hitta återstående konflikter.) </para
 ><para
 >Med bara två filer är varje skillnad också en konflikt, som måste lösas manuellt. </para
 ><para
->Med tre indatafiler behandlas den första som bas, medan den andra och tredje indatafilen innehåller ändringar. Om bara indata B eller C har ändrats för en viss rad, men inte båda väljs den ändrade källan automatiskt. Bara om B och C har ändrats på samma rader, detekterar verktyget en konflikt som måste lösas manuellt. När B och C är likadana, men inte samma som A, väljs C.  </para
+>Med tre indatafiler behandlas den första som bas, medan den andra och tredje indatafilen innehåller ändringar. Om bara indata B eller C har ändrats för en viss rad, men inte båda väljes den ändrade källan automatiskt. Bara om B och C har ändrats på samma rader, detekterar verktyget en konflikt som måste lösas manuellt. När B och C är likadana, men inte samma som A, väljes C.  </para
+><sect2
+><title
+>Sammanfattningskolumnen</title
 ><para
 >Editorfönstret för sammanfogningsutdata har också en sammanfattningskolumn till vänster. Den visar bokstaven för indata som raden valdes, eller ingenting om alla tre källorna var likadana för raden. Vid konflikter visar den ett frågetecken "?" och raden visar "&lt; Konflikter vid sammanfogning &gt;", allt med rött. Eftersom det skulle ta mycket lång tid att lösa konflikter rad för rad, grupperas rader i grupper som har samma skillnader och konfliktkaraktär. Konflikter med bara blanktecken skiljs dock från andra konflikter för att förbättra sammanfogningen av filer där indenteringen ändrats på många rader. </para
+></sect2
+><sect2 id="synchronise_views"
+><title
+>Ställa in aktuell grupp och synkronisera sammanfognings- och jämförelsevyns position</title
 ><para
 >När du klickar på sammanfattningskolumnen med vänster musknapp i endera fönstret, så markeras gruppen som hör till den raden i alla fönster och gruppens början visas. (Det här kan innebära ett automatiskt byte av position i fönstren om gruppens början inte syns.) Gruppen blir då den "aktuella gruppen". Den markeras med "Bakgrundsfärgen för aktuellt jämförelseintervall" och en svart rad visas till vänster om texten. </para
+></sect2
+><sect2
+><title
+>Välja indata A, B eller C för aktuell konflikt och redigering</title
 ><para
->Observera knapparna för indataval som innehåller bokstäverna "A", "B" och "C" i verktygsraden under menyraden. När du klickar på någon av knapparna för indataval, läggs raderna från den indatakällan till sist i markerad grupp, om gruppen inte redan innehöll den källan. Annars tas raderna från den indatakällan bort. </para
+>Knappraden under menyraden innehåller tre knappar för indataval som innehåller bokstäverna "A", "B" och "C". Klicka på knappen för indataval för att infoga rader (eller ta bort dem om de redan infogats) från respektive källfil. För att välja rader från flera indatafiler klicka på respektive knappar i nödvändig ordning. Om du till exempel vill att rader från "B" ska hamna före rader från "A" i utdata, klicka först på "B" och därefter på "A". </para
 ><para
->Dessutom kan du redigera vilken rad som helst. Sammanfattningskolumnen visar "m" för varje rad som har ändrats. </para
+>Om du använder alternativet för att automatiskt gå vidare (<link linkend="autoadvance"
+>Gå automatiskt till nästa olösta konflikt efter val av källa</link
+>), måste du inaktivera det innan du väljer rader från flera indatafiler eller om du vill redigera raderna efter du valt dem. Annars går Kdiff3 till nästa konflikt efter den första indatafilen valts. </para
+><para
+>Det är ofta användbart att direkt redigera sammanfogad utdata. Sammanfattningskolumnen visar "m" för varje rad som ändrades manuellt. När skillnaderna till exempel justeras på ett sätt så att ett enkelt val av indata inte är tillfredsställande, kan du markera texten som behövs och använda normal <link linkend="selections"
+>kopiera och klistra in</link
+> för att placera den i sammanfogad utdata. </para
 ><para
 >Ibland, när en rad tas bort antingen på grund av automatisk sammanfogning eller genom redigering och inga andra rader finns kvar i gruppen, visas texten &lt;Ingen källrad&gt; på raden. Det är bara en platsmarkör för gruppen om du ändrar dig och väljer en källa igen. Texten syns inte i sparade filer eller i några markeringar som du vill kopiera och klistra in. </para
 ><para
->Texten "&lt; Konflikter vid sammanfogning &gt;" visas i klippbordet om du kopierar och klistrar in någon text som innehåller en sådan rad. Men var ändå försiktig med att göra det. </para
+>Texten "&lt; Konflikter vid sammanfogning &gt;" visas på klippbordet om du kopierar och klistrar in någon text som innehåller en sådan rad. Men var ändå försiktig med att göra det. </para
+></sect2
+><sect2
+><title
+>Välja indata A, B eller C för alla konflikter</title
 ><para
->Den normala sammanfogningen börjar med att automatiskt lösa enkla konflikter. Menyn "Sammanfoga" tillhandahåller också några alternativ för andra vanliga behov. Om du måste välja samma källfil för de flesta konflikter, kan du välja "A", "B" eller "C" överallt, eller bara för återstående olösta konflikter, eller för olösta konflikter med blanktecken. Om du vill bestämma själv för varje enskild skillnad, kan du "Ändra skillnader till konflikter", eller om du vill återgå till de automatiska valen i Kdiff3 kan du välja "Lös automatiskt enkla konflikter". Då startar Kdiff3 om sammanfogningen. För åtgärder som påverkar dina tidigare ändringar frågar Kdiff3 om bekräftelse innan åtgärden utförs. </para
+>Den normala sammanfogningen börjar med att automatiskt lösa enkla konflikter. Menyn "Sammanfoga" tillhandahåller också några alternativ för andra vanliga behov. Om du måste välja samma källfil för de flesta konflikter, kan du välja "A", "B" eller "C" överallt, eller bara för återstående olösta konflikter, eller för olösta konflikter med blanktecken. Om du vill bestämma själv för varje enskild skillnad, kan du "Ändra skillnader till konflikter", eller om du vill återgå till de automatiska valen i Kdiff3; kan du välja "Lös automatiskt enkla konflikter". Då startar Kdiff3 om sammanfogningen. För åtgärder som påverkar dina tidigare ändringar frågar KDiff3 om bekräftelse innan åtgärden utförs. </para
 ><para
->Observera: När endera källan väljs för olösta konflikter för blanktecken och alternativet "Ignorera siffror" eller "Ignorera C/C++ kommentarer" används, så behandlas ändringar i siffror eller kommentarer också som blanktecken. </para>
+>Observera: När endera källan väljes för olösta konflikter för blanktecken och alternativet "Ignorera siffror" eller "Ignorera C/C++ kommentarer" används, så behandlas ändringar i siffror eller kommentarer också som blanktecken. </para
+></sect2
+><sect2 id="vcskeywordsmergesupport"
+><title
+>Sammanfoga automatiskt nyckelord för versionshantering och historik (logg)</title
+><para
+>Många versionshanteringssystem stöder särskilda nyckelord i filen (t.ex. 
+"$Date$", "$Header$", 
+"$Author$", "$Log$
+"$Author$", "Revision 1.2  2006/04/10 08:33:34  joachim99
+"$Author$", "KDiff3 0.9.89
+"$Author$", "" etc.) Vid arkivering ändrar 
+versionshanteringssystemet (VCN) dessa rader. Till exempel ändras "$Date$" till "$Date: 2006-03-25 
+23:55:56 +0100 (za, 25 mrt 2006) $". Eftersom raden är olika i varje version 
+av filen, skulle den kräva manuell interaktion under sammanfogningen. </para
+><para
+>Kdiff3 erbjuder automatisk sammanfogning av dessa poster. För enkla rader som matchar alternativet "Reguljärt uttryck för automatisk sammanfogning" i alla indatafiler väljer Kdiff3 raden från B, eller om tillgänglig, den från C. (Dessutom är det nödvändigt att raderna i fråga radas upp i jämförelsen och att föregående rad inte innehåller en konflikt.) Den automatiska sammanfogningen kan antingen utföras omedelbart när sammanfogningen startas (aktivera alternativet "Kör automatisk sammanfogning med reguljärt uttryck när sammanfogning startar") eller senare via "Kör automatisk sammanfogning med reguljärt uttryck" i menyn Sammanfoga. </para
+><para
+>Automatisk sammanfogning för versionshanteringshistorik (också kallat "logg") stöds också. Automatisk sammanfogning av historik kan antingen utföras omedelbart när sammanfogningen startas genom att aktivera alternativet "Sammanfogning enligt versionshanteringshistorik när sammanfogning startar" eller senare via "Lös automatiskt historikkonflikter" i menyn Sammanfoga. </para
+><para
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "$Log$
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "KDiff3 0.9.89
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "". Den måste matchas av alternativet "Reguljärt uttryck för historikens början". Kdiff3 detekterar vilka efterföljande rader som ingår i historiken genom att analysera de inledande tecknen som fanns före nyckelordet "$Log$
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "$Log$". Den måste matchas av alternativet "Reguljärt uttryck för historikens början". Kdiff3 detekterar vilka efterföljande rader som ingår i historiken genom att analysera de inledande tecknen som fanns före nyckelordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "$Log$". Den måste matchas av alternativet "Reguljärt uttryck för historikens början". Kdiff3 detekterar vilka efterföljande rader som ingår i historiken genom att analysera de inledande tecknen som fanns före nyckelordet "KDiff3 0.9.89
+>Oftast börjar versionshanteringshistoriken med en rad som innehåller nyckelordet "$Log$". Den måste matchas av alternativet "Reguljärt uttryck för historikens början". Kdiff3 detekterar vilka efterföljande rader som ingår i historiken genom att analysera de inledande tecknen som fanns före nyckelordet "". Om samma "inledande kommentar" också finns på följande rader inkluderas de också i historiken. </para
+><para
+>Vid varje arkivering skriver VCS en unik rad som anger version, datum- och tidsinformation följd av rader med användarens kommentarer. Raderna utgör en historikpost. Historikavsnittet växer vid varje arkivering och de senaste posterna visas längst upp (efter historikens startrad). </para
+><para
+>När två utvecklare arkiverar grenar av en fil under parallell utveckling, kommer historiken för sammanfogning att innehålla flera poster som visas som konflikter under sammafogning av grenarna. Eftersom sammafogning av dem kan bli mycket tröttsam, erbjuder Kdiff3 stöd för den med två möjliga strategier: Bara infoga historikinformationen från båda bidragsgivarna längst upp, eller sortera historikinformationen enligt en användardefinierad nyckel. </para
+><para
+>Metoden att bara infoga alla poster är enklast att ställa in. Kdiff3 behöver bara en metod att detektera vilka rader som hör till en historikpost. De flesta VCS infogar en tom rad efter varje historikpost. Om det inte finns några andra tomma rader, är det ett tillräckligt villkor för Kdiff3. Ange bara en tom "Reguljärt uttryck för historikens början". Om kriteriet med en tom rad inte är tillräckligt kan du ange ett reguljärt uttryck för att detektera historikpostens början. </para
+><para
+>Om du vill sortera historiken måste du ange hur sorteringsnyckeln ska byggas. Använd parenteser som i "Reguljärt uttryck för historikpostens början" för att gruppera delar av det reguljära uttrycket som senare ska användas i sorteringsnyckeln. Ange därefter "Sorteringsnycklarnas ordning från historikpostens början" med en lista av nummer som refererar till gruppens position i det reguljära uttrycket åtskilda av kommatecken ",". </para
+><para
+>Eftersom det inte är så enkelt att få det rätt omedelbart, kan du prova och förbättra det reguljära uttrycket och nyckelgenereringen i en särskild dialogruta genom att klicka på knappen "Prova dina reguljära uttryck". </para
+><para
+>Antag att historiken ser ut så här: <screen>
+/**************************************************************************
+** HISTORIK:    $Log$
+** HISTORIK:    Revision 1.2  2006/04/10 08:33:34  joachim99
+** HISTORIK:    KDiff3 0.9.89
+** HISTORIK:
+**
+**     \head\integreringsgren_12   2 Apr 2001 10:45:41   tom
+**  Sammanfogade grenen simongren_15.
+**
+**     \main\henry_felrättningsgren_7\1   30 Mar 2001 19:22:05   henry
+**  Förbättrade hastigheten för delrutinen omvandlaTill().
+**  Fixade krasch.
+**************************************************************************/
+</screen
+> Historikens inledande rad matchar det reguljära uttrycket ".*\$Log.*\$.*". Därefter följer historikposterna. </para
+><para
+>Raden med nyckelordet "$Log$
+>Raden med nyckelordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Raden med nyckelordet "KDiff3 0.9.89
+>Raden med nyckelordet "" börjar med två "*" och därefter följer ett mellanslag. Kdiff3 använder den första strängen utan blanktecken som "inledande kommentar" och antar att historiken slutar med den första raden utan denna inledande kommentar. I exemplet slutar den sista raden med en sträng som också börjar med två "*", men istället för ett mellanslag följer fler "*". Därför avslutar denna rad historiken. </para
+><para
+>Om sortering av historiken inte krävs kan det reguljära uttrycket för historikpostens början se ut så här. (Raden är delad i två eftersom den inte skulle få plats annars.) <screen>
+\s*\\main\\\S+\s+[0-9]+ (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ [0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s+.*
+</screen
+> För detaljinformation om reguljära uttryck se <ulink url="http://doc.trolltech.com/3.3/qregexp.html#details"
+>Trolltechs dokumentation av reguljära uttryck</ulink
+>. Observera att "\s" (med ett litet "s") matchar alla blanktecken och  "\S" (med ett stort "S") matchar alla tecken som inte är blanktecken. I vårt exempel innehåller historikpostens början först versionsinformation med det reguljära uttrycket "\\main\\\S+", datumet som består av dagen "[0-9]+", månaden "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)" och året "[0-9][0-9][0-9][0-9]", tiden "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]" och till sist utvecklarens inloggningsnamn ".*". Observera att den inledande kommentaren (i exemplet "**") redan har tagits bort av Kdiff3 innan matchningsförsöket, därför börjar det reguljära uttrycket med en matchning av en eller flera blanktecken "\s*". </para
+><para
+>Om du kräver sorterad historik måste sorteringsnyckeln beräknas. För att göra det måste relevanta delar i det reguljära uttrycket grupperas med parenteser. (De extra parenteserna kan också vara kvar även om historiksortering inaktiveras.) <screen>
+\s*\\main\\(\S+)\s+([0-9]+) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
+ ([0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])\s+(.*)
+</screen
+> Parenteserna innehåller nu 1. versionsinformation, 2. dag, 3. månad, 4. år, 5. tid, 6. namn. Men om vi vill sortera enligt datum och tid måste vi skapa en nyckel med elementen synliga i en annan ordning: Först året, följt av månad, dag, tid, versionsinformation och namn. Därför ska sorteringsnyckelns ordning som anges vara  "4,3,2,5,1,6". </para
+><para
+>Eftersom månadsnamn inte är bra att sortera enligt ("Apr" skulle vara först) detekterar Kdiff3 vilken ordning månadsnamnen anges och använder det numret istället ("Apr"->"04"). Och om ett rent nummer hittas omvandlas det till ett fyrasiffrors värde med inledande nollor för sortering. Till sist blir den resulterande sorteringsnyckeln för den första historikpostens inledande rad: <screen
+>2001 04 0002 10:45:41 integreringsgren_12   tom 
+</screen>
+</para
+><para
+>För mer information, se också <link linkend="diffmergeoptions"
+>Inställningar av jämför och sammanfoga</link
+>. </para>
+</sect2>
 </sect1>
 
 <sect1 id="navigation"
 ><title
 >Navigering och redigering</title>
 <para
->Mycket navigering görs med rullningslisterna och musen, men du kan också navigera med tangentbordet. Om du klickar på något fönster kan du använda markörtangenterna vänsterpil, högerpil, uppåtpil, neråtpil, Page Up, Page Down, Home, End, Ctrl+Home och Ctrl+End som du kan i andra program. </para
+>Mycket navigering görs med rullningslisterna och musen, men du kan också navigera med tangentbordet. Om du klickar på något fönster kan du använda markörtangenterna vänsterpil, högerpil, uppåtpil, neråtpil, Page Up, Page Down, Home, End, Ctrl+Home och Ctrl+End som du kan i andra program. Sammanfattningskolumnen intill indatafilernas vertikala rullningslist kan också användas för att navigera genom att klicka i den. </para
 ><para
 >Du kan också använda hjulmusen för att rulla uppåt och neråt. </para
 ><para
 >I editorn för sammanfogningsutdata kan du också använda andra tangenter för redigering. Du kan byta mellan infognings- och ersättningsläge med tangenten Insert. (Normalläget är infoga.) </para
 ><para
->Ett klick med vänster musknapp i någon sammanfattningskolumn synkroniserar alla fönster för att visa början på samma grupp av rader (som förklaras i avsnittet <link linkend="merging"
->Sammanfogning</link
+>Ett klick med vänster musknapp i någon sammanfattningskolumn synkroniserar alla fönster för att visa början på samma grupp av rader (som förklaras i avsnittet <link linkend="synchronise_views"
+>Ställa in aktuell grupp och synkronisera sammanfognings- och jämförelsevyns position</link
 >). </para
 ><para
->Verktygsraden innehåller också sju navigeringsknappar som du kan använda för att gå till aktuell/första/sista skillnaden, till nästa/föregående skillnad (Ctrl+Neråtpil eller Ctrl+Uppåtpil), till nästa/föregående konflikt (Ctrl+Page Down eller Ctrl+Page Up) eller till nästa/föregående olösta konflikt. Observera att för KDiff3 förblir en "konflikt" som inte automatiskt löstes vid start av sammanfogningen alltid en "konflikt" även om den är löst. Därav nödvändigheten att särskilja "olöst konflikt". </para
-><para
->Det finns också en knapp som heter "Gå automatiskt till nästa olösta konflikt efter val av källa" (automatisk fortsättning). Om du aktiverar det här, så går KDiff3 automatiskt till nästa olösta konflikt när en källa väljs. Det kan hjälpa till när du bara vill välja en källa. När du behöver båda källor, eller du vill redigera efter valet, bör du troligen stänga av det här. Innan KDiff3 fortsätter till nästa olösta konflikt, visas effekten av valet en kort tid. Den här fördröjningen kan justeras i inställningarna under Jämför och sammanfoga. Du kan ange "Fördröjning vid automatisk fortsättning" i millisekunder mellan 0 och 2000. Tips: Trött på många klick? Använd en kort fördröjning och snabbtangenterna Ctrl+1, Ctrl+2 eller Ctrl+3 för många konflikter. </para>
+>Verktygsraden innehåller också nio navigeringsknappar som du kan använda för att gå till aktuell/första/sista skillnaden, till nästa/föregående skillnad (Ctrl+Neråtpil eller Ctrl+Uppåtpil), till nästa/föregående konflikt (Ctrl+Page Down eller Ctrl+Page Up) eller till nästa/föregående olösta konflikt. Observera att för Kdiff3 förblir en "konflikt" som inte automatiskt löstes vid start av sammanfogningen alltid en "konflikt" även om den är löst. Därav nödvändigheten att särskilja "olösta konflikter". </para>
+<sect2 id="autoadvance"
+><title
+>Automatisk fortsättning</title>
+<para
+>Det finns också en knapp som heter "Gå automatiskt till nästa olösta konflikt efter val av källa" (automatisk fortsättning). Om du aktiverar det här, så går Kdiff3 automatiskt till nästa olösta konflikt när en källa väljes. Det kan hjälpa till när du bara vill välja en källa. När du behöver båda källor, eller du vill redigera efter valet, bör du troligen stänga av det här. Innan Kdiff3 fortsätter till nästa olösta konflikt, visas effekten av valet en kort tid. Den här fördröjningen kan justeras i inställningarna under Jämför och sammanfoga. Du kan ange "Fördröjning vid automatisk fortsättning" i millisekunder mellan 0 och 2000. Tips: Är du trött på många klick? Använd en kort fördröjning vid automatisk fortsättning och snabbtangenterna Ctrl+1/2/3 för att välja A/B/C för många konflikter. </para>
+</sect2>
 </sect1>
 
 <sect1 id="selections"
 ><title
 >Markera, kopiera och klistra in</title>
 <para
->Indatafönstren visar inte någon markör, så markeringar måste göras med musen, genom att klicka med vänster musknapp på början, hålla nere musknappen och gå till slutet, där musknappen släpps upp igen. Du kan också markera ett ord genom att dubbelklicka på det. I editorn för sammanfogningsutdata kan du också markera med tangentbordet, genom att hålla nere tangenten "Skift" och navigera med piltangenterna. </para
+>Indatafönstren visar inte någon markör, så markeringar måste göras med musen, genom att klicka med vänster musknapp på början, hålla nere musknappen och gå till slutet, där musknappen släpps upp igen. Du kan också markera ett ord genom att dubbelklicka på det. I editorn för sammanfogningsutdata kan du också markera med tangentbordet, genom att hålla nere skifttangenten och navigera med piltangenterna. </para
 ><para
->För att kopiera till klippbordet måste du trycka på knappen "Kopiera" (Ctrl+C eller Ctrl+Insert). Men det finns ett alternativ som heter "Kopiera automatiskt markering". Om det är markerat, kopieras vad du än väljer omedelbart, och du behöver aldrig explicit kopiera. Men var försiktig när du använder detta, eftersom klippbordets innehåll kan förstöras av misstag. </para
+>För att kopiera till klippbordet måste du trycka på knappen "Kopiera" (Ctrl+C eller Ctrl+Insert). Men det finns ett alternativ som heter "Kopiera automatiskt markering". Om det är aktiverat, kopieras vad du än väljer omedelbart, och du behöver aldrig explicit kopiera. Men var försiktig när du använder detta, eftersom klippbordets innehåll kan förstöras av misstag. </para
 ><para
->"Klipp ut" (Ctrl+X eller Skift+Delete) kopierar till klippbordet och tar bort den markerade texten, och "Klistra in" (Ctrl+V eller Skift+Insert) infogar texten från klippbordet på markörens position eller över nuvarande markering. </para>
+>"Klipp ut" (Ctrl+X eller Skift+Delete) kopierar till klippbordet och tar bort markerad text, medan "Klistra in" (Ctrl+V eller Skift+Insert) infogar texten från klippbordet på markörpositionen eller över nuvarande markering. </para>
 </sect1>
 
 <sect1 id="saving"
 ><title
->Sparar</title>
+>Spara</title>
 <para
->Att spara tillåts bara när alla konflikter är lösta. Om filen redan finns och alternativet "Säkerhetskopiera filer" är markerat, ändras originalversionens namn med tillägg av filändelsen ".orig", och om en sådan fil redan finns tas den bort. När du avslutar eller startar en ny jämförelseanalys och data inte sparats ännu, frågar KDiff3 om du vill spara, avbryta eller fortsätta utan att spara. (KDiff3 fångar inga signaler, så om du "dödar" KDiff3 går data förlorat.) </para
+>Att spara tillåts bara när alla konflikter är lösta. Om filen redan finns och alternativet "Säkerhetskopiera filer" är markerat, ändras originalversionens namn med tillägg av filändelsen .orig, och om en sådan fil redan finns tas den bort. När du avslutar eller startar en ny jämförelseanalys och data inte sparats ännu, frågar Kdiff3 om du vill spara, avbryta eller fortsätta utan att spara. (Kdiff3 fångar inga signaler, så om du "dödar" Kdiff3 går data förlorat.) </para
 ><para
->Radslut sparas enligt den normala metoden i det underliggande operativsystemet. För Unix slutar varje rad med ett nyradstecken "\n", medan för Windows-baserade system slutar varje rad med ett returtecken och ett nyradstecken "\r\n". KDiff3 behåller inte radslut för indatafilerna, vilket också betyder att du inte ska använda KDiff3 med binärfiler. </para>
+>Radslut sparas enligt den normala metoden i det underliggande operativsystemet. För Unix slutar varje rad med ett nyradstecken "\n", medan för Windows-baserade system slutar varje rad med ett returtecken och ett nyradstecken "\r\n". Kdiff3 behåller inte radslut för indatafilerna, vilket också betyder att du inte ska använda Kdiff3 med binärfiler. </para>
 </sect1>
 
 <sect1 id="find"
 ><title
 >Söka efter strängar</title>
 <para
->Du kan söka efter en sträng i vilket textfönster som helst i KDiff3. Kommandot "Sök..." (Ctrl+F) i menyn Redigera, visar en dialogruta som låter dig ange strängen att söka efter. Du kan också välja de fönster som ska sökas. Sökning startar alltid från början. Använd kommandot "Sök igen" (F3) för att fortsätta till nästa förekomst. Om du väljer att söka i flera fönster, söks det första fönstret från början till slut innan sökningen fortsätter från början i nästa fönster, etc. </para>
+>Du kan söka efter en sträng i vilket textfönster som helst i Kdiff3. Kommandot "Sök..." (Ctrl+F) i menyn Redigera, visar en dialogruta som låter dig ange strängen att söka efter. Du kan också välja de fönster som ska sökas. Sökning startar alltid från början. Använd kommandot "Sök igen" (F3) för att fortsätta till nästa förekomst. Om du väljer att söka i flera fönster, söks det första fönstret från början till slut innan sökningen fortsätter från början i nästa fönster, etc. </para>
 </sect1>
 
+<sect1 id="printing"
+><title
+>Utskrift</title>
+<para
+>Kdiff3 stöder utskrift av skillnader mellan textfiler. Kommandot "Skriv ut..." (Ctrl+P) i menyn Arkiv visar en dialogruta som låter dig välja skrivare och justera andra alternativ. </para
+><para
+>Det finns flera möjligheter att justera intervallet. Beroende på olika utskriftsdialogrutor på olika operativsystem, varierar metoden för att åstadkomma val av ett visst intervall. </para>
+<variablelist>
+   <varlistentry
+><term
+>Alla:</term
+><listitem
+><para
+>Skriv ut allt.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Aktuell:</term
+><listitem
+><para
+>Skriv ut en sida som börjar på den första synliga raden i fönstret. (På system utan alternativet kan det åstadkommas genom att ange sidnumret 10000 för utskrift.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Markering:</term
+><listitem
+><para
+>Innan du väljer att skriva ut, markera text med musen (som för kopiera och klistra in) i ett av jämförelsefönstren för att definiera start- och slutrad. Om ingen text var markerad i något av jämförelsefönstren, är inte alternativet tillgängligt. (På system utan alternativet kan det åstadkommas genom att ange sidnumret 9999 för utskrift.)</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+>Intervall:</term
+><listitem
+><para
+>Ange första och sista sidan. </para
+></listitem
+></varlistentry>
+</variablelist>
+<para
+>Andra viktiga inställningar för utskrift tas från de normala inställningarna: </para
+><itemizedlist>
+   <listitem
+><para
+>Teckensnitt, teckenstorlek</para
+></listitem>
+   <listitem
+><para
+>Visa radnummer</para
+></listitem>
+   <listitem
+><para
+>Radbryt</para
+></listitem>
+   <listitem
+><para
+>Färger</para
+></listitem>
+   <listitem
+><para
+>etc.</para
+></listitem>
+</itemizedlist>
+<para
+>Liggande formatering rekommenderas också för utskrift. </para>
+</sect1>
 
 <sect1 id="options"
 ><title
@@ -739,9 +1023,61 @@
 >Oftast mörkgul.</para
 ></listitem
 ></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Färg för manuellt valda jämförelseintervall:</emphasis
+></term
+><listitem
+><para
+>Oftast orange.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Färg för nyaste fil i katalogjämförelse:</emphasis
+></term
+><listitem
+><para
+>Oftast grön.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Färg för äldsta fil i en katalogjämförelse:</emphasis
+></term
+><listitem
+><para
+>Oftast röd.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Färg för medelgamla filer i en katalogjämförelse:</emphasis
+></term
+><listitem
+><para
+>Oftast mörkgul.</para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Färg för saknade filer i en katalogjämförelse:</emphasis
+></term
+><listitem
+><para
+>Oftast svart.</para
+></listitem
+></varlistentry>
 </variablelist>
 <para
->För system med bara 16 eller 256 färger är vissa rena färger inte tillgängliga. För sådana system väljer knappen "Förval" rena färger. </para>
+>Att ändra färgerna för katalogjämförelser får inte någon effekt förrän nästa katalogjämförelse startas. </para>
+<para
+>För system med bara 16 eller 256 färger är vissa rena färger inte tillgängliga. För sådana system väljer knappen "Förval" en ren färg. </para>
 </sect2>
 
 <sect2
@@ -791,21 +1127,21 @@
    <varlistentry
 ><term
 ><emphasis
->Använd lokal kodning:</emphasis
+>Radslutstil:</emphasis
 ></term
 ><listitem
 ><para
->För att visa främmande tecken. Försök ändra det här om vissa tecken i språket du använder inte visas riktigt. </para
+>När du sparar kan du välja vilken radslutsstil du föredrar. Förvald inställning är det vanliga valet för operativsystemet som används. </para
 ></listitem
 ></varlistentry>
 </variablelist>
 </sect2>
 
-<sect2
+<sect2 id="diffmergeoptions"
 ><title
 >Inställningar av jämför och sammanfoga</title>
 <para
->När filer jämförs försöker KDiff3 först att matcha rader som är lika i alla indatafiler. Det är bara under detta steg som blanktecken kan ignoreras. Det andra steget jämför varje rad. Under detta steg ignoreras inte blanktecken. Under sammanfogning ignoreras inte heller blanktecken. </para>
+>När filer jämförs försöker Kdiff3 först att matcha rader som är lika i alla indatafiler. Det är bara under detta steg som blanktecken kan ignoreras. Det andra steget jämför varje rad. Under detta steg ignoreras inte blanktecken. Under sammanfogning ignoreras inte heller blanktecken. </para>
 
 <variablelist>
    <varlistentry
@@ -815,7 +1151,7 @@
 ></term
 ><listitem
 ><para
->Vissa editorer (på vissa system) sparar returtecken '\r' och nyradstecken '\n' i slutet på raden, medan andra bara sparar nyradstecknet '\n'. Oftast ignorerar KDiff3 returtecknet, men då ser filer som inte har samma storlek likadana ut vid jämförelse sida vid sida. När det här alternativet är markerat, görs returtecken synliga, men behandlas som blanktecken. Det här alternativet måste vara av under en sammanfogning. Normalvärdet är av.</para
+>Vissa editorer (på vissa system) sparar returtecken '\r' och nyradstecken '\n' i slutet på raden, medan andra bara sparar nyradstecknet '\n'. Oftast ignorerar Kdiff3 returtecknet, men då ser filer som inte har samma storlek likadana ut vid jämförelse sida vid sida. När det här alternativet är markerat, görs returtecken synliga, men behandlas som blanktecken. Det här alternativet måste vara av under en sammanfogning. Normalvärdet är av.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -825,7 +1161,7 @@
 ></term
 ><listitem
 ><para
->Normalvärdet är av. Siffertecken ('0'-'9','.', '-') ignoreras under första delen av analysen när radmatchningen görs. Skillnaderna för resultatet visas ändå, men de behandlas som blanktecken. </para
+>Normalvärdet är av. Siffertecken ('0'-'9', '.', '-') ignoreras under första delen av analysen när radmatchningen görs. Skillnaderna för resultatet visas ändå, men de behandlas som blanktecken. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -841,11 +1177,11 @@
    <varlistentry
 ><term
 ><emphasis
->Konvertera till stora bokstäver:</emphasis
+>Ignorera skiftläge:</emphasis
 ></term
 ><listitem
 ><para
->Normalvärdet är av. Konverterar indata till stora bokstäver under läsning. Alltså är jämförelsen inte skiftlägeskänslig. Var försiktig under sammanfogning, eftersom skiftlägesinformationen också går förlorad i sammanfogningsresultatet. </para
+>Normalvärdet är av. Ändringar i skiftläge för tecken (som 'A' eller 'a') hanteras som ändringar i blanktecken. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -855,17 +1191,21 @@
 ></term
 ><listitem
 ><para
->När en fil läses, skickas den via det här externa kommandot. Utmatningen från kommandot visas istället för den ursprungliga filen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Använd det här för att ta bort störande delar av filen, eller för att automatiskt korrigera indenteringen, etc. </para
+>Se <link linkend="preprocessors"
+>nästa avsnitt</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
 ><term
 ><emphasis
->Preprocessorkommando för radmatchning:</emphasis
+>Radmatchande preprocessorkommando:</emphasis
 ></term
 ><listitem
 ><para
->När en fil läses, skickas den via det här externa kommandot. Om ett preprocessorkommando (se ovan) också anges är utmatningen från preprocessorn inmatning till kommandot för radmatchning. Utmatningen används bara under radmatchningsfasen av analysen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Varje indatarad måste ha en motsvarande utdatarad. </para
+>Se <link linkend="preprocessors"
+>nästa avsnitt</link
+>. </para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -895,7 +1235,106 @@
 ></term
 ><listitem
 ><para
->Lös automatiskt alla konflikter för blanktecken genom att välja angiven fil. (Normalvärdet är manuellt val.) Användbart om blanktecken verkligen är oviktiga i många filer. Om du bara behöver det ibland, är det bättre att använda "Välj A/B/C för olösta konflikter med blanktecken" i sammanfogningsmenyn. Observera att om du antingen aktiverar "Ignorera siffror" eller "Ignorera C/C++ kommentarer" gäller det automatiska valet också vid konflikter för siffror eller kommentarer. </para
+>Lös automatiskt alla konflikter för blanktecken genom att välja angiven fil. (Normalvärdet är manuellt val.) Användbart om blanktecken verkligen är oviktiga i många filer. Om du bara behöver det ibland, är det bättre att använda "Välj A/B/C för olösta konflikter med blanktecken" i menyn Sammanfoga. Observera att om du antingen aktiverar "Ignorera siffror" eller "Ignorera C/C++ kommentarer" gäller det automatiska valet också vid konflikter för siffror eller kommentarer. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Reguljärt uttryck för automatisk sammanfogning:</emphasis
+></term
+><listitem
+><para
+>Reguljärt uttryck för rader där Kdiff3 automatisk ska välja en källa. Se också <link linkend="vcskeywordsmergesupport"
+>Automatisk sammanfogning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Kör automatisk sammanfogning med reguljärt uttryck när sammanfogning startar:</emphasis
+></term
+><listitem
+><para
+>Om aktiverad utför Kdiff3 den automatiska sammanfogningen med "Reguljärt uttryck för automatisk sammanfogning" när en sammanfogning startas. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Reguljärt uttryck för historikens början:</emphasis
+></term
+><listitem
+><para
+>Reguljärt uttryck för början av historikposten för sammanfogning. Oftast innehåller raden nyckelordet "$Log$
+>Reguljärt uttryck för början av historikposten för sammanfogning. Oftast innehåller raden nyckelordet "Revision 1.2  2006/04/10 08:33:34  joachim99
+>Reguljärt uttryck för början av historikposten för sammanfogning. Oftast innehåller raden nyckelordet "KDiff3 0.9.89
+>Reguljärt uttryck för början av historikposten för sammanfogning. Oftast innehåller raden nyckelordet "". Förvalt värde: ".*\$Log.*\$.*" </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Reguljärt uttryck för historikpostens början:</emphasis
+></term
+><listitem
+><para
+>En historikpost för sammanfogning består av flera rader. Ange det reguljära uttrycket för att detektera den första raden (utan inledande kommentar). Använd parenteser för att gruppera nycklarna du vill använda för sortering. Om det lämnas tomt, antar Kdiff3 att tomma rader skiljer historikposterna åt. Se också <link linkend="vcskeywordsmergesupport"
+>Automatisk sammanfogning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sortering av historiksammanfogning:</emphasis
+></term
+><listitem
+><para
+>Aktivera sortering av versionshanteringshistorik. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sorteringsnycklarnas ordning från historikpostens början:</emphasis
+></term
+><listitem
+><para
+>Varje parentes som används i det reguljära uttrycket för historikens startpost grupperar en nyckel som kan användas för sortering. Ange listan med nycklar (som numreras i ordning de uppträder med början på 1) med ',' som skiljetecken (t.ex. "4,5,6,1,2,3,7"). Om det lämnas tomt utförs ingen sortering. Se också <link linkend="vcskeywordsmergesupport"
+>Automatisk sammanfogning ...</link
+> </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Sammanfogning enligt versionshanteringshistorik när sammanfogningen startar:</emphasis
+></term
+><listitem
+><para
+>Om aktiverad utför Kdiff3 den automatiska sammafogningen av historik med tidigarenämnda alternativ när en sammanfogning startas. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Prova dina reguljära uttryck</emphasis
+></term
+><listitem
+><para
+>Knappen visar en dialogruta som låter dig förbättra och prova det reguljära uttrycket ovan. Kopiera bara respektive data från dina filer till exempelraderna. "Matchningsresultat" visar omedelbart om matchningen lyckas eller inte. "Sorteringsnyckelresultat" visar nyckeln som används för sortering vid sammanfogning av historik. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Ej relevant sammanfogningskommando:</emphasis
+></term
+><listitem
+><para
+>Ange ett eget kommando som ska anropas när Kdiff3 detekterar att filen från B inte bidrar med något relevant data som inte reda finns i filen från C. Kommandot anropas med de tre filnamnen som parametrar. Data som matchas av "Reguljärt uttryck för automatisk sammanfogning" eller i historiken anses inte vara relevant. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -919,7 +1358,7 @@
 ></term
 ><listitem
 ><para
->När en fil sparas och en äldre version redan finns, ändras originalversionens namn med tillägg av filändelsen ".orig". Om en gammal säkerhetskopia med filändelsen "orig" redan finns tas den bort utan säkerhetskopiering. </para
+>När en fil sparas och en äldre version redan finns, ändras originalversionens namn med tillägg av filändelsen ".orig". Om en gammal säkerhetskopia med filändelsen ".orig" redan finns tas den bort utan säkerhetskopiering. </para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -927,6 +1366,84 @@
 
 <sect2
 ><title
+>Inställningar för region och språk</title>
+  <variablelist>
+    <varlistentry
+><term
+><emphasis
+>Språk:</emphasis
+></term
+><listitem
+><para
+>Justera användargränssnittets språk. Att ändra alternativet påverkar inte programmet som kör. Du måste avsluta och starta om Kdiff3 för att ändra språk. (Alternativet är inte tillgängligt i KDE-versionen av Kdiff3, eftersom språket kan justeras i de allmänna KDE-inställningarna.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Använd samma kodning för allt:</emphasis
+></term
+><listitem
+><para
+>Följande kodningsalternativ kan justeras separat för varje objekt, eller om alternativet är sant, ställs alla värden in till det första värdet. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Lokal kodning:</emphasis
+></term
+><listitem
+><para
+>Ovanför kodningsväljarna visas en anmärkning som talar om för dig vad den lokala kodningen är (Den kan inte justeras, utan bara som information om du inte vet vad den lokala kodningen är, men behöver kunna välja den.) </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning för A/B/C:</emphasis
+></term
+><listitem
+><para
+>Justera filkodningen för indatafiler. Det ger effekt på hur specialtecken tolkas. Eftersom du kan justera varje kodning separat, kan du till och med jämföra och sammanfoga filer som sparades med olika kodningar. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning för sammanfogad utdata och vid spara:</emphasis
+></term
+><listitem
+><para
+>När du har redigerat en fil, kan du justera vilken kodning som används när den sparas till disk. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Filkodning för preprocessorfiler:</emphasis
+></term
+><listitem
+><para
+>När du definierar preprocessorer kanske de inte kan hantera din kodning (exempelvis om dina filer använder 16-bitars Unicode och preprocessorn bara kan hantera 8-bitars ASCII). Med det här alternativet kan du definiera kodningen för preprocessorns utdata. </para
+></listitem
+></varlistentry>
+    <varlistentry
+><term
+><emphasis
+>Språk som läses från höger till vänster</emphasis
+></term
+><listitem
+><para
+>Vissa språk skrivs från höger till vänster. När alternativet är aktiverat, ritar Kdiff3 text från höger till vänster i jämförelsefönstren och i sammanfogningsfönstret. Observera att om du startar Kdiff3 med kommandoradsväljaren "--reverse" så visas all layout också från höger till vänster. (Det är en funktion som Qt tillhandahåller.) Denna dokumentation är skriven med antagandet att "Språk som läses från höger till vänster" eller omvänd layout inte är aktiverade. Vissa referenser till "vänster" eller "höger" måste ersättas av motsatsen om du använder alternativen. </para
+></listitem
+></varlistentry>
+
+  </variablelist>
+</sect2>
+
+<sect2
+><title
 >Diverse</title>
 <para
 >(Dessa alternativ och åtgärder är tillgängliga i menyerna eller verktygsraden.)</para>
@@ -964,11 +1481,31 @@
   <varlistentry
 ><term
 ><emphasis
+>Översiktsalternativ:</emphasis
+></term
+><listitem
+><para
+>Dessa alternativ är bara tillgängliga när du jämför tre filer. I normalläge visas alla skillnader i en färgkodad översiktskolumn, men ibland är du särskilt intresserad av skillnaderna mellan två av de tre filerna. Genom att välja översikten "A mot B", "A mot C" eller "B mot C", visas en andra översiktskolumn med begärd information intill den vanliga översikten. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
+>Radbryt skillnadsfönster:</emphasis
+></term
+><listitem
+><para
+>Radbryt rader när deras längd skulle överskrida ett fönsters bredd. </para
+></listitem
+></varlistentry>
+  <varlistentry
+><term
+><emphasis
 >Visa fönster A/B/C:</emphasis
 ></term
 ><listitem
 ><para
->Ibland vill du använda skärmutrymmet bättre för långa rader. Dölj fönster som inte är viktiga. (I fönstermenyn.)</para
+>Ibland vill du använda skärmutrymmet bättre för långa rader. Dölj fönster som inte är viktiga. (I menyn Fönster.)</para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -978,7 +1515,7 @@
 ></term
 ><listitem
 ><para
->Byt mellan jämförelsefönster som visas intill varandra (A till vänster om B till vänster om C) eller ovanför varandra (A ovanför B ovanför C). Det bör också hjälpa för långa rader. (I fönstermenyn.) </para
+>Byt mellan jämförelsefönster som visas intill varandra (A till vänster om B till vänster om C) eller ovanför varandra (A ovanför B ovanför C). Det bör också hjälpa för långa rader. (I menyn Fönster.) </para
 ></listitem
 ></varlistentry>
   <varlistentry
@@ -992,7 +1529,7 @@
 ><imageobject
 ><imagedata fileref="merge_current.png" format="PNG"/></imageobject
 ></inlinemediaobject
-> "Sammanfoga markerade filer" i menyn Sammanfoga fungerar också om du bara jämför två filer. Ett enkelklick startar sammanfogningen och använder filnamnet på den sista indatafilen som förvalt utmatningsfilnamn. (När detta används för att starta om en sammanfogning, behålls utmatningsfilnamnet.)</para
+> "Sammanfoga aktuell fil" i menyn Katalog fungerar också om du bara jämför två filer. Ett enkelklick startar sammanfogningen och använder filnamnet på den sista indatafilen som förvalt utmatningsfilnamn. (När detta används för att starta om en sammanfogning, behålls utmatningsfilnamnet.)</para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -1005,19 +1542,342 @@
 >För närvarande stöder bara KDE-versionen anpassningsbara snabbtangenter (Menyn Inställningar -> Anpassa genvägar...) </para>
 </sect2>
 </sect1>
+
+<sect1 id="preprocessors"
+><title
+>Preprocessorkommandon</title>
+<para
+>Kdiff3 stöder två preprocessoralternativ. </para
+><para>
+<variablelist>
+   <varlistentry
+><term
+><emphasis
+>Preprocessorkommando:</emphasis
+></term
+><listitem
+><para
+>När en fil läses, skickas den via det här externa kommandot. Utmatningen från kommandot visas istället för den ursprungliga filen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Använd det här för att ta bort störande delar av filen, eller för att automatiskt korrigera indenteringen, etc. </para
+></listitem
+></varlistentry>
+   <varlistentry
+><term
+><emphasis
+>Radmatchande preprocessorkommando:</emphasis
+></term
+><listitem
+><para
+>När en fil läses, skickas den via det här externa kommandot. Om ett preprocessorkommando (se ovan) också anges är utmatningen från preprocessorn inmatning till den radmatchande preprocessorn. Utmatningen används bara under radmatchningsfasen av analysen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Varje indatarad måste ha en motsvarande utdatarad. </para
+></listitem
+></varlistentry>
+</variablelist>
+</para>
+<para
+>Idén är att ge användaren större flexibilitet när jämförelseresultatet ställs in, men det kräver ett externt program, och många användare vill inte skriva ett själva. De goda nyheterna är att ofta klarar <command
+>sed</command
+> eller <command
+>perl</command
+> av jobbet. </para>
+<para
+>Till exempel ett enkelt fall att prova: Betrakta filen a.txt (6 rader): <screen>
+      aa
+      ba
+      ca
+      da
+      ea
+      fa
+</screen
+> Och filen b.txt (3 rader): <screen>
+      cg
+      dg
+      eg
+</screen
+> Utan en preprocessor skulle följande rader placeras intill varandra: <screen>
+      aa - cg
+      ba - dg
+      ca - eg
+      da
+      ea
+      fa
+</screen
+> Det är troligen inte vad som önskas eftersom den första bokstaven innehåller den intressanta informationen. För att hjälpa matchningsalgoritmen att ignorera den andra bokstaven kan man använda ett radmatchande preprocessorkommando som ersätter 'g' med 'a': <screen>
+   <command
+>sed</command
+> 's/g/a/'
+</screen
+> Med det kommandot blir resultatet av matchningen: <screen>
+      aa
+      ba
+      ca - cg
+      da - dg
+      ea - eg
+      fa
+</screen
+> Internt ser matchningsalgoritmen filerna efter den radmatchande preprocessorn har körts, men på skärmen är filen oförändrad. (Den normala preprocessorn skulle också ändra data på skärmen.) </para>
+
+<sect2 id="sedbasics"
+><title
+>Grundläggande information om <command
+>sed</command
+></title>
+<para
+>Det här avsnittet introducerar bara några mycket grundläggande funktioner i <command
+>sed</command
+>. För mer information se <ulink url="info:/sed"
+>info:/sed</ulink
+> eller <ulink url="http://www.gnu.org/software/sed/manual/html_mono/sed.html"
+>http://www.gnu.org/software/sed/manual/html_mono/sed.html</ulink
+>. En förkompilerad version för Windows finns på <ulink url="http://unxutils.sourceforge.net"
+>http://unxutils.sourceforge.net</ulink
+>. Observera att följande exempel antar att <command
+>sed</command
+> finns i någon katalog i miljövariabeln PATH. Om det inte är fallet, måste du ange fullständig absolut sökväg till kommandot. </para>
+<note
+><para
+>Observera också att följande exempel använder enkla citationstecken ('), vilket inte fungerar i Windows. I Windows ska du istället använda dubbla citationstecken (").</para
+></note>
+<para
+>I det här sammanhanget används bara ersättningskommandot i <command
+>sed</command
+>: <screen>
+   <command
+>sed</command
+> 's/<replaceable
+>REGUTTRYCK</replaceable
+>/<replaceable
+>ERSÄTTNING</replaceable
+>/<replaceable
+>FLAGGOR</replaceable
+>'
+</screen
+> Innan du använder ett nytt kommando inne i Kdiff3, bör du först prova det i en terminal. Då är kommandot <command
+>echo</command
+> användbart. Till exempel: <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/'
+   -> obrakadabra
+</screen
+> Exemplet visar ett mycket enkelt sed-kommando som ersätter den första förekomsten av "a" med "o". Om du vill ersätta alla förekomster behöver du flaggan "g": <screen>
+   <command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g'
+   -> obrokodobro
+</screen
+> Symbolen "|" är rörledningskommandot som överför utdata från föregående kommando till indata i efterföljande kommando. Om du vill prova med en längre fil kan du använda <command
+>cat</command
+> på Unix-liknande system eller <command
+>type</command
+> på Windows-liknande system. <command
+>sed</command
+> utför ersättningen för varje rad. <screen
+><command
+>cat</command
+> <replaceable
+>filnamn</replaceable
+> |<command
+>sed</command
+> <replaceable
+>väljare</replaceable
+>
+</screen>
+</para>
+</sect2>
+<sect2 id="sedforkdiff3"
+><title
+>Exempel på användning av <command
+>sed</command
+> i Kdiff3</title>
+<sect3
+><title
+>Ignorera andra typer av kommentarer</title>
+<para
+>För närvarande förstår Kdiff3 bara C/C++ kommentarer. Genom att använda ett radmatchande preprocessorkommando kan du också ignorera andra typer av kommentarer genom att konvertera dem till C/C++ kommentarer. För att till exempel ignorera kommentarer som börjar med "#", skulle du vilja konvertera dem till "//". Observera att du också måste aktivera alternativet "Ignorera C/C++ kommentarer" för att få någon effekt. Ett lämpligt radmatchande preprocessorkommando skulle vara: <screen>
+   <command
+>sed</command
+> 's/#/\/\//'
+</screen
+> Eftersom tecknet "/" har en särskild betydelse i <command
+>sed</command
+>, är det nödvändigt att lägga till tecknet "\" innan varje "/" i ersättningssträngen. Ibland behövs "\" för att lägga till eller ta bort en särskild betydelse för vissa tecken. De enkla citationstecknen (') innan och efter ersättningskommandot är nu viktiga, eftersom skalet annars skulle försöka tolka vissa specialtecken som '#', '$' eller '\' innan de skickas till <command
+>sed</command
+>. <emphasis
+>Observera att i Windows behöver du dubbla citationstecken (") här. Windows ersätter andra tecken som '%', så du kan behöva experimentera något.</emphasis
+> </para>
+</sect3>
+<sect3
+><title
+>Jämförelse som inte är skiftlägeskänslig</title>
+<para
+>Använd följande radmatchande preprocessorkommando för att omvandla all indata till stora bokstäver: <screen>
+   <command
+>sed</command
+> 's/\(.*\)/\U\1/'
+</screen
+> Här är ".*" ett reguljärt uttryck som matchar alla strängar, och i det här sammanhanget matchar alla tecken på raden. Tecknet "\1" i ersättningssträngen motsvarar den matchade texten mellan det första paret "\(" och "\)". "\U" konverterar den infogade texten till stora bokstäver. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorera nyckelord för versionshantering</title>
+<para
+>CVS och andra versionshanteringssystem använder flera nyckelord för att infoga automatiskt skapade strängar (<ulink url="info:/cvs/Keyword substitution"
+>info:/cvs/Keyword substitution</ulink
+>). Alla följer mönstret "$NYCKELORD skapad text$". Nu behöver vi ett radmatchande preprocessorkommando som bara tar bort den skapade texten: <screen>
+   <command
+>sed</command
+> 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'
+</screen
+> Strängen "\|" skiljer de möjliga nyckelorden åt. Du kanske vill ändra listan enligt dina behov. Tecknet "\" framför "$" behövs eftersom annars matchar  "$" radens slut. </para>
+<para
+>Medan du experimenterar med <command
+>sed</command
+> kan du komma att förstå och till och med tycka om de reguljära uttrycken. De är användbara eftersom det finns många andra program som också stöder liknande funktioner. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorera siffror</title>
+<para
+>Att ignorera siffror är i själva verket ett inbyggt alternativ, men som ett annat exempel, visas hur det skulle se ut som ett radmatchande preprocessorkommando. <screen>
+   <command
+>sed</command
+> 's/[0123456789.-]//g'
+</screen
+> Alla tecken inom '[' och ']' matchar och kommer att ersättas av ingenting. </para>
+</sect3>
+
+<sect3
+><title
+>Ignorera vissa kolumner</title>
+<para
+>Ibland är texten mycket strikt formaterad, och innehåller kolumner som du alltid vill ignorera, medan det finns andra kolumner du vill bevara för analys. I följande exempel ignoreras de fem första kolumnerna (tecknen), de följande tio kolumnerna bevaras, därefter ignoreras återigen fem kolumner och resten av raden bevaras. <screen>
+   <command
+>sed</command
+> 's/.....\(..........\).....\(.*\)/\1\2/'
+</screen
+> Varje punkt '.' motsvarar vilket enstaka tecken som helst. Strängarna "\1" och "\2" i ersättningssträngen refererar till den matchande texten inom det första och andra paret av  "\(" och "\)" som anger texten att bevara. </para>
+</sect3>
+
+<sect3
+><title
+>Kombinera flera ersättningar</title>
+<para
+>Ibland vill du tillämpa flera ersättningar samtidigt. Då kan du använda semikolon ';' för att skilja dem från varandra. Till exempel: <screen
+><command
+>echo</command
+> abrakadabra | <command
+>sed</command
+> 's/a/o/g;s/\(.*\)/\U\1/'
+   -> OBROKODOBRO
+</screen>
+</para>
+</sect3>
+
+<sect3
+><title
+>Använda <command
+>perl</command
+> istället för <command
+>sed</command
+></title>
+<para
+>Istället för <command
+>sed</command
+> kanske du vill använda något annat som <command
+>perl</command
+>. <screen>
+   <command
+>perl</command
+> -p -e 's/<replaceable
+>REGUTTRYCK</replaceable
+>/<replaceable
+>ERSÄTTNING</replaceable
+>/<replaceable
+>FLAGGOR</replaceable
+>'
+</screen
+> Men vissa detaljer är annorlunda i <command
+>perl</command
+>. Observera att där <command
+>sed</command
+> behöver "\(" och "\)" kräver <command
+>perl</command
+> det enklare  "(" och ")" utan inledande '\'. Till exempel: <screen
+><command
+>sed</command
+> 's/\(.*\)/\U\1/'
+   <command
+>perl</command
+> -p -e 's/(.*)/\U\1/'
+</screen>
+</para>
+</sect3>
+</sect2>
+
+<sect2
+><title
+>Ordning vid körning av preprocessor</title>
+<para
+>Data skickas igenom all intern och extern förbehandling i följande ordning: </para>
+<itemizedlist>
+<listitem
+><para
+>Normal preprocessor,</para
+></listitem>
+<listitem
+><para
+>Preprocessor för radmatchning,</para
+></listitem>
+<listitem
+><para
+>Ignorera skiftläge (konvertering till stora bokstäver),</para
+></listitem>
+<listitem
+><para
+>Detektering av C/C++ kommentarer,</para
+></listitem>
+<listitem
+><para
+>Ignorera siffror,</para
+></listitem>
+<listitem
+><para
+>Ignorera blanktecken</para
+></listitem>
+</itemizedlist>
+<para
+>Data efter den normala förbehandlingen bevaras för att visas och sammanfogas. De andra åtgärderna ändrar bara data som algoritmen för radmatchande jämförelse ser. </para
+><para
+>I de sällsynta fall då du använder normal förbehandling, observera att den radmatchande förbehandlingen ser utdata från den normala förbehandlingen som indata. </para>
+</sect2>
+
+<sect2
+><title
+>Varning</title>
+<para
+>Förbehandlingskommandon är ofta mycket användbara, men som med alla alternativ som ändrar texten eller döljer vissa skillnader automatiskt, kan du av misstag hoppa över vissa skillnader och i värsta fall förstöra viktig data. </para
+><para
+>Av denna orsak, om ett normalt preprocessorkommando används under en sammanfogning, talar Kdiff3 om det för dig och frågar om det ska inaktiveras eller inte. Men du får ingen varning om ett radmatchande preprocessorkommando är aktivt. Sammanfogningen sker inte förrän alla konflikter är lösta. Om du inaktiverade "Visa blanktecken" blir också skillnaderna som togs bort med det radmatchande preprocessorkommandot osynliga. Om knappen Spara förblir inaktiv under en sammanfogning (på grund av kvarvarande konflikter), försäkra dig om att aktivera "Visa blanktecken". Om du inte vill sammanfoga dessa mindre viktiga skillnader för hand kan du välja "Välj [A|B|C] för olösta konflikter med blanktecken" i menyn "Sammanfoga". </para>
+</sect2>
+</sect1>
 </chapter>
 
 
 <chapter id="dirmerge"
 ><title
->Katalogjämförelse och sammanfogning med KDiff3</title>
+>Katalogjämförelse och sammanfogning med Kdiff3</title>
 <sect1 id="dirmergeintro"
 ><title
->Inledning</title>
+>Introduktion till katalogjämförelse och sammanfogning</title>
 <para
->Ofta måste programmerare ändra många filer i en katalog för att uppnå sina syften. För att åstadkomma detta låter KDiff3 dig också jämföra och sammanfoga hela kataloger rekursivt! </para
+>Ofta måste programmerare ändra många filer i en katalog för att uppnå sina syften. För att åstadkomma detta låter Kdiff3 dig också jämföra och sammanfoga hela kataloger rekursivt! </para
 ><para
->Även om jämförelse och sammanfogning av kataloger verkar vara ganska självklart, finns det flera detaljer som du bör känna till. Det viktigaste är förstås faktum att många filer nu kan påverkas av varje åtgärd. Om du inte har säkerhetskopior av originaldata, kan det vara mycket svårt eller till och med omöjligt att återgå till originalläget. Så innan du påbörjar en sammanfogning, försäkra dig om att data är säkert, och att det är möjligt att återställa. Om du skapar ett arkiv, eller använder ett versionskontrollsystem är ditt eget beslut, men till och med erfarna programmerare och integratörer behöver ibland gammal källkod. Observera också att även om jag (upphovsmannen till KDiff3) försöker att göra mitt bästa, kan jag inte garantera att det inte finns fel. Enligt GNU GPL finns det INGEN GARANTI av något slag för det här programmet. Så var ödmjuk, och kom alltid ihåg: </para>
+>Även om jämförelse och sammanfogning av kataloger verkar vara ganska självklart, finns det flera detaljer som du bör känna till. Det viktigaste är förstås faktum att många filer nu kan påverkas av varje åtgärd. Om du inte har säkerhetskopior av originaldata, kan det vara mycket svårt eller till och med omöjligt att återgå till originalläget. Så innan du påbörjar en sammanfogning, försäkra dig om att data är säkert, och att det är möjligt att återställa. Om du skapar ett arkiv, eller använder ett versionshanteringssystem är ditt eget beslut, men till och med erfarna programmerare och integratörer behöver ibland gammal källkod. Observera också att även om jag (upphovsmannen till Kdiff3) försöker att göra mitt bästa, kan jag inte garantera att det inte finns fel. Enligt GNU GPL finns det INGEN GARANTI av något slag för det här programmet. Så var ödmjuk, och kom alltid ihåg: </para>
 <blockquote
 ><para>
    <emphasis
@@ -1025,7 +1885,7 @@
 </para
 ></blockquote>
 <para
->Så det här är vad programmet kan göra åt dig: KDiff3 ... </para>
+>Så det här är vad programmet kan göra åt dig: Kdiff3 ... </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1053,7 +1913,7 @@
 ></listitem>
      <listitem
 ><para
->... låter dig utföra vald åtgärd för alla objekt (tangenten F7) eller markerat objekt (tangenten F6),</para
+>... låter dig utföra vald åtgärd för alla objekt (tangenten F7 ) eller markerat objekt (tangenten F6),</para
 ></listitem>
      <listitem
 ><para
@@ -1061,7 +1921,7 @@
 ></listitem>
      <listitem
 ><para
->... skapar valfria säkerhetskopior, med filändelsen ".orig".</para
+>... skapar valfria säkerhetskopior, med filändelsen ".orig",</para
 ></listitem>
      <listitem
 ><para
@@ -1087,12 +1947,14 @@
 >kdiff3</command
 > <replaceable
 >kat1 kat2</replaceable
-> -o <replaceable
+> <option
+>-o</option
+> <replaceable
 >målkat</replaceable
 >
 </screen>
 <para
->Om ingen målkatalog anges, använder KDiff3 <replaceable
+>Om ingen målkatalog anges, använder Kdiff3 <replaceable
 >kat2</replaceable
 >. </para>
 </sect2>
@@ -1109,14 +1971,16 @@
 >kdiff3</command
 > <replaceable
 >kat1 kat2 kat3</replaceable
-> -o <replaceable
+> <option
+>-o</option
+> <replaceable
 >målkat</replaceable
 >
 </screen>
 <para
 >När tre kataloger sammanfogas, används <replaceable
 >kat1</replaceable
-> som basen för sammanfogningen. Om ingen målkatalog anges, använder KDiff3 <replaceable
+> som basen för sammanfogningen. Om ingen målkatalog anges, använder Kdiff3 <replaceable
 >kat3</replaceable
 > som målkatalog för sammanfogningen. </para>
 
@@ -1127,11 +1991,11 @@
 
 <sect1 id="dirmergevisible"
 ><title
->Synlig information</title>
+>Katalogsammanfogning av synlig information</title>
 <para
 >Medan katalogerna läses visas en meddelanderuta som informerar dig om förloppet. Om du avbryter katalogavsökningen, visas bara filer som hittills har jämförts. </para
 ><para
->När katalogavsökningen är färdig, visar KDiff3 en listruta med återstående resultat, ... </para>
+>När katalogavsökningen är färdig, visar Kdiff3 en listruta med återstående resultat, ... </para>
 <screenshot
 ><mediaobject>
 <imageobject
@@ -1219,7 +2083,7 @@
 ><title
 >Åtgärdskolumnen</title>
 <para
->Efter att ha jämfört katalogerna utvärderar KDiff3 också ett förslag på sammanfogningsåtgärd. Det visas i kolumnen "Åtgärd". Du kan ändra den genom att klicka på åtgärden du vill ändra. En liten meny dyker upp och låter dig välja en åtgärd för objektet. (Du kan också välja den oftast använda åtgärden via tangentbordet. Ctrl+1/2/3/4/Delete väljer A/B/C/Sammanfoga/Ta bort om de är tillgängliga.) Åtgärden utförs under sammanfogningen. Vilka åtgärder som är tillgängliga beror på objektet och sammanfogningsläget som används. Sammanfogningsläget är ett av: </para>
+>Efter att ha jämfört katalogerna utvärderar Kdiff3 också ett förslag på sammanfogningsåtgärd. Det visas i kolumnen "Åtgärd". Du kan ändra den genom att klicka på åtgärden du vill ändra. En liten meny dyker upp och låter dig välja en åtgärd för objektet. (Du kan också välja den oftast använda åtgärden via tangentbordet. Ctrl+1/2/3/4/Delete väljer A/B/C/Sammanfoga/Ta bort om de är tillgängliga.) Åtgärden utförs under sammanfogningen. Vilka åtgärder som är tillgängliga beror på objektet och sammanfogningsläget som används. Sammanfogningsläget är ett av </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1299,7 +2163,7 @@
 ></listitem>
 </itemizedlist>
 <para
->Synkroniseringsläge är bara aktivt om två kataloger och ingen explicit målkatalog anges, och om alternativet "Synkronisera kataloger" är aktivt. KDiff3 väljer då en standardåtgärd så att båda katalogerna är likadana efteråt. Om för ett objekt... </para>
+>Synkroniseringsläge är bara aktivt om två kataloger och ingen explicit målkatalog anges, och om alternativet "Synkronisera kataloger" är aktivt. Kdiff3 väljer då en standardåtgärd så att båda katalogerna är likadana efteråt. Om för ett objekt ... </para>
 <itemizedlist>
      <listitem
 ><para
@@ -1315,7 +2179,7 @@
 ></listitem>
      <listitem
 ><para
->... A och B finns, men är inte likadana: Sammanfoga och lagra resultatet i båda kataloger. (För användaren är det synliga filnamnet för att spara B, men därefter kopierar KDiff3 också B till A.)</para
+>... A och B finns, men är inte likadana: Sammanfoga och lagra resultatet i båda kataloger. (För användaren är det synliga filnamnet för att spara B, men därefter kopierar Kdiff3 också B till A.)</para
 ></listitem>
      <listitem
 ><para
@@ -1323,7 +2187,7 @@
 ></listitem>
 </itemizedlist>
 <para
->När två kataloger sammanfogas och alternativet "Kopiera nyare istället för att sammanfoga" är markerat, tittar KDiff3 på datum och föreslår att välja den nyare filen. Om filerna inte är lika men har samma datum, innehåller åtgärden "Fel: Datum är lika men filerna är det inte." Medan sådana objekt finns, kan inte katalogsammanfogningen startas. </para>
+>När två kataloger sammanfogas och alternativet "Kopiera nyare istället för att sammanfoga" är markerat, tittar Kdiff3 på datum och föreslår att välja den nyare filen. Om filerna inte är lika men har samma datum, innehåller åtgärden "Fel: Datum är lika men filerna är det inte." Medan sådana objekt finns, kan inte katalogsammanfogningen startas. </para>
 </sect2>
 
 <sect2 id="status"
@@ -1332,12 +2196,57 @@
 <para
 >Under sammanfogningen behandlas en fil i taget. Statuskolumnen visar "Klar" för objekt där sammanfogningsåtgärden har lyckats, och någon annan text om något oväntat inträffade. När en sammanfogning är färdig, bör du göra en sista kontroll för att se att status för alla objekt är acceptabel. </para>
 </sect2>
+
+<sect2 id="statisticscolulmns"
+><title
+>Statistikkolumner</title>
+<para
+>När filjämförelseläget "Fullständig analys" är aktiverat i alternativen, visar Kdiff3 extra kolumner som innehåller antal oupplösta, upplösta, inte blanka och blanka konflikter. (Kolumnen lösta visas bara när kataloger jämförs eller sammanfogas.) </para>
+</sect2>
+
+<sect2 id="selectingvisiblefiles"
+><title
+>Välja listade filer</title>
+<para
+>Flera alternativ påverkar vilka filer som listas här. Vissa är tillgängliga i <link linkend="dirmergeoptions"
+>inställningsdialogrutan</link
+>. Menyn Katalog innehåller alternativen: </para
+><para
+><itemizedlist>
+     <listitem
+><para
+>"Visa identiska filer": Filer som har detekterats som lika i alla indatakataloger.</para
+></listitem>
+     <listitem
+><para
+>"Visa olika filer": Filer som finns i två eller flera kataloger men inte är lika.</para
+></listitem>
+     <listitem
+><para
+>"Visa bara filer i A": Filer som bara finns i A, men inte i B eller C.</para
+></listitem>
+     <listitem
+><para
+>"Visa bara filer i B": Filer som bara finns i B, men inte i A eller C.</para
+></listitem>
+     <listitem
+><para
+>"Visa bara filer i C": Filer som bara finns i C, men inte i A eller B.</para
+></listitem>
+</itemizedlist
+></para>
+<para
+>Aktivera bara alternativen "Visa" för objekten du vill lista. Om du till exempel bara vill lista alla objekt som antingen finns i A eller i B men inte i båda, måste du aktivera "Visa bara filer i A" och "Visa bara filer i B" och inaktivera alla andra ("Visa identiska filer", "Visa olika filer", "Visa bara filer i C"). Listan uppdateras omedelbart för att motsvara ändringen. </para
+><para
+>Alternativen gäller också för kataloger med ett undantag: Att inaktivera "Visa olika filer" döljer inte hela kataloger. Det fungerar bara för filer inne i dem. </para>
+</sect2>
+
 </sect1>
 
 
 <sect1 id="dothemerge"
 ><title
->Utföra en sammanfogning</title>
+>Utföra en katalogsammanfogning</title>
 <para
 >Du kan antingen sammanfoga markerat objekt (fil eller katalog), eller alla objekt. När du har gjort alla val av åtgärder (också i alla underkataloger), kan du utföra sammanfogningen. </para
 ><para
@@ -1351,7 +2260,7 @@
 ></listitem>
      <listitem
 ><para
->"Mönster" eller "undantagsmönster": Inkludera eller undanta objekt som matchar.</para
+>"Mönster" eller "Undantagsmönster": Inkludera eller undanta objekt som matchar</para
 ></listitem>
      <listitem
 ><para
@@ -1363,7 +2272,7 @@
 ></listitem>
 </itemizedlist>
 <para
->(I nuvarande version måste du göra en omsökning via menyn "Katalog"->"Avsök igen" själv, efter att ha ändrat alternativ som påverkar katalogavsökningen.) </para
+>(I nuvarande version måste du göra en omsökning via menyn "Katalog" -> "Avsök igen" själv, efter att ha ändrat alternativ som påverkar katalogavsökningen.) </para
 ><para
 >Om du är nöjd hittills, är resten enkelt. </para
 ><para
@@ -1383,15 +2292,15 @@
 ></listitem>
 </itemizedlist>
 <para
->Därefter utför KDiff3 den angivna åtgärden för alla objekt. Om manuell interaktion krävs (sammanfogning av enstaka fil), visas ett sammanfogningsfönster (<link linkend="dirmergebigscreenshot"
+>Därefter utför Kdiff3 den angivna åtgärden för alla objekt. Om manuell interaktion krävs (sammanfogning av enstaka fil), visas ett sammanfogningsfönster (<link linkend="dirmergebigscreenshot"
 >se den stora skärmbilden</link
 >). </para
 ><para
->När du är klar med en fil, välj återigen "Starta eller fortsätt katalogsammanfogning" eller tryck på F7. Om du inte har sparat ännu, ber en dialogruta dig att göra det. Därefter fortsätter KDiff3 till nästa objekt. </para
+>När du är klar med en fil, välj återigen "Starta eller fortsätt katalogsammanfogning" eller tryck på F7. Om du inte har sparat ännu, ber en dialogruta dig att göra det. Därefter fortsätter Kdiff3 till nästa objekt. </para
 ><para
->När KDiff3 stöter på ett fel, meddelas det och utförlig statusinformation visas. Längst ner i listan finns det några felmeddelanden som bör hjälpa dig att förstå problemets orsak. När du fortsätter sammanslagningen (tangenten F7), ger KDiff3 dig valet att försöka igen eller hoppa över objektet som orsakade problemet. Det betyder att du kan välja en annan åtgärd, eller lösa problemet på annat sätt, innan du fortsätter. </para
+>När Kdiff3 stöter på ett fel, meddelas det och utförlig statusinformation visas. Längst ner i listan finns det några felmeddelanden som bör hjälpa dig att förstå problemets orsak. När du fortsätter sammanslagningen (tangenten F7), ger Kdiff3 dig valet att försöka igen eller hoppa över objektet som orsakade problemet. Det betyder att du kan välja en annan åtgärd, eller lösa problemet på annat sätt, innan du fortsätter. </para
 ><para
->När sammanfogningen är färdig, informerar KDiff3 dig med en meddelanderuta. </para
+>När sammanfogningen är färdig, informerar Kdiff3 dig med en meddelanderuta. </para
 ><para
 >Om vissa objekt sammanfogades individuellt, kommer Kdiff3 ihåg det (medan sammanfogningssessionen pågår), och sammanfogar dem inte igen när sammanfogningen för alla objekt utförs. Även när sammanfogningen hoppas över eller ingenting sparas räknas dessa objekt som färdiga. Bara när sammanfogningsåtgärden ändras, sammanfogas objekten igen. </para>
 </sect1>
@@ -1400,7 +2309,7 @@
 ><title
 >Alternativ för att jämföra och sammanfoga kataloger</title>
 <para
->Inställning av KDiff3 (menyn "Inställningar" -&gt; "Anpassa KDiff3") har nu en sida som heter "Katalogsammanfogning" med följande alternativ: </para>
+>Inställning av Kdiff3 (menyn "Inställningar" -&gt; "Anpassa KDiff3") har nu en sida som heter "Katalogsammanfogning" med följande alternativ: </para>
 
 <variablelist>
    <varlistentry
@@ -1430,7 +2339,7 @@
 ></term
 ><listitem
 ><para
->Filer och kataloger som matchar något mönster undantas från trädet. Mer än ett mönster kan anges genom att använda semikolon ";" som skiljetecken. Giltiga jokertecken: '*' och '?'. (t.ex. "*.cpp;*.h"). Normalvärdet är "*.orig;*.o".</para
+>Filer och kataloger som matchar något mönster undantas från trädet. Mer än ett mönster kan anges genom att använda semikolon ";" som skiljetecken. Giltiga jokertecken: '*' och '?'. Normalvärdet är "*.orig;*.o".</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1452,7 +2361,7 @@
 ></term
 ><listitem
 ><para
->För vissa filsystem har filer egenskapen "Gömd". För andra system göms ett filnamn som börjar med en punkt. Alternativet låter dig bestämma om dessa filer ska ingå i trädet eller inte. Normalvärdet är på.</para
+>För vissa filsystem har filer egenskapen "Dold". För andra system döljs ett filnamn som börjar med en punkt ("."). Alternativet låter dig bestämma om dessa filer ska ingå i trädet eller inte. Normalvärdet är på.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1474,7 +2383,8 @@
 ><para
 >För länkar till kataloger: Om inaktiverad, jämförs symboliska länkar. Om aktiverad behandlas länken som en katalog och avsöks rekursivt. (Observera att programmet inte kontrollerar om länken är "rekursiv". En katalog som innehåller en länk till samma katalog skulle orsaka en oändlig snurra, och efter en viss tid när stacken blir full eller minnet tar slut, kraschar programmet.) Normalvärdet är av.</para
 ></listitem
-></varlistentry>
+></varlistentry
+>   
    <varlistentry
 ><term
 ><emphasis
@@ -1485,6 +2395,38 @@
 >Bara objekt som inte är lika i alla indatakataloger listas, och bara ändrade filer syns. Därför kopieras inte filer som är lika i alla kataloger vid en sammanfogning och om målkatalogen inte innehåller filerna innan sammanfogningen, kan du senare sakna några filer. (Alternativet kommer troligen att ändras i en senare version.) Normalvärdet är av.</para
 ></listitem
 ></varlistentry>
+
+   <varlistentry
+><term
+><emphasis
+>Filjämförelseläge:</emphasis
+></term
+><listitem
+><para>
+<variablelist
+>            
+   <varlistentry
+><term
+><emphasis
+>Binär jämförelse:</emphasis
+></term
+><listitem
+><para
+>Det här är förvalt filjämförelseläge. </para
+></listitem
+></varlistentry
+>         
+   <varlistentry
+><term
+><emphasis
+>Fullständig analys:</emphasis
+></term
+><listitem
+><para
+>Gör en fullständig analys av varje fil och visa kolumner med statistisk information. (Antal upplösta, oupplösta, inte blanka och blanka konflikter.) Den fullständiga analysen är långsammare än en enkel binäranalys, och är mycket långsammare för filer som inte innehåller text. (Ange lämpliga filmönster för att undvika dem.) </para
+></listitem
+></varlistentry
+>         
    <varlistentry
 ><term
 ><emphasis
@@ -1505,6 +2447,11 @@
 >Liknar att lita på ändringsdatum. Ingen verklig jämförelse sker. Två filer anses vara lika om deras filstorlekar är lika. Detta är användbart när filkopieringsåtgärden inte bevarade ändringsdatum. Använd alternativet med försiktighet. Normalvärdet är av.</para
 ></listitem
 ></varlistentry>
+</variablelist
+></para
+></listitem
+></varlistentry>
+         
    <varlistentry
 ><term
 ><emphasis
@@ -1512,7 +2459,7 @@
 ></term
 ><listitem
 ><para
->Aktiverar "synkroniseringsläge" när två kataloger jämförs och ingen explicit målkatalog anges. I det här läget väljs föreslagna åtgärder så att båda källkatalogerna är likadana efteråt. Sammanfogningsresultatet skrivs också till båda kataloger. Normalvärdet är av.</para
+>Aktiverar "synkroniseringsläge" när två kataloger jämförs och ingen explicit målkatalog anges. I det här läget väljes föreslagna åtgärder så att båda källkatalogerna är likadana efteråt. Sammanfogningsresultatet skrivs också till båda kataloger. Normalvärdet är av.</para
 ></listitem
 ></varlistentry>
    <varlistentry
@@ -1532,7 +2479,7 @@
 ></term
 ><listitem
 ><para
->Om en fil eller hel katalog ersätts med en annan eller tas bort, då ändras originalversionens namn med tillägg av filändelsen ".orig". Om en gammal säkerhetskopia med filändelsen "orig" redan finns tas den bort utan säkerhetskopiering. Det här gäller också normal sammanfogning av enstaka filer, inte bara sammanfogningsläge för kataloger. Normalvärdet är på.</para
+>Om en fil eller hel katalog ersätts med en annan eller tas bort, då ändras originalversionens namn med tillägg av filändelsen ".orig". Om en gammal säkerhetskopia med filändelsen ".orig" redan finns tas den bort utan säkerhetskopiering. Det här gäller också normal sammanfogning av enstaka filer, inte bara sammanfogningsläge för kataloger. Normalvärdet är på.</para
 ></listitem
 ></varlistentry>
 </variablelist>
@@ -1540,12 +2487,12 @@
 
 <sect1 id="other"
 ><title
->Övriga funktioner</title>
+>Andra funktioner i katalogsammanfogningsfönstret</title>
 <sect2
 ><title
 >Delat eller fullskärmsläge</title>
 <para
->Oftast förblir listfönstret för katalogsammanfogning synligt medan en enstaka fil jämförs eller sammanfogas. Du kan flytta raden som delar fillistan från fönstren för textjämförelse med musen. Om du inte vill göra det, kan du inaktivera "Delad skärmvy" i menyn "Fönster" för att byta mellan fillistan och fönstren för textjämförelse, som då upptar hela fönstret. </para>
+>Oftast förblir listfönstret för katalogsammanfogning synligt medan en enstaka fil jämförs eller sammanfogas. Du kan flytta raden som delar fillistan från fönstren för textjämförelse med musen. Om du inte vill göra det, kan du inaktivera "Delad skärmvy" i menyn "Katalog". Därefter kan du använda "Byt vy" i menyn "Katalog" för att byta mellan fillistan och fönstren för textjämförelse, som då upptar hela fönstret. </para>
 </sect2>
 <sect2
 ><title
@@ -1553,8 +2500,20 @@
 <para
 >Du föredrar troligen ett vanligt dubbelklick på musen för att jämföra en fil. Hur som helst finns det också ett alternativ i menyn "Katalog". Du kan också direkt sammanfoga en enstaka fil, utan att starta katalogsammanfogning via "Sammanfoga markerade filer" i menyn "Sammanfoga". När resultatet sparas, sätts status till klar, och filen sammanfogas inte igen om en katalogsammanfogning startas. </para
 ><para
->Men observera att statusinformationen går förlorad när du kör om en katalogavsökning: "Avsök igen" i menyn "Katalog". </para>
+>Men observera att statusinformationen går förlorad när du kör om en katalogavsökning: menyn "Katalog", "Avsök igen" </para>
 </sect2>
+<sect2
+><title
+>Jämföra eller sammanfoga filer med olika namn</title>
+<para
+>Ibland behöver du jämföra eller sammanfoga filer med olika namn (t.ex. nuvarande fil och säkerhetskopian i samma katalog). </para
+><para
+>Markera den exakta filen genom att klicka på ikonen i kolumnen A, B eller C. Filen som först markeras på det sättet markeras med "A", den andra och tredje med "B" och "C" oberoende av vilken kolumn de finns i. Bara upp till tre filer kan markeras på detta sätt. </para
+><para
+>Fortsätt genom att välja "Jämför explicit markerade filer" eller "Sammanfoga explicit markerade filer" från menyn "Katalog". Av bekvämlighetsskäl finns också menyalternativen som en sammanhangsberoende meny som visas när du klickar på den senast markerade filen. </para
+><para
+>Jämförelsen eller sammanfogningen av en fil sker i samma fönster. Om metoden används för kataloger öppnas ett nytt fönster. </para
+></sect2>
 </sect1>
 </chapter>
 
@@ -1568,7 +2527,7 @@
 ><title
 >I/O-slavar</title>
 <para
->KDE stöder nätverkstransparens via I/O-slavar. KDiff3 använder dem för att läsa indatafiler och avsöka kataloger. Det betyder att du kan ange filer och kataloger på lokal- och fjärr-resurser via webbadresser. </para
+>KDE stöder nätverkstransparens via I/O-slavar. Kdiff3 använder dem för att läsa indatafiler och avsöka kataloger. Det betyder att du kan ange filer och kataloger på lokal- och fjärr-resurser via webbadresser. </para
 ><para
 >Exempel: </para
 ><para>
@@ -1633,7 +2592,7 @@
 ></listitem
 ><listitem
 ><para
->Specialtecken måste skrivas med särskilda "teckenföljder". ("#" -> "%23", mellanslag -> "%20", etc.) Till exempel skulle en fil med namnet "/#foo#" ha webbadressen "file:/%23foo%23". </para
+>Specialtecken måste skrivas med särskilda "teckenföljder". ("#" blir "%23", mellanslag blir "%20", etc.) Till exempel skulle en fil med namnet "/#foo#" ha webbadressen "file:/%23foo%23". </para
 ></listitem
 ><listitem
 ><para
@@ -1669,7 +2628,7 @@
 ></listitem
 ><listitem
 ><para
->Ingen möjlighet att ändra rättigheter eller ändringstid, så rättigheter eller tiden för en kopia skiljer sig från originalet. (Se alternativet "Lita på storlek". Bara möjligt för lokala filer.) </para
+>Ingen möjlighet att ändra rättigheter eller ändringstid, så rättigheter eller tiden för en kopia skiljer sig från originalet. (Se alternativet "Lita på storlek". Ändring av rättigheter eller ändringstid är bara möjligt för lokala filer.) </para
 ></listitem>
 </itemizedlist>
 </sect2>
@@ -1679,17 +2638,17 @@
 <title
 >Använda &kdiff3; som en Kpart</title>
 <para
->&kdiff3; är en Kpart. För närvarande implementeras gränssnittet KParts::ReadOnlyPart. </para
+>Kdiff3 är en Kpart. För närvarande implementeras gränssnittet KParts::ReadOnlyPart. </para
 ><para
->Den huvudsakliga användningen är för skillnadsvisning i KDevelop. KDevelop startar alltid den interna skillnadsvisningen först. För att använda KDiff3, klicka med höger musknapp i skillnadsvisningens fönster och välj "Visa i KDiff3-del" i den sammanhangsberoende menyn. </para
+>Den huvudsakliga användningen är för skillnadsvisning i KDevelop. KDevelop startar alltid den interna skillnadsvisningen först. För att använda Kdiff3, klicka med höger musknapp i skillnadsvisningens fönster och välj "Visa i KDiff3-del" i den sammanhangsberoende menyn. </para
 ><para
->KDiff3 kräver normalt två fullständiga filer som indata. När det används som en del, antar KDiff3 att indatafilen är en programfixfil med unifierat format. KDiff3 hämtar därefter originalfilernas namn i programfixfilen. Åtminstone en av de två filerna måste vara tillgänglig. KDiff3 startar då kommandot <command
+>Kdiff3 kräver normalt två fullständiga filer som indata. När det används som en del, antar Kdiff3 att indatafilen är en programfixfil med unifierat format. Kdiff3 hämtar därefter originalfilernas namn i programfixfilen. Åtminstone en av de två filerna måste vara tillgänglig. Kdiff3 startar då kommandot <command
 >patch</command
 > för att återskapa den andra filen. </para
 ><para
->Du kan välja en programfixfil i Konqueror och välja "Förhandsgranska i" - "Kdiff3-del" i den sammanhangsberoende menyn. Var medveten om att det inte fungerar om ingen av originalfilerna finns tillgänglig, och är inte tillförlitligt om originalfilen eller filerna har ändrats sedan programfixfilen skapades. </para
+>Du kan välja en programfixfil i Konqueror och välja "Förhandsgranska i"-"Kdiff3-del" i den sammanhangsberoende menyn. Var medveten om att det inte fungerar om ingen av originalfilerna finns tillgänglig, och är inte tillförlitligt om originalfilen eller filerna har ändrats sedan programfixfilen skapades. </para
 ><para
->När det kör som en Kpart tillhandahåller KDiff3 bara jämförelse mellan två filer, en mycket liten verktygsrad och meny. Sammanfogning eller katalogjämförelse stöds då inte. </para>
+>När det kör som en Kpart tillhandahåller Kdiff3 bara jämförelse mellan två filer, en mycket liten verktygsrad och meny. Sammanfogning eller katalogjämförelse stöds då inte. </para>
 </sect1>
 </chapter>
 
@@ -1701,11 +2660,11 @@
 <qandaentry
 ><question
 ><para
->Varför kallas det "KDiff3"? </para
+>Varför kallas det "Kdiff3"? </para
 ></question
 ><answer
 ><para
->Verktyg som heter "KDiff" och "KDiff2" (som nu kallas "Kompare") fanns redan. Dessutom ska "KDiff3" antyda att programmet kan sammanfoga som verktyget "diff3" från samlingen med diff-verktyg. </para
+>Verktyg som heter "KDiff" och "KDiff2" (som nu kallas "Kompare") fanns redan. Dessutom ska "Kdiff3" antyda att programmet kan sammanfoga som verktyget "diff3" från samlingen med diff-verktyg. </para
 ></answer
 ></qandaentry>
 
@@ -1738,7 +2697,9 @@
 ></question
 ><answer
 ><para
->Rader där bara antal blanktecken är olika behandlas som "lika", medan bara ett annorlunda blanktecken gör att raderna är "olika". Om liknande rader finns intill varandra, är detta i själva verket en slump men det är som tur är oftast fallet. </para
+>Rader där bara antal blanktecken är olika behandlas som "lika", medan bara ett annorlunda blanktecken gör att raderna är "olika". Om liknande rader finns intill varandra, är detta i själva verket en slump men det är som tur är oftast fallet. Se också <link linkend="manualdiffhelp"
+>hjälpen på manualsidan för diff</link
+>. </para
 ></answer
 ></qandaentry>
 
@@ -1756,6 +2717,19 @@
 <qandaentry
 ><question
 ><para
+>Hur kan jag synkronisera jämförelsevyn och sammanfogningsvyn så att alla vyer visar samma textposition? </para
+></question
+><answer
+><para
+>Klicka på sammanfattningskolumnen till vänster om texten. (<link linkend="synchronise_views"
+>Se också här.</link
+>) </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
 >Varför har inte editorn i resultatfönstret för sammanfogning en "ångra"-funktion? </para
 ></question
 ><answer
@@ -1778,11 +2752,26 @@
 <qandaentry
 ><question
 ><para
->Varför stöder inte KDiff3 syntaxfärgläggning? </para
+>Varför stöder inte Kdiff3 syntaxfärgläggning? </para
 ></question
 ><answer
 ><para
->KDiff3 använder redan många färger för färgläggning av jämförelser. Ytterligare färgläggning skulle vara förvirrande. Använd en annan editor för detta. </para
+>Kdiff3 använder redan många färger för färgläggning av jämförelser. Ytterligare färgläggning skulle vara förvirrande. Använd en annan editor för detta. </para
+></answer
+></qandaentry>
+
+<qandaentry
+><question
+><para
+>Kan jag använda Kdiff3 för att jämföra filer från OpenOffice.Org, Word, Excel, PDF, och så vidare? </para
+></question
+><answer
+><para
+>Även om Kdiff3 kan analysera alla sorters filer, är resultatet troligen inte särskilt tillfredsställande för dig. </para
+><para
+>Kdiff3 skapades för att jämföra rena textfiler. OpenOffice, Word, Excel, och så vidare, lagrar mycket mer information i filerna (om teckensnitt, bilder, sidor, färger, etc.), som Kdiff3 inte känner till. Alltså visar Kdiff3 dig innehållet i filen tolkat som ren text, men det är inte vyn du är van vid. </para
+><para
+>Eftersom de flesta program nuförtiden lagrar sitt innehåll med XML-format, kanske du kan läsa det som ren text. Om ändringen bara var liten, kanske Kdiff3 fortfarande kan hjälpa dig. </para
 ></answer
 ></qandaentry>
 
@@ -1808,19 +2797,19 @@
 <para
 >&kdiff3;: Verktyg för jämförelser och sammanfogning av filer och kataloger </para>
 <para
->Program copyright 2002-2003 Joachim Eibl <email
->joachim.eibl@gmx.de</email
+>Program copyright 2002-2005 Joachim Eibl <email
+>joachim.eibl snabela gmx.de</email
 > </para>
 <para
 >Flera häftiga idéer och felrapporter kom från kolleger och många personer ute i den Vida Vilda Världen. Tack! </para>
 
 <para
->Dokumentation Copyright &copy; 2002-2003 Joachim Eibl <email
->joachim. eibl@gmx.de</email
+>Dokumentation Copyright &copy; 2002-2005 Joachim Eibl <email
+>joachim. eibl snabela gmx.de</email
 > </para>
 
 <para
->Stefan Asserhäll<email
+>Översättning Stefan Asserhäll<email
 >stefan.asserhall@comhem.se</email
 ></para
 > 
@@ -1835,11 +2824,11 @@
 >Hur man skaffar &kdiff3;</title>
 
 <para
->Du kan ladda ner senaste version av KDiff3 från hemsidan <ulink url="http://kdiff3.sourceforge.net"
+>Du kan ladda ner senaste version av Kdiff3 från hemsidan <ulink url="http://kdiff3.sourceforge.net"
 >http://kdiff3.sourceforge.net</ulink
 >. </para
 ><para
->KDiff3 är också tillgänglig för andra plattformar. Se hemsidan för detaljinformation. </para>
+>Kdiff3 är också tillgänglig för andra plattformar. Se hemsidan för detaljinformation. </para>
 
 
 </sect1>
@@ -1849,12 +2838,9 @@
 >Krav</title>
 
 <para
->För att använda alla funktioner i &kdiff3; med lyckat resultat, behöver du &kde; 
-> 3.1. Jämförelseverktyget från <ulink url="http://www.gnu.org/software/diffutils/diffutils.html"
->GNU-diff-utils</ulink
-> rekommenderas för bästa resultat. </para
+>För att använda alla funktioner i &kdiff3; med lyckat resultat behöver du &kde; 3.1 eller senare. </para
 ><para
->För information om hur KDiff3 kan köras på andra plattformar utan KDE, se <ulink url="http://kdiff3.sourceforge.net"
+>För information om hur Kdiff3 kan köras på andra plattformar utan KDE, se <ulink url="http://kdiff3.sourceforge.net"
 >hemsidan</ulink
 >. </para
 ><para
@@ -1868,7 +2854,7 @@
 >Kompilering och installation</title>
 
 <para
->För att kompilera och installera &kdiff3; på ett system med KDE, skriv in följande i baskatalogen för &kdiff3;s distribution:</para>
+>För att kompilera och installera &kdiff3; på ett system med KDE, skriv följande i baskatalogen för distributionen av &kdiff3;:</para>
 
 <screen
 ><prompt
@@ -1896,13 +2882,17 @@
 <para
 ><replaceable
 >kde-katalog</replaceable
-> anger katalogen där KDE finns på systemet. Om du inte är säker, läs filen README för detaljinformation. </para>
+> anger katalogen som innehåller KDE på ditt system. Om du inte är säker, läs filen README för detaljinformation. </para>
+<para
+>Om du inte använder KDE, använd inte <command
+>configure</command
+> utan följ instruktionerna för system som bara använder Qt i filen README.</para>
 <para
 >Eftersom &kdiff3; använder <command
 >autoconf</command
 > och <command
 >automake</command
-> bör du inte ha några problem med att kompilera det. Skulle du stöta på problem, var snäll rapportera dem till &kde;:s e-postlistor.</para>
+> bör du inte ha några problem med att kompilera det. Skulle du stöta på problem, rapportera dem gärna till &kde;:s e-postlistor.</para>
 
 </sect1>
 
--- a/kdiff3/kdiff3.kdevelop	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/kdiff3.kdevelop	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
   <general>
     <author>Joachim Eibl</author>
     <email>joachim@gmx.de</email>
-    <version>0.9.87</version>
+    <version>0.9.88</version>
     <projectmanagement>KDevKDEAutoProject</projectmanagement>
     <primarylanguage>C++</primarylanguage>
     <keywords>
@@ -24,13 +24,15 @@
       <useconfiguration>debug</useconfiguration>
     </general>
     <run>
-      <mainprogram>src/kdiff3</mainprogram>
+      <mainprogram/>
       <directoryradio>executable</directoryradio>
       <customdirectory>/</customdirectory>
       <programargs/>
-      <terminal>false</terminal>
+      <terminal>true</terminal>
       <autocompile>true</autocompile>
-      <envvars/>
+      <envvars>
+        <envvar value="/home/joachim/kdiff3-0.9.89/debug/src/.libs/libkdiff3part.so" name="LD_PRELOAD" />
+      </envvars>
     </run>
     <configurations>
       <optimized>
@@ -41,7 +43,7 @@
         <cxxflags>-O2 -g0</cxxflags>
       </optimized>
       <debug>
-        <configargs>--enable-debug=full --prefix=/opt/kdecvs</configargs>
+        <configargs>--enable-debug=full --prefix=/opt/kde3</configargs>
         <builddir>debug</builddir>
         <ccompiler>kdevgccoptions</ccompiler>
         <cxxcompiler>kdevgppoptions</cxxcompiler>
@@ -106,7 +108,7 @@
   <kdevdebugger>
     <general>
       <dbgshell>libtool</dbgshell>
-      <programargs>/windows/C/qt/kdiff3-0.9.87/src/ /home/joachim/kdiff3-0.9.87/src</programargs>
+      <programargs/>
       <gdbpath/>
       <configGdbScript/>
       <runShellScript/>
@@ -153,10 +155,20 @@
       <automaticHeaderCompletion>true</automaticHeaderCompletion>
       <headerCompletionDelay>250</headerCompletionDelay>
     </codecompletion>
-    <references>
-      <pcs>KDElibs</pcs>
-      <pcs>Qt</pcs>
-    </references>
+    <references/>
+    <creategettersetter>
+      <prefixGet/>
+      <prefixSet>set</prefixSet>
+      <prefixVariable>m_,_</prefixVariable>
+      <parameterName>theValue</parameterName>
+      <inlineGet>true</inlineGet>
+      <inlineSet>true</inlineSet>
+    </creategettersetter>
+    <qt>
+      <used>false</used>
+      <version>3</version>
+      <root>/usr/lib/qt3</root>
+    </qt>
   </kdevcppsupport>
   <cppsupportpart>
     <filetemplates>
@@ -164,4 +176,11 @@
       <implementationsuffix>.cpp</implementationsuffix>
     </filetemplates>
   </cppsupportpart>
+  <kdevdocumentation>
+    <projectdoc>
+      <docsystem/>
+      <docurl/>
+      <usermanualurl/>
+    </projectdoc>
+  </kdevdocumentation>
 </kdevelop>
--- a/kdiff3/po/README	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/README	Mon Apr 10 08:40:51 2006 +0000
@@ -45,6 +45,7 @@
    xgettext --keyword=i18n --keyword=I18N_NOOP -C -o ../po/kdiff3.pot *.cpp *.h 
    
    It contains all translatable strings of the program, but no translations.
+   (xgettext is usually part of package gettext-devel)
    
 2. Translators create a translation for a specific language. Because we don't want 
    to modify the template now, we'll create a copy for each language.
@@ -66,18 +67,15 @@
    
 The following is for my own memory and for those who really want to learn dirty tricks and details:
    
-The KDE-i18n team stores their results in CVS. But I would like to have an independent 
+The KDE-i18n team stores their results in SVN. But I would like to have an independent 
 copy of all translations in the po-directory of the source package. Actually it's just
 copying and renaming, but simplified with these commands:
 
-1. First checkout all available translations from the CVS-repository
-   cvs co kde-i18n/subdirs
-   for i in `cat kde-i18n/subdirs`; do  cvs co kde-i18n/$i/messages/kdeextragear-1/kdiff3.po; done
+
+First fetch all available translations from the SVN-repository (access via websvn and wget)
+   wget http://websvn.kde.org/*checkout*/trunk/l10n/subdirs
+   for i in `cat subdirs`; do wget http://websvn.kde.org/*checkout*/trunk/l10n/$i/messages/extragear-utils/kdiff3.po -O $i.po; done
    
-2. Copy and rename them as needed:
-   for i in `cat kde-i18n/subdirs`; do  cp kde-i18n/$i/messages/kdeextragear-1/kdiff3.po $i.po; done
-   rm -R kde-i18n
-
    
 This was the explanation for translations within KDE. 
 But KDiff3 can also be compiled and run without KDE:
@@ -92,8 +90,8 @@
 
 For KDE-libs in the CVS-repository, where we can reuse the previous trick to get 
 all kdelibs*.po-files:
-   for i in `cat kde-i18n/subdirs`; do cvs co kde-i18n/$i/messages/kdelibs/kdelibs.po; done
-   for i in `cat kde-i18n/subdirs`; do cp kde-i18n/$i/messages/kdelibs/kdelibs.po kdelibs_$i.po; done
+
+   for i in `cat subdirs`; do wget http://websvn.kde.org/*checkout*/trunk/l10n/$i/messages/kdelibs/kdelibs.po -O kdelibs_$i.po; done
    
 Finally the program must only read the correct translation tables:
 
@@ -119,6 +117,7 @@
 1. Only src/kreplacements/kreplacements.cpp contains strings, that were not covered by 
    the normal translations. Hence a special pot-file is needed.
    xgettext --keyword=i18n --keyword=I18N_NOOP -C ../src/kreplacements/kreplacements.cpp -o kreplacements.pot
+   (xgettext is usually part of package gettext-devel)
    
 2. Take only needed strings and translations from kdelibs*.po:
    msgmerge --no-fuzzy-matching kdelibs_de.po kreplacements.pot >kreplacements_de.po
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/az.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2291 @@
+# translation of kdiff3.po to Azerbaijani
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# MÉ™tin Æmirov <metin@karegen.com>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-03-15 21:45+0200\n"
+"Last-Translator: MÉ™tin Æmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "MÉ™tin Æmirov"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "metin@karegen.com"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Son"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "Quraşdır..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Ad"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "ÆmÉ™liyyat"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Vəziyyət"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Hazırdır."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr ""
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Xəta."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Qurtardı."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Növ"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Böyüklük"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr ""
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Yaddaş çatışmır"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr ""
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Qatarı tap"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr ""
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr ""
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr ""
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr ""
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr ""
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr ""
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Rəng"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Ön plan rəngi:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Arxa plan rəngi:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Editor"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "ÆmÉ™liyyat"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Diff: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "Linediff: A <-> B"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Diff: B <-> C"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Diff: A <-> C"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "Linediff: B <-> C"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "Linediff: A <-> C"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Ləğv Et"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fayl açma xətası"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Cərgə"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, fuzzy, no-c-format
+msgid "D&iffview"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Pəncərə"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Quraşdır..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Böyük-kiçik hərfə həssas"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr ""
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/bg.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2519 @@
+# translation of kdiff3.po to Bulgarian
+#
+# Zlatko Popov <zlatkopopov@fsa-bg.org>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-04-04 11:08+0300\n"
+"Last-Translator: Zlatko Popov <zlatkopopov@fsa-bg.org>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "КраÑимира Минчева"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "krasimira_m@yahoo.com"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+"ЗапиÑÑŠÑ‚ на данните от ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€ във Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» беше неуÑпешен."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "От ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"Възможно е предварителната обработка да е неуÑпешна. Проверете тази команда:\n"
+"\n"
+"  %1\n"
+"\n"
+"Командата за предварителна обработка ще бъде неактивна."
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"Възможно е предварителната обработка за ÑравнÑване на редове да е неуÑпешна. "
+"Проверете тази команда:\n"
+"\n"
+"  %1\n"
+"\n"
+"Командата за предварителна обработка за ÑравнÑване на редове ще бъде неактивна."
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Грешка от загуба на данни:\n"
+"Ðко продължава, молÑ, Ñвържете Ñе Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Сериозна вътрешна грешка"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Ðай-горна линиÑ"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Край"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ препратки и нормални файлове."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Препратка: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Размер. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Дата и размер: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "Създаването на временно копие на %1 беше неуÑпешно."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "ОтварÑнето на %1 беше неуÑпешно."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "СравнÑване на файл..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "Грешка по време на четене от %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Име"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "ДейÑтвие"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "СтатуÑ"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Ðерешен"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Решен"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Запълнено"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Празно"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+"Ð’ момента извършвате Ñливане на директориÑ. Сигурни ли Ñте, че иÑкате да "
+"прекъÑнете Ñливането и да Ñканирате отново директориÑта?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Ðово Ñканиране"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "Продължение на Ñливането"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "ОтварÑнето на директориите беше неуÑпешно:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð \"%1\" не ÑъщеÑтвува или не е директориÑ.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð‘ \"%1\" не ÑъщеÑтвува или не е директориÑ.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð’ \"%1\" не ÑъщеÑтвува или не е директориÑ.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Грешка при отварÑне на директориÑ"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"Когато Ñе Ñливат три директории, целевата Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ðµ трÑбва да бъде Ñъщата "
+"като Рили Б.\n"
+"Проверете отново преди да продължите."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "Предупреждение за параметър"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Сканиране на директориите..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Четене на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Четене на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð‘"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Четене на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð’"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "ÐÑкои от поддиректориите Ñа нечетими"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "Проверете правата на поддиректориите."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Ð’ готовноÑÑ‚."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð½Ð° ÑравнÑването на директории"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "Бройка на поддиректориите:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "Бройка на еднаквите файлове:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "Бройка на различните файлове:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "Бройка на ръчните ÑливаниÑ:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "Това заÑÑга вÑички операции по Ñливане."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "ПромÑна на вÑички операции по Ñливане"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Продължение"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "Обработка "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Задача."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "Копиране на Рв Б"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "Копиране на Б в Ð"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "Изтриване на Ð"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "Изтриване на Б"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "Изтриване на Ри Б"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "Сливане Ñ Ð"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "Сливане Ñ Ð‘"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "Сливане Ñ Ð Ð¸ Б"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "Изтриване (ако ÑъщеÑтвува)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Сливане"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "Сливане (ръчно)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Грешка: Конфликт в типовете на файлове"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "Грешка: Датите Ñа еднакви, но файловете не Ñа."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "Това дейÑтвие в момента не е възможно."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "ДейÑтвието не е възможно"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"Това не би трÑбвало да Ñе Ñлучва: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"Ðко знаете как да го направите отново, молÑ, Ñвържете Ñе Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° на "
+"програмата."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Програмна грешка"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Възникна грешка по време на копирането.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Грешка при Ñливане"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Грешка."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Изпълнено."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Ðе е запиÑан."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "Ðепозната Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð° Ñливане. (Това не трÑбва да Ñе Ñлучва никога!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "Ðепозната Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð° Ñливане."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"Сливането ще започне вÑеки момент.\n"
+"\n"
+"Изберете \"Изпълнение\" ако Ñте прочел инÑтрукциите и знаете какво правите.\n"
+"Изберете \"СимулациÑ\" и ще разберете какво би Ñе Ñлучило.\n"
+"\n"
+"Имайте предвид, че тази програма е вÑе още бета верÑÐ¸Ñ Ð¸ изобщо ÐЯМРГÐРÐÐЦИЯ! "
+"Правете резервни ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° важната информациÑ!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "Стартиране на Ñливането"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "Изпълнение"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "СимулациÑ"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"ОÑветениÑÑ‚ елемент има различни типове в различните директории. Изберете какво "
+"да Ñе направи."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Датите на поÑледна промÑна на файловете Ñа еднакви, но файловете не Ñа. "
+"Изберете какво да Ñе направи."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Ð’ момента дейÑтвието е невъзможно, тъй като тече Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° Ñливане на "
+"директории."
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"Възникнала е грешка в поÑледната Ñтъпка.\n"
+"ИÑкате ли да продължите Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°, който е причинил тази грешка или ще го "
+"преÑкочите?"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "Продължаване на Ñливането Ñлед грешката"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "Продължаване Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "ПреÑкачане на елемент"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "ПреÑкочен."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "ИзпълнÑва Ñе..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "ОперациÑта по Ñливане завърши."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "Сливането завърши"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+"СимулациÑта на Ñливане завърши: Проверете дали Ñте ÑъглаÑни Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ‚Ðµ "
+"дейÑтвиÑ."
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"Възникнала е грешка. ÐатиÑнете \"О'кей\", за да видите подробна информациÑ.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+"Грешка: По време на изтриването на %1: Създаването на резервно копие беше "
+"неуÑпешно."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "рекурÑивно изтриване на директориÑ( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "изтриване( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+"Грешка: операциÑта по изтриване беше неуÑпешна при опит за четене на "
+"директориÑта."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Грешка: операциÑта по изтриване на директориÑ( %1 ) беше неуÑпешна."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Грешка: операциÑта по изтриване беше неуÑпешна."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "ръчно Ñливане( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Забележка: След ръчно Ñливане, потребителÑÑ‚ трÑбва да натиÑне клавиш F7, "
+"за да продължи."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+"Грешка: копирането на ( %1 -> %2 ) беше неуÑпешно. Изтриването на "
+"ÑъщеÑтвуващото меÑтоназначение е неуÑпешно."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "копиране на препратка( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+"Грешка: копирането на препратка беше неуÑпешно: Отдалечени препратки не Ñе "
+"поддържат."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "Грешка: копирането на препратка беше неуÑпешно."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "копиране( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+"Грешка по време на преименуване( %1 -> %2 ): Изтриването на ÑъщеÑтвуващото "
+"меÑтоназначение беше неуÑпешно."
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "преименуване( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Грешка: Преименуването беше неуÑпешно."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+"Грешка по време на Ñъздаване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ %1. Ðе може да Ñе изтрие ÑъщеÑтвуващ "
+"файл."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "Ñъздаване на директориÑ( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Грешка по време на Ñъздаване на директориÑ."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "МеÑтоназначение"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "ДиректориÑ"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Тип"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Размер"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "Ðтрибути"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "ПоÑледна промÑна"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "МеÑтоназначение на препратката"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "не е наличен"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "Ð (меÑтоназначение): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "Р(база): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "Б (меÑтоназначение): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "Ð’ (меÑтоназначение): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "МеÑтоназначение: "
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ ÑÑŠÑтоÑнието при Ñливане като..."
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "Стартиране/Продължение на Ñливането на директориÑ"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "Стартиране на операциÑта за Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "СравнÑване на маркираните файлове"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Сливане на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ„Ð°Ð¹Ð»"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "Скриване на вÑички поддиректории"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "Показване на вÑички поддиректории"
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° ÑÑŠÑтоÑние при Ñливане ..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Зареждане на ÑÑŠÑтоÑние при Ñливане ..."
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "Изберете Рза вÑички елементи"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "Изберете Б за вÑички елементи"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "Изберете Ð’ за вÑички елементи"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "Ðвтоматично избиране на Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð° вÑички елементи"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "Без Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð° вÑички елементи"
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Синхронизиране на директории"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Копиране на по-новите файлове, вмеÑто Ñливане"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Показване на идентични файлове"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Показване на различните файлове"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Показване на файлове Ñамо в A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Показване на файлове Ñамо в B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Показване на файлове Ñамо в C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "СравнÑване на маркираните файлове"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Сливане на маркираните файлове"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Да не Ñе прави нищо"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "Ð"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "Б"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "Ð’"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Изтриване на Ри Б"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Сливане в Ри Б"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"Ð’ процеÑа на Ñъздаване на ново резервно копие, изтриването на по-Ñтарото беше "
+"неуÑпешно.\n"
+"Име на файл: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"Ð’ процеÑа на Ñъздаване на ново резервно копие, преименуването беше неуÑпешно.\n"
+"Имена на файлове: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "Вземане ÑтатуÑа на файл: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "Чете на файл: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° файл: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "ÐÑма памет"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "Създаване на директориÑ: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "Премахване на директориÑ: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "Премахване на файл: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "Създаване на връзка към Ñимволи: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Преименуване на файл: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "Копиране на файл: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"Грешка по време на копиране: ОтварÑнето на файл за четене беше неуÑпешно. Име "
+"на файл: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Грешка по време на копиране: ОтварÑнето на файл за Ð·Ð°Ð¿Ð¸Ñ Ð±ÐµÑˆÐµ неуÑпешно. Име на "
+"файл: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr "Грешка по време на копиране: Четенето беше неуÑпешно. Име на файл: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr "Грешка по време на копиране: ЗапиÑÑŠÑ‚ беше неуÑпешен. Име на файл: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "Четене на директориÑ: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "СпиÑък на директориÑ: %1"
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Текуща конфигурациÑ:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Грешка на Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° конфигурациÑ:"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "Използвана е наÑтройка --auto, но не е указан изходен файл."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "Игнорирана е наÑтройка --auto за ÑравнÑване на директории."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "ЗапиÑÑŠÑ‚ беше неуÑпешен."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "ОтварÑнето на тези файлове беше неуÑпешно:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Грешка при отварÑне на файл"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "ÐžÑ‚Ð²Ð°Ñ€Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚ за ÑравнÑване..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+"Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° резултатът от Ñливането. Ð’Ñички конфликти трÑбва да Ñа решени!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° текущиÑÑ‚ документ като..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Отпечатване на разликите"
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Излиза от програмата"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "ИзрÑзва маркираната чаÑÑ‚ и Ñ Ñлага в ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Копира маркираната чаÑÑ‚ в ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Вмъква Ñъдържанието на ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€ на поÑоченото мÑÑто"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Маркиране на вÑичко в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†"
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "ТърÑене на низ"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Повторно търÑене на низа"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Включва/Изключва лентата Ñ Ð¸Ð½Ñтрументи"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Включва/Изключва лентата за ÑÑŠÑтоÑнието"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Конфигуриране на KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "Отиване на текущата операциÑ"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "Отиване на първата операциÑ"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Отиване на поÑледната операциÑ"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(ПреÑкача разликата в интервалите, когато наÑтройката \"Показване на "
+"интервалите\" е изключена.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(ПреÑкача разликата в интервалите, дори когато наÑтройката \"Показване на "
+"интервалите\" е изключена.)"
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "Отиване на предишната операциÑ"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "Отиване на Ñледващата операциÑ"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "Отиване на Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "Отиване на ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "Отиване на Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸Ñ Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½ конфликт"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "Отиване на ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½ конфликт"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "Маркирайте ред(ове) от Ð"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "Маркирайте ред(ове) от Б"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "Маркирайте ред(ове) от В"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+"Ðвтоматично прехвърлÑне към ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð½ÐµÑ€ÐµÑˆÐµÐ½ конфликт, Ñлед избиране на "
+"източник"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "Показване на Ñимволите за интервал и Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð·Ð° разлика"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Показване на интервалите"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Показване на номерата на редовете"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "Избиране на РнавÑÑкъде"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "Избиране на Б навÑÑкъде"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "Избиране на Ð’ навÑÑкъде"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Избиране на Рза вÑички нерешени конфликти"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Избиране на Б за вÑички нерешени конфликти"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Избиране на Ð’ за вÑички нерешени конфликти"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Избиране на Рза вÑички нерешени конфликти, Ñвързани Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Избиране на Б за вÑички нерешени конфликти, Ñвързани Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Избиране на Ð’ за вÑички нерешени конфликти, Ñвързани Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Ðвтоматично разрешаване на проÑтите конфликти"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "Задаване на дейÑтвиÑта за конфликти"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Изпълнение на автоÑливане на регулÑрни изрази"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Ðвтоматично разрешаване на конфликтите в иÑториÑта"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "РазделÑне на разликата при маркираното"
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Показване на прозорец Ð"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Показване на прозорец Б"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Показване на прозорец В"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "ФокуÑиране на ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Ðормален изглед"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Изглед на Ð Ñрещу Б"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Изглед на Ð Ñрещу Ð’"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Изглед на Б Ñрещу Ð’"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "ПренаÑÑне на думите за различните прозорци"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "ДобавÑне на ръчно подравнÑване на разликите"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "ИзчиÑтване на на ръчно подравнÑване на разликите"
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "ФокуÑиране върху Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "Превключване към разделена подредба"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "Разделен изглед на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸ текÑÑ‚"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "Превключване между изглед на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸ текÑÑ‚"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "Резултатът от Ñливането не е запиÑан."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð¸ изход"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Изход без запиÑ"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "ЗапиÑÑŠÑ‚ на резултата от Ñливането беше неуÑпешен."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+"Ð’ момента извършвате Ñливане на директории. Сигурни ли Ñте, че иÑкате да го "
+"прекъÑнете?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° файл..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° файл Ñ Ð½Ð¾Ð²Ð¾ име..."
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Отпечатване..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Отпечатването е прекъÑнато."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Маркираното"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Отпечатването приключи."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Излизане..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Превключване на лентата Ñ Ð¸Ð½Ñтрументи..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Превключване на лентата за ÑÑŠÑтоÑнието..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "Ðе Ñа открити файлове за ÑравнÑване."
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"ЧаÑÑ‚ от програмата не може да бъде намерена!\n"
+"Това обикновено Ñе Ñлучва поради проблеми Ñ Ð¸Ð½ÑталациÑта. за повече информациÑ, "
+"молÑ, прочетете README-файла в инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚."
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "ИнÑтрумент за ÑравнÑване и Ñливане на файлове и директории"
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "Сливане на входа."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr "ЕкÑплицитен базов файл. За ÑъвмеÑтимоÑÑ‚ Ñ Ð½Ñкои инÑтрументи."
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "Изходен файл. Съдържа -m Ðапример: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "Отново изходен файл. (За ÑъвмеÑтимоÑÑ‚ Ñ Ð½Ñкои инÑтрументи)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+"Без ГПИ ако вÑички конфликти могат да бъдат разрешени автоматично. (Ðуждае Ñе "
+"от -о файл)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "Без автоматично разрешаване на конфликтите. (За ÑъвмеÑтимоÑÑ‚...)"
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "Видима размÑна на имената на файловете за входен файл 1 (базов)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "Видима размÑна на имената на файловете за входен файл 2."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "Видима размÑна на имената на файловете за входен файл 3."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+"Ðлтернативна размÑна на имената на файловете. Използвайте го веднъж за вÑеки "
+"вход."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Пише върху конфигурационните наÑтройките. Използвайте веднъж за вÑÑка "
+"наÑтройка. Ðапример: --cs \"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Показване на ÑпиÑък Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸ наÑтройки и текущи ÑтойноÑти."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Използване на различни конфигурационни файлове."
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "да Ñе отвори файл 1 (базов, ако не е указан --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "да Ñе отвори файл 2"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "да Ñе отвори файл 3"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Игнорирано (дефинирано от потребителÑ.)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+"+ Много благодарноÑти за тези, които Ñе обадиха за грешките и имаха нови идеи!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Брой оÑтаващи нерешени конфликти: %1 (от които %2 Ñа интервали)"
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"Изходът е променен.\n"
+"Ðко продължите промените ще бъдат загубени."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "Ð’Ñички входни файлове Ñа двоично еднакви."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "Входните файлове Ñъдържат еднакъв текÑÑ‚."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"Файлове Ри Б Ñа двоично еднакви.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"Файлове Ри Б Ñъдържат еднакъв текÑÑ‚. \n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"Файлове Ри Ð’ Ñа двоично еднакви.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"Файлове Ри Ð’ Ñъдържат еднакъв текÑÑ‚. \n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"Файлове Б и Ð’ Ñа двоично еднакви.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"Файлове Б и Ð’ Ñъдържат еднакъв текÑÑ‚. \n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "Общ брой конфликти: "
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"Брой автоматично решени конфликти: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"Брой нерешени конфликти: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "Конфликти"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<ÐÑма входен ред>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Сливане на конфликт (Само интервали)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<Сливане на конфликт>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Резултат"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[Променен]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"Ð’Ñе още не вÑички конфликти Ñа решени.\n"
+"Файлът не е запиÑан.\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "ОÑтаващи конфликти"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+"\n"
+"\n"
+"Създаването на резервно копие беше неуÑпешно. Файлът не е запиÑан."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "Грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файл"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "Грешка по време на запиÑ."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 бита"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Променете това ако не-ASCII Ñимволите не Ñе изобразÑват правилно."
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "Изходен шрифт за редактора и разделителÑ"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "Ðаклонен шрифт за дейÑтвиÑта"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"Избира верÑиÑта Ñ Ð½Ð°ÐºÐ»Ð¾Ð½ÐµÐ½ шрифт за различаване.\n"
+"Ðко шрифтът не поддържа наклонени Ñимволи, тогава не прави нищо."
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "ЦвÑÑ‚"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Цветови наÑтройки"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Редактор за преглед на разлики:"
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "ЦвÑÑ‚ на преден план:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "ЦвÑÑ‚ за фон:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "Различен цвÑÑ‚ за фон:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "ЦвÑÑ‚ Ð:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "ЦвÑÑ‚ Б:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "ЦвÑÑ‚ Ð’:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "ЦвÑÑ‚ за конфликт:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "Текущ обхват за цвета на фон:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "Текущ обхват за цвета на фон на разделител:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "ЦвÑÑ‚ на обхват за ръчно избрани разлики:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Преглед на ÑравнÑването на директории:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "ЦвÑÑ‚ на най-Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+"ПромÑната на този цвÑÑ‚ ще има ефект Ñамо при ÑравнÑване на Ñледващата "
+"директориÑ."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "ЦвÑÑ‚ на най-ÑÑ‚Ð°Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "ЦвÑÑ‚ на Ñредно Ñтар файл:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "ЦвÑÑ‚ на липÑващи файлове:"
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Редактор"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "Поведение на редактора"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "Табулатора вмъква интервали"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+"Включено: ÐатиÑкането на Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð° подходÑщ брой интервали.\n"
+"Изключено: Ще бъде вмъкнат един Ñимвол за табулациÑ."
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Големина на табулациÑ:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "Ðвтоматичен отÑтъп"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+"Включено: ОтÑтъпа на Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸Ñ Ñ€ÐµÐ´ Ñе използва за вÑеки нов.\n"
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "Ðвтоматично копиране на маркираното"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+"Включено: Ð’Ñичко маркирано Ñе запиÑва веднага в ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€.\n"
+"Изключено: ТрÑбва изрично да копирате, например Ñ Ctrl-C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Стил за край на реда:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+"Задава ÐºÑ€Ð°Ñ Ð½Ð° реда, когато Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» бива запиÑан.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr "Разлика и Ñливане"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "ÐаÑтройки за разлика и Ñливане"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "Запазване на връщането на нов ред"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+"Показване на Ñимвол за нов ред '\\r' ако ÑъщеÑтвуват.\n"
+"Помага за ÑравнÑването на файлове, които Ñа променени под различни операционни "
+"ÑиÑтеми."
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "Игнориране на чиÑлата"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"Игнориране на чиÑлата по време на фазата за Ñъвпадение. (Подобно на "
+"игнорирането на интервалите.)\n"
+"Може да помогне да Ñе ÑравнÑÑ‚ файлове Ñ Ñ‡Ð¸Ñлова информациÑ."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Игнориране коментарите на С/С++"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "Третиране на С/С++ коментарите като интервали."
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "Игнориране на големи и малки букви"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+"Третиране на разликата в региÑтъра като промÑна в интервалите. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "Команда за предварителна обработка:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+"Дефинирана от Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»Ð½Ð° обработка. (Погледнете документациÑта "
+"за подробноÑти.)"
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "Команда за предварителна обработка на Ñъвпадение на редове:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+"Тази предварителна обработка Ñе използва Ñамо при ÑÑŠÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° редове.\n"
+"(Вижте документациÑта за допълнителна информациÑ.)"
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "Опитайте по-уÑърдно (по-бавно)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"Включва наÑтройка --minimal за външното разделÑне.\n"
+"Ðнализирането на големи файлове ще е много по-бавно."
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr "ЗабавÑне на автоматичното придвижване (милиÑекунди):"
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+"Когато Ñте в режим на автоматично придвижване, резултатът на маркираното Ñе "
+"показва \n"
+"за определен период от време преди да Ñе премине на Ñледващ конфликт. Обхват: "
+"0-2000 мÑек"
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "Интервал по подразбиране при Ñливане на 2 файла:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Ръчен избор"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+"ПозволÑване на ÑÐ»Ð¸Ð²Ð°Ñ‰Ð¸Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚ÑŠÐ¼ автоматично да избира вход за промени от типа "
+"интервали."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "Интервал по подразбиране при Ñливане на 3 файла:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Ðвтоматично Ñливане на регулÑрни изрази"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "ÐвтоÑливане на регулÑрни изрази:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"РегулÑрните изрази за редовете, където KDiff3 трÑбва автоматично да избере "
+"източник.\n"
+"Когато нÑкой ред Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚ Ñъвпадне Ñ Ñ€ÐµÐ³ÑƒÐ»ÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð· \"then/n- if available "
+"- C\", иначе ще бъде избран B."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr "Изпълнение на автоÑливане на регулÑрни изрази при начало на Ñливането"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Изпълнение на Ñливане за автоÑливане на регулÑрни изрази\n"
+"веднага Ñлед започване на Ñливане.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Сливане иÑториÑта на верÑиите"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "РегулÑрен израз за начало на иÑториÑ:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"РегулÑрен израз за Ñтартиране Ñливане на иÑториÑта.\n"
+"Обикновено това Ñъдържа ключова дума \"$Log$
+"Обикновено това Ñъдържа ключова дума \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Обикновено това Ñъдържа ключова дума \"KDiff3 0.9.89
+"Обикновено това Ñъдържа ключова дума \"\".\n"
+"СтойноÑÑ‚ по подразбиране: \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "РегулÑрен израз за начало на иÑториÑта:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"Сливането на иÑториÑта Ñе ÑÑŠÑтои от нÑколко реда.\n"
+"ПоÑочете регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð· за определÑне на Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ€ÐµÐ´ (без коментара).\n"
+"Използвайте дървовидно подреждане за да групирате ключовете за Ñортиране.\n"
+"Ðко е празно, тогава KDiff3 ще Ñчита, че празните редове разделÑÑ‚ запиÑите.\n"
+"За повече подробноÑти вижте документациÑта."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Сортиране Ñливането на иÑториÑта"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Сортиране на иÑториÑта за верÑиÑта Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "Ред за Ñортиране на ключове за иÑториÑ:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Ð’ÑÑко използвано дърво в регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð· за Ñтартиране на иÑториÑта\n"
+"групира ключовете по начин, по който могат да Ñе използват за Ñортиране.\n"
+"ПоÑочете ÑпиÑъка Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ðµ (подреждат Ñе по реда на поÑвÑване,\n"
+"започвайки от 1), които поддържат \",\" като разделител (напр. "
+"\"4,5,6,1,2,3,7\").\n"
+"Ðко е празно, тогава нÑма да има Ñортиране.\n"
+"За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð¶Ñ‚Ðµ документациÑта."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr "Сливане на иÑториÑта за верÑиÑта при Ñтартиране"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr "ÐвтоÑливане на иÑториÑта за верÑиÑта при Ñтартиране."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "ТеÑтване на регулÑрни изрази"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "ÐеподходÑща команда за Ñливане:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Ðко е зададен, този Ñкрипт ще бъде изпълнен Ñлед автоÑливане\n"
+"при уÑловие ,че не Ñа открити други промени.\n"
+"Извикани Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸: има на файл 1има на файл 2 име на файл 3"
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "Сливане на директории"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "РекурÑивни директории"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "Дали да Ñе анализират или да не Ñе анализират поддиректориите."
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "Шаблон(и) за файл:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Шаблони за файлове, които да Ñе анализират. \n"
+"Wildcards: \"*\" and \"?\"\n"
+"Могат да Ñе определÑÑ‚ нÑколко шаблона чрез използване на разделителÑ: \";\""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "Ðнти шаблон(и) за файл:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Шаблони на файлове, които да Ñе изпълнÑÑ‚ от анализа. \n"
+"Wildcards: \"*\" and \"?\"\n"
+"Могат да Ñе определÑÑ‚ нÑколко шаблона чрез използване на разделителÑ: \";\""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "Ðнти шаблон(и) за директориÑ:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Шаблони на директории, които да Ñе изпълнÑÑ‚ от анализа. \n"
+"Wildcards: \"*\" and \"?\"\n"
+"Могат да Ñе определÑÑ‚ нÑколко шаблона чрез използване на разделителÑ: \";\""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr "Използване на .cvsignore"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+"РазширÑва антишаблона до нещо, което ще бъде игнорирано от CVS.\n"
+"Чрез локалното \".cvsignore\"-files това може да бъде наÑтроено за директориÑ."
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "Откриване на Ñкрити файлове и директории"
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "Открива файлове и директории ÑÑŠÑ Ñкрит атрибут."
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "Открива файлове и директории, започващи Ñ '.'."
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "ПроÑледÑване на файловите препратки"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"Включено: СравнÑва файла, към който Ñочи препратката.\n"
+"Изключено: СравнÑва препратките."
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "ПроÑледÑване на препратките към директориÑ"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"Включено: СравнÑва директориÑта, към коÑто Ñочи препратката.\n"
+"Изключено: СравнÑва препратките."
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "Показване Ñамо на дейÑтвиÑта"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "Файлове и директории без промÑна нÑма да бъдат показани в ÑпиÑъка."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "СравнÑване на имена, чувÑтвително към региÑтър"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"СравнÑването на директории ще Ñравни дали Ñъвпадат имената на файлове или "
+"директории.\n"
+"включете тази опциÑ, ако региÑтъра трÑбва да Ñъвпада. (По подразбиране за "
+"Windows е изключено, иначе - включено.)"
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr "Режим \"ÑравнÑване на файлове\""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Двоично Ñравнение"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr "Двоично Ñравнение за вÑеки файл. (По подразбиране)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Пълен анализ"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+"Прави пълен анализ и показва ÑтатиÑтичеÑка Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² допълнителни колони.\n"
+"(По-бавно от двоичното Ñравнение, много по-бавно за двоични файлове.)"
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "ДоверÑване на датата на промÑна (опаÑно)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"Приема Ñе, че файловете Ñа еднакви, ако датата на промÑна и големината Ñа "
+"еднакви.\n"
+"Може да Ñе използва за големи директории или бавни мрежи."
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "ДоверÑване на големината (опаÑно)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"Приема Ñе, че файловете Ñа еднакви ако техните големини Ñа еднакви.\n"
+"Може да Ñе използва за големи директории или бавни мрежи, когато датата Ñе "
+"Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾ време на ÑвалÑне."
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "Синхронизиране на директории"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+"Предлага да запише файловете и в двете директории така, че\n"
+"и двете директории Ñлед това да Ñа едни и Ñъщи.\n"
+"Работи Ñамо, когато Ñе ÑравнÑват две директории без определено меÑтонахождение."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Разликите в интервалите да Ñе приемат за еднакви"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Файловете да Ñе Ñчитат за еднакви, ако Ñе различават Ñамо по интервалите.\n"
+"Това работи Ñамо ако е избран пълен анализ."
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "Копиране на по-новите, вмеÑто Ñливане (не е безопаÑно)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"Да не Ñе гледа вътре, а да Ñе взима по-Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð».\n"
+"(Използвайте го Ñамо ако знаете какво правите!)\n"
+"Ефективно е Ñамо ако Ñе ÑравнÑват две директории."
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "Резервни ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° файлове (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+"Когато файл ще Ñе запиÑва върху Ñтар файл, тогава ÑтариÑÑ‚ файл\n"
+"ще бъде преименуван Ñ Ñ€Ð°Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ðµ \".orig\" или ще бъде изтрит."
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Регионални наÑтройки"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "Език (нужно е реÑтартиране)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+"Изберете език за ГПИ-низовете или \"Ðвтоматично\".\n"
+"За да Ñе Ñмени езика, излезте от KDiff3 и Ñ Ñ€ÐµÑтартирайте."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Използване на еднаква кодова таблица за вÑичко:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Включвайки това, можете да промените вÑички кодировки Ñ Ð¿Ñ€Ð¾Ð¼Ñната Ñамо на "
+"първата.\n"
+"Изключете Ñа необходими различни индивидуални наÑтройки."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Забележка: Локалната кодова таблица е "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Файлова кодова таблица за Ð:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Файлова кодова таблица за Б:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Файлова кодова таблица за В:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Кодова таблица на файла за резултата от Ñливането и запиÑване:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Кодова таблица на файл за файлове за предварителна обработка:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Езици тип \"отдÑÑно на лÑво\""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"ÐÑкои езици Ñе четат отдÑÑно налÑво.\n"
+"Тази наÑтройка ще промени Ñъответно редактора и визуализатора."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "ИнтеграциÑ"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "ÐаÑтройки на интеграциÑта"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Опции за команден ред, които да бъдат игнорирани:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Показва опциите за команден ред, които трÑбва да бъдат игнорирани, когато "
+"KDiff3 Ñе използва Ñ Ð´Ñ€ÑƒÐ³Ð¸ инÑтрументи.\n"
+"Могат да бъдат поÑочени нÑколко ÑтойноÑти, разделени Ñ \";\" \n"
+"Това ще елиминира грешката \"ÐеизвеÑтна грешка\"."
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"Избрали Ñте шрифт Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° дължина.\n"
+"\n"
+"Тъй като тази програма не може да обработва такива шрифтове\n"
+"правилно, може да имате проблеми по време на редактиране.\n"
+"\n"
+"ИÑкате ли да продължите или ще изберете друг шрифт?"
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "ÐеÑъвмеÑтими шрифтове"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "Продължете на ÑобÑтвена отговорноÑÑ‚"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "Изберете друг шрифт"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr "Това ще възÑтанови вÑички наÑтройки. Ðе Ñамо тези в текущата тема."
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr "PreprocessorCmd: "
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"Следните наÑтройки, които избрахте може да променÑÑ‚ информациÑ:\n"
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+"\n"
+"Ðай-вероÑтно това не е желателно по време на Ñливане.\n"
+"ИÑкате ли да изключите тези наÑтройки или ще продължите Ñ Ñ‚ÑÑ…?"
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr "ОпциÑта не е безопаÑна при Ñливане"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Използвайте тези опции при Ñливане"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Изключване на опаÑните опции"
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "Зареждане на Ð"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "Зареждане на Б"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Разлика: A <-> Б"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "Разлика на линиÑ: A <-> Б"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "Зареждане на В"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Разлика: Б <-> B"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Разлика: Р<-> B"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "Разлика на ред: Б <-> B"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "Разлика на ред: A <-> B"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"ÐÑкои входни файлове не Ñа чиÑти текÑтови файлове.\n"
+"Имайте предвид, че Ñливането на KDiff3 не е предназначено за двоична "
+"информациÑ.\n"
+"Продължавате на ÑобÑтвена отговорноÑÑ‚."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "ПрекъÑване"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "ОтварÑне на файлове..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Грешка при отварÑне на файл"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "ИзрÑзване на маркираното..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Копиране на маркираното в ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Вмъкване Ñъдържанието на ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð¸ продължение"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Продължение без запиÑ"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "ТърÑенето завърши."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "ТърÑенето завърши"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+"МолÑ, щракнете върху редовете, които трÑбва да Ñъвпаднат във вÑички прозорци."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr "Ðищо не е избрано в прозореца за разлики."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Грешка при ръчно добавÑне на охват за разликите"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Конфигуриране на KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&ДиректориÑ"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾ Ñливане на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Движение"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Изглед на раз&делител"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Сливане"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Прозорец"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "Р(базов):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Файл..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "ДиректориÑ..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "В (по избор):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Суап/Копиране на имена ..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Суап"
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "Резултат (по избор):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Конфигуриране..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "ТърÑене на текÑÑ‚:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "ЧувÑтвителен региÑтър"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "ТърÑене в Ð"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "ТърÑене в Б"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "ТърÑене във Ð’"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Резултат от търÑенето"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&ТърÑене"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "нÑма маркирано"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Ръчно Ñъвпадане на редове"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "ТеÑÑ‚ за регулÑрни изрази"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Примерен ред за начало на автоÑливане:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr "За теÑтване на автоÑливането копирайте ред от използваните файлове."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Съвпадащ резултат:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "Ред за примерно Ñтартиране на иÑÑ‚Ð¾Ñ€Ð¸Ñ (в водещ коментар):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Копирайте ред на започване на иÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ°Ñ‚Ð¾ във файловете,\n"
+"но пропуÑнете Ð²Ð¾Ð´ÐµÑ‰Ð¸Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "Ред за Ñортиращ ключ:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr "Примерен ред за Ñтартиране на иÑÑ‚Ð¾Ñ€Ð¸Ñ (без водещ коментар):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Копирайте реда за начало на иÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ°Ñ‚Ð¾ във файловете,\n"
+"но пропуÑнете Ð²Ð¾Ð´ÐµÑ‰Ð¸Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Резултат от Ñортирането на ключове:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "О'кей"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Съвпадението е уÑпешно."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Съвпадението беше неуÑпешен."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr "ОтварÑнето и затварÑнето на дървото не Ñъвпада Ñ Ñ€ÐµÐ³ÑƒÐ»ÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/br.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2300 @@
+# KDE breton translation
+# Thierry Vignaud <tvignaud@mandriva.com>, 2004-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: kdeextragear-1/kdiff3.po\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-09-20 15:44+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandriva.com>\n"
+"Language-Team: br <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Thierry Vignaud, Jañ-Mai Drapier"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "tvignaud@mandriva.com, jdrapier@club-internet.fr"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Eus ar golver"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Fazi diabarzh grevus"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Dibenn"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Liamm : "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Ment. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Deiziad ha ment : "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Sac'het eo digeiñ ar restr %1."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "Fazi en ur less eus %1."
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Anv"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Ober"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Stad"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Gwenn"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Sac'het eo digeriñ ar renkelloù :"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Fazi en ur zigeriñ ar renkell"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Emaon o tielfennañ ar renkelloù ..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Emaon o lenn ar renkell A"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Emaon o lenn ar renkell B"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Emaon o lenn ar renkell C"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Prest."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "Niver a is-renkelloù :"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Kenderc'hel"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "O treterez "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Traoù d'ober."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "Eilañ A da B"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "Eilañ B da A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "Lemel A"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "Lemel B"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "Lemel A & B"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Dastum"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Fazi gant ar meziant"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Degouezhet ez eus ar fazi en ur eilañ.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Fazi en ur dastum"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Fazi."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Graet."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "N'eo ket enrollet."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "Tremen an dra"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "Tremenet."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "Ober a ran ..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"Degouezhet ez eus ar fazi. Gwaskit OK da welet an titouroù munut.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "dilemel( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Fazi : sac'het eo lemel."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "eilañ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "adenvel( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Fazi en ur c'hrouiñ ur renkell."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Renkell"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Seurt"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Ment"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Kemm diwezhañ"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "Liamm dehaezadur"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "n'eo ket da gaout"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Diskouez restroù a zo e A hepken"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Diskouez restroù a zo e B hepken"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Diskouez restroù a zo e C hepken"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Ober netra"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "G"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Lemel A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "Emaon o lenn ar restr : %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "Emaon o skrivañ ar restr : %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Memor ebet"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "Oc'h oberiañ ar renkell : %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "Emaon o tilemel ar renkell : %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "Emaon o tilemel ar restr : %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Emaon oc'h adenvel ar restr : %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "Emaon oc'h eilañ ar restr : %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "Emaon o lenn ar renkell :"
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Fazi er dibarzh kefluniañ :"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "Fazi en ur enrollañ."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Fazi en ur zigeriñ ar restr"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "Enrollañ a ra an teul red e ..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Kuitaat a ra ar meziant"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Eilañ a ra an dachenn dibabet er golver"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Diskouez/Kuzhat ar varrenn &ostilhoù"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Kuzhat/Diskouez ar varenn stad"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Kefluniañ KDiff3 ..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Diskouez niverennoù linenn"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Diskouez ar prenestr A"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Diskouez ar prenestr B"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Diskouez ar prenestr C"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "Fokuz ouzh ar brenestr a-heul"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "Fokuz ouzh ar brenestr diaraok"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Enrollañ && kuitaat"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Kuitaat hep enrollañ"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Emaon oc'h enrollañ ar restr ..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Oc'h enrollañ ar restr gant un anv restr nevez ..."
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Emaon o voulañ ..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Nullet eo ar voulañ."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Diuzadenn"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Echu eo moulañ."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Emaon o kuitaat ..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Emaon o kuzhat/diskouez ar varenn ostilh ..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Diskouez/Kuzhat ar varenn stad ..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "restr2 da zigeriñ"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "restr3 da zigeriñ"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Ezkas"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[Kemmet]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "Fazi en ur skrivañ."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Liv"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Kefluniadur al livioù"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Liv war-c'horre :"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Liv an drekleur :"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "Liv A :"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "Liv B :"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "Liv C :"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Aozer"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "Emzalc'h an aozer"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Ment ar bevennig :"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "Emgeflosk"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Choazh diwar zorn"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "Sil(où) restr :"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr "Implijit .cvsignore"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "Heuliañ liammoù ar retroù"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "Heuliañ liammoù ar renkelloù"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Kefluniadur rann-vro"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "Dibab un nodrezh all"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "Emaon o kargañ A"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "Emaon o kargañ B"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "Emaon o kargañ C"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Paouez"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Emaon o tigeriñ ar restroù ..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fazi en ur zigeriñ ar restr"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "O troc'hañ an dibab ..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Oc'h eilañ an dibab d'ar golver ..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Enrollañ && Kenderc'hel"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Echu eo ar glask."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Kefluniañ KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Renkell"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Dastum"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Prenestr"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Restr ..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Renkell ..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Disloañ"
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Kefluniañ ..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Skrid klasket :"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Evezhiek ouzh ar c'hef"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Klask A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Klask B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Klask C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Klask"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "diuzadenn ebet"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Mat eo"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "N'eo ket enrollet ar restr."
+
+#~ msgid "Delete A and B"
+#~ msgstr "Lemel A ha B"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/ca.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2284 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr ""
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr ""
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr ""
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr ""
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr ""
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr ""
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr ""
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr ""
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr ""
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr ""
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr ""
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr ""
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr ""
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr ""
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr ""
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr ""
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr ""
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr ""
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr ""
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr ""
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr ""
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr ""
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr ""
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr ""
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr ""
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr ""
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr ""
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr ""
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/createqm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/createqm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,8 +1,8 @@
-for i in `cat kde-i18n/subdirs` ; do
-   if [ -a kde-i18n/$i/messages/kdeextragear-1/kdiff3.po ]; then 
+for i in `cat subdirs` ; do
+   if [ -a $i.po ]; then 
       echo $i
-      msgmerge --no-fuzzy-matching kde-i18n/$i/messages/kdelibs/kdelibs.po kreplacements.pot >kreplacements_$i.po
-      msgcat --use-first kde-i18n/$i/messages/kdeextragear-1/kdiff3.po kreplacements_$i.po >kdiff3_$i.po
+      msgmerge --no-fuzzy-matching kdelibs_$i.po kreplacements.pot >kreplacements_$i.po
+      msgcat --use-first $i.po kreplacements_$i.po >kdiff3_$i.po
       /usr/lib/qt3/bin/msg2qm kdiff3_$i.po kdiff3_$i.qm
       rm kdiff3_$i.po kreplacements_$i.po
    fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/cs.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2314 @@
+# translation of kdiff3.po to Czech
+# translation of kdiff3.po to cs_CZ
+# Klara Cihlarova <koty@seznam.cz>, 2005, 2006.
+# Jakub Friedl <jfriedl@suse.cz>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-01-19 08:55+0100\n"
+"Last-Translator: Klara Cihlarova <koty@seznam.cz>\n"
+"Language-Team: cs_CZ <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>"
+"=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Klára Cihlářová,Jakub Friedl"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "koty@seznam.cz,jfriedl@suse.cz"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "Zápis dat schránky do doÄasného souboru selhal."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Ze schránky"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Chyba, ztracená data:\n"
+"Pokud lze chybu reprodukovat, kontaktujte autora.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Závažná interní chyba"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Konec"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "Směs odkazů a běžných souborů."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Odkaz: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Velikost"
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Datum a velikost: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "Vytváření doÄasné kopie %1 selhalo."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Otevření %1 selhalo."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Porovnání souborů..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "Chyba Ätení z %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Jméno"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Operace"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Stav"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Nevyřešeno"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Vyřešeno"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Nebílý"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Bílá"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Znovu prohledat"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "PokraÄovat se sluÄováním"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Otvírání adresářů selhalo:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Adresář A \"%1\" neexistuje nebo není adresářem.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Adresář B \"%1\" neexistuje nebo není adresářem.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Adresář C \"%1\" neexistuje nebo není adresářem.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Chyba otvírání adresáře"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"Cílový adresář nesmí být pÅ™i sluÄování tří adresářů shodný s A nebo B.\n"
+"PÅ™ed pokraÄováním proveÄte kontrolu."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Prohledávání adresářů..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Čtení adresáře A"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Čtení adresáře B"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Čtení adresáře C"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "NÄ›které podadresáře byly neÄitelné v"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "Zkontrolujte oprávnění podadresářů."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Připraven."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "Stav porovnání adresářů"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "PoÄet podadresářů:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "PoÄet shodných souborů:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "PoÄet rozdílných souborů:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "PoÄet ruÄních slouÄení:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "Toto ovlivňuje vÅ¡echna sluÄování."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "P&okraÄovat"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "Zpracovávání "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Udělat."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "Zkopírovat A do B"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "Zkopírovat B do A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "Smazat A"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "Smazat B"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "Smazat A a B"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "SlouÄit do A"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "SlouÄit do B"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "SlouÄit do A a B"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "Smazat (pokud existuje)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "SlouÄit"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "SlouÄit (ruÄnÄ›)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Chyba: Konflikt typů souborů"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "Chyba: Data jsou shodná ale soubory nikoliv."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "Tato operace není nyní možná."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "Operace není možná"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"Toto by se nemělo nikdy stát:\n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"Pokud tuto situaci umíte reprodukovat, kontaktujte prosím autora programu."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Chyba programu"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Během kopírování se stala chyba.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Chyba sluÄování"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Chyba."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Hotovo."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Neuloženo."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "Neznámá sluÄovací operace. (Toto se nesmí nikdy stát!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "Neznámá sluÄovací operace."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "PokraÄovat se sluÄováním po chybÄ›"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "PÅ™eskoÄit položku"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "PÅ™eskoÄeno."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "SluÄování dokonÄeno"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Typ"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Velikost"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Prohledávání adresářů..."
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "PoÄet rozdílných souborů:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Nedělat nic"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Nedostatek paměti"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Chyba otvírání souboru"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Chyba otvírání souboru"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "Otevře dokumenty pro porovnání..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr "Uloží výsledek spojení. Musí být vyřešeny všechny konflikty!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "Uloží aktuální dokument jako..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "UkonÄí aplikaci"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Vyjme souÄasný výbÄ›r a umístí jej do schránky"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Zkopíruje vybranou sekci do schránky"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Vloží souÄasný obsah schránky na aktuální pozici"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Hledání řetězce"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Další hledání řetězce"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Povolí/zakáže nástrojovou lištu"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Povolí/zakáže stavovou lištu"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Nastavit: KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Ukládám soubor..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Ukládám soubor pod jiným názvem..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "UkonÄuji..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "SluÄování dokonÄeno"
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "UkonÄuji..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Přepínání panelu nástrojů..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Přepnout stavovou lištu..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "PoÄet rozdílných souborů:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "Konfilkty"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Výstup"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Barva"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Barva popředí:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Barva pozadí:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Stav porovnání adresářů"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Editor"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Velikost tabulátoru:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "Ignorovat velikost písmen"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operace"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Přerušit"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr ""
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Vyjímám výběr..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopíruji výběr do schránky..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Vkládám obsah schránky..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "O&kno"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Soubor..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Nastavit..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Rozlišovat velká/malá"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Hledat"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Vyjímám výběr..."
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/cvsgetpo	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/cvsgetpo	Mon Apr 10 08:40:51 2006 +0000
@@ -1,3 +1,3 @@
 cvs co kde-i18n/subdirs
 for i in `cat kde-i18n/subdirs`; do  cvs co kde-i18n/$i/messages/kdeextragear-1/kdiff3.po; done
-for i in `cat kde-i18n/subdirs`; do  cp kde-i18n/$i/messages/kdeextragear-1/kdiff3.po $i.po; done
+for i in `cat kde-i18n/subdirs`; do  cp -p kde-i18n/$i/messages/kdeextragear-1/kdiff3.po $i.po; done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/cy.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2291 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: ../cy/messages//kdeextragear-1/kdiff3.po\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-09-20 15:44+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandrakesoft.com>\n"
+"Language-Team: cy <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "KD wrth KGyfieithu"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kyfieithu@dotmon.com"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Diwedd"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Cyswllt : "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "Yn cadw ffeil..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Enw"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Gweithrediad"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Cyflwr"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Gwyn"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Ailsyllu"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Parod."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Mynd ymlaen"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Cyfuno"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Gwall."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Wedi'i wneud."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Math"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Maint"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "dim ar gael"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Allan o Gof."
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Gwall agor ffeil"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Gwall agor ffeil"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Terfynu'r cymhwysiad"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Torri'r adran dewisiedig a'i roi ar y gludfwrdd"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Copïo'r adran dewisiedig i'r gludfwrdd"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Gludo cynnwys y gludfwrdd i'r fan wirioneddol"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Galluogi/analluogi'r bar offer"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Galluogi/analluogi'r bar cyflwr"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Gorffen heb gadw"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Yn cadw ffeil..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Argraffu..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Dewisiad"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Terfynu..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Dangos/cuddio'r bar offer..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Dangos/cuddio'r bar cyflwr..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "Gwrthdrawiadau"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Allbwn"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Ungôd"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Lladin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Lliw"
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Gosodiadau Rhanbarthol"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Lliw blaendir:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Lliw'r cefndir:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Golygydd"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Maint tab:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Arddull pen y llinell:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Dewis gyda llaw"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Gosodiadau Rhanbarthol"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Gweithrediad"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Gosodiadau Rhanbarthol"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Erthylu"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Gwall agor ffeil"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Yn torri'r dewisiad..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Yn copïo'r dewisiad i'r clipfwrdd..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Yn mewnosod cynnwys y clipfwrdd..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Cyfeiriadur"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Cyfuno"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Ffenestr"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Ffeil..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Ffurfweddu..."
+
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr " &Chwilio"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Llythrennau mawr/bach o bwys"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr " &Chwilio"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "dim detholiad"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Dewis gyda llaw"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Iawn"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/da.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/da.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,18 +1,19 @@
+# translation of kdiff3.po to
 # Danish translation of kdiff3
 # Copyright (C).
-# Erik Kjær Pedersen <erik@binghamton.edu>, 2003, 2004.
 #
+# Erik Kjær Pedersen <erik@binghamton.edu>, 2003, 2004, 2005, 2006.
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-05-31 12:34+0200\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-03-27 17:22-0500\n"
 "Last-Translator: Erik Kjær Pedersen <erik@binghamton.edu>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
+"X-Generator: KBabel 1.11.1\n"
 "Plural-Forms: \n"
 
 #: _translatorinfo.cpp:1
@@ -27,15 +28,15 @@
 "Your emails"
 msgstr "erik@binghamton.edu"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Skrivning af klippebordsdata til midlertidig fil mislykkedes."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Fra klippebord"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -49,7 +50,7 @@
 "\n"
 "Forbehandlingskommandoen vil blive deaktiveret nu."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -57,14 +58,13 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"Forbehandlingen af linje-matchning mislykkedes muligvis. Tjek denne "
-"kommando:\n"
+"Forbehandlingen af linje-matchning mislykkedes muligvis. Tjek denne kommando:\n"
 "\n"
 "  %1\n"
 "\n"
 "Forbehandlingskommandoen til linje-matchning vil blibe deaktiveret nu."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -72,268 +72,268 @@
 "Fejl med datatab:\n"
 "Hvis dette kan gentages so kontakt venligst forfatteren.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Alvorlig intern fejl"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Toplinje %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Toplinje"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Slut"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Blanding af link og normale filer."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Link: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Størrelse. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Dato & Størrelse: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Oprettelse af midlertidig kopi af %1 mislykkedes."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Ã…bning af %1 mislykkedes."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
-msgstr "Sammenligner fil ..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Sammenligner fil..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Fejl ved læsning fra %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Navn"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operation"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Uløst"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Løst"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Ikke-hvid"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Hvid"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
 "Du er ved at udføre en mappeindfletning. Er du sikker på at du ønsker at "
 "afbryde indfletningen og skanne mappen igen?"
 
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Genskan"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Fortsæt med indfletning"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Det mislykkedes at åbne mapper:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Mappen A \"%1\" eksisterer ikke eller er ikke en mappe.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Mappen B \"%1\" eksisterer ikke eller er ikke en mappe.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Mappen C \"%1\" eksisterer ikke eller er ikke en mappe.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Fejl ved åbning af mappe"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"Målmappen kan ikke være den samme som A eller B når tre mapper flettes "
-"sammen.\n"
+"Målmappen kan ikke være den samme som A eller B når tre mapper flettes sammen.\n"
 "Tjek igen før du fortsætter."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parameteradvarsel"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
-msgstr "Skanner mapper ..."
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Skanner mapper..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Læser mappen A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Læser mappen B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Læser mappen C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Nogle undermapper kunne ikke læses i"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Tjek tilladelser for undermapperne."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Klar."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Status for mappesammenligning"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Antal undermapper:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Antal ens filer:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Antal forskellige filer:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Antal manuelle indfletninger:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Dette påvirker alle indfletningsoperationer."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Ændrer alle indfletningsoperationer"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "&Fortsæt"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Behandler"
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "At gøre."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Kopiér A til B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Kopiér B til A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Slet A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Slet B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Slet A & B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Indflet til A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Indflet til B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Indflet til A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Slet (hvis det eksisterer)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Indflet"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Indflet (manuelt)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Fejl: Filtyper i konflikt"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Fejl: Datoer er ens men filer er ikke."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Denne operation er ikke mulig for øjeblikket."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operation ikke mulig"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -345,45 +345,44 @@
 "\n"
 "mergeResultSaved: m_pMFI=0\n"
 "\n"
-"Hvis du ved hvordan dette kan reproduceres, så kontakt programmets "
-"forfatter."
-
-#: directorymergewindow.cpp:1554
+"Hvis du ved hvordan dette kan reproduceres, så kontakt programmets forfatter."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Programfejl"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Der opstod en fejl mens der kopieredes.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Indfletningsfejl"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Fejl."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Færdig."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Ikke gemt."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Ukendt indfletningsoperation. (Dette skulle ikke kunne ske!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Ukendt indfletningsoperation."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -399,309 +398,353 @@
 "Vælg \"Gør det\" hvis du har læst instruktionerne og ved hvad du gør.\n"
 "Valg af \"Simulér det\" vil fortælle dig hvad der ville ske.\n"
 "\n"
-"Vær klar over at dette program stadig har beta-status og der er INGEN "
-"GARANTI overhovedet! Lav sikkerhedskopier af dine vitale data!"
-
-#: directorymergewindow.cpp:1686
+"Vær klar over at dette program stadig har beta-status og der er INGEN GARANTI "
+"overhovedet! Lav sikkerhedskopier af dine vitale data!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Starter indfletning"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Gør det"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simulér det"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"Det frem,hævede punkt har forskellig type i de forskellige mapper. Vælg "
-"hvad der skal gøres."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"Ændringsdatoerne for filerne er ens, men filerne er ikke ens. Vælg hvad "
+"Det frem,hævede punkt har forskellig type i de forskellige mapper. Vælg hvad "
 "der skal gøres."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Ændringsdatoerne for filerne er ens, men filerne er ikke ens. Vælg hvad der "
+"skal gøres."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
 "Denne operation er ikke mulig lige nu da mappe-indfletningen kører for "
 "øjeblikket."
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Der opstod en fejl i det sidste skridt.\n"
 "Ønsker du at fortsætte punktet der forårsagede fejlen eller ønsker du at "
 "springe over dette punkt?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Fortsæt med indfletning efter en fejl"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Fortsæt med det sidste punkt"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Spring over punkt"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Sprunget over."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "I fremgang..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Indfletningsoperation færdig."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Indfletning færdig"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Simuleret indfletning færdig: Tjek om du er enig i de foreslåede "
-"operationer."
-
-#: directorymergewindow.cpp:1977
+"Simuleret indfletning færdig: Tjek om du er enig i de foreslåede operationer."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Der opstod en fejl. Tryk på o.k. for at se detaljeret information.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Fejl: Under sletning af %1: Det mislykkedes at lave sikkerhedskopi."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "slet mappe rekursivt( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "slet( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
-msgstr "Fejl: 'slet mappe'-operation mislykkedes under forsøget på at læse mappen."
-
-#: directorymergewindow.cpp:2063
+msgstr ""
+"Fejl: 'slet mappe'-operation mislykkedes under forsøget på at læse mappen."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Fejl: rmdir( %1 ) operation mislykkedes."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Fejl: slet-operation mislykkedes."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "manuel indfletning( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Bemærk: Efter en manuel indfletning skal brugeren fortsætte ved at "
-"trykke på F7."
-
-#: directorymergewindow.cpp:2125
+"     Bemærk: Efter en manuel indfletning skal brugeren fortsætte ved at trykke "
+"på F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Fejl: copy( %1 -> %2 ) mislykkedes. Sletning af eksisterende mål "
-"mislykkedes."
-
-#: directorymergewindow.cpp:2135
+"Fejl: copy( %1 -> %2 ) mislykkedes. Sletning af eksisterende mål mislykkedes."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Fejl: copyLink mislykkedes: Eksterne link er endnu ikke understøttede."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Fejl: copyLink mislykkedes."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "copy( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr "Fejl under rename( %1 -> %2 ): Kan ikke slette eksisterende mål."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "rename( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Fejl: Omdøbning mislykkedes."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "Fejl ved makeDir af %1. Kan ikke slette eksisterende fil."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Fejl ved oprettelse af mappe."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "MÃ¥l"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Mappe"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Type"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Størrelse"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attr"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Sidste ændring"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Link-destination"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "ikke tilgængelig"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Dest): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Basis): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Dest): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Dest): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Dest: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Gem tilstand for mappesammenfletning som..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Start/Fortsæt mappeindfletning"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Kør operation for dette punkt"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Sammenlign udvalgt fil"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Indflet udvalgt fil"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Fold alle undermapper sammen"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Fold alle undermapper ud"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Gem tilstand for mappesammenfletning..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Indlæs tilstand for mappesammenfletning..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Vælg A for alle punkter"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Vælg B for alle punkter"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Vælg C for alle punkter"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Auto-vælg operation for alle punkter"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Ingen operation for alle punkter"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Synkronisér mapper"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Kopiér nyere filer i stedet for at sammenflette"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Vis identiske filer"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Vis forskellige filer"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Vis kun filer i A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Vis kun filer i B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Vis kun filer i C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Sammenlign eksplicit markerede filer"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Sammenflet eksplicit markerede filer"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Gør intet"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Slet (hvis det eksisterer)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "Slet A og B"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Indflet til A og B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Slet A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Indflet til A && B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Det mislykkedes at slette en ældre sikkerhedskopi under "
-"sikkerhedskopieringen.\n"
+"Det mislykkedes at slette en ældre sikkerhedskopi under sikkerhedskopieringen.\n"
 "Filnavn: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -709,396 +752,431 @@
 "Det mislykkedes at ændre navnet under sikkerhedskopieringen\n"
 "Filnavne:"
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Henter filstatus: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Læser fil: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Skriver fil: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Ude af hukommelse"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Opretter mappe: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Fjerner mappe: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Fjerner fil: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Laver symbolsk link: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Omdøber fil: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Kopierer fil: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
 "Fejl under kopieringsoperationen: Åbning af fil til læsning mislykkedes. "
 "Filnavn: %1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
 "Fejl under kopieringsoperationen: Ã…bning af fil til skrivning mislykkedes. "
 "Filnavn: %1"
 
-#: fileaccess.cpp:859
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Fejl under kopieringsoperationen: Læsning mislykkedes. Filnavn: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Fejl under kopieringsoperationen: Skrivning mislykkedes. Filnavn: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Læser mappe:"
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Giver en liste af mappe: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Nuværende indstilling:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Fejl i indstillingstilvalg:"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Tilvalg --auto brugt, men ingen uddatafil angivet."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Tilvalg --auto ignoreret for mappesammenligning."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Det mislykkedes at gemme."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Det mislykkedes at åbne disse filer:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Fejl ved åbning af fil"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Ã…bner dokumenter til sammenligning..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr "gemmer indfletningsresultatet. Alle konflikter skal løses!"
 
-#: kdiff3.cpp:333
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Gemmer dette dokument som..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Udskriv forskellene"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Afslutter programmet"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Udklipper det markerede udvalg og lægger det på klippebordet"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopierer det valgte udsnit til klippebordet"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Indsætter klippebordets indhold på den aktuelle position"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Markér alting i nuværende vindue"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Søg efter en streng"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Søg efter strengen igen"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Slå værktøjslinjen til/fra"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Slår statuslinjen til/fra"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Indstil KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "GÃ¥ til den aktuelle delta"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Gå til første delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "GÃ¥ til sidste delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Springer over forskelle i blanke tegn når \"Vis blanke tegn\" er deaktiveret.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Springer ikke over forskelle i blanke tegn også selvom \"Vis blanke tegn\" er "
+"deaktiveret.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "GÃ¥ til forrige delta"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Gå til næste delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "GÃ¥ til forrige konflikt"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Gå til næste konflikt"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Gå til forrige uløste konflikt"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Gå til næste uløste konflikt"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Vælg linjer fra A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Vælg linjer fra B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Vælg linjer fra C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Gå til næste uløste konflikt automatisk efter kildevalg"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Vis mellemrums && tabulator-tegn for forskelle"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Vis hvide tegn"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Vis linjenumre"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Vælg A overalt"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Vælg B overalt"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Vælg C overalt"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Vælg A for alle uløste konflikter"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Vælg B for alle uløste konflikter"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Vælg C for alle uløste konflikter"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Vælg A for alle uløste konflikter med hvide tegn"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Vælg B for alle uløste konflikter med hvide tegn"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Vælg C for alle uløste konflikter med hvide tegn"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Løs simple konflikter automatisk"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Sæt deltaer til konflikter"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Kør automatisk sammenfletning med regulært udtryk"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Løs historikkonflikter automatisk"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Opdel sammenligning ved markering"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Vis vindue A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Vis vindue B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Vis vindue V"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Fokus på næste vindue"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normalt overblik"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A vs. B overblik"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A vs. C overblik"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B vs. C overblik"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Tekstombrydning i diff-vinduer"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Tilføj manuel justering af sammenligning"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Ryd alle manuelle justeringer af sammenligning"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Fokus på forrige vindue"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Slå opdelt orientering til og fra"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Mappe && tekst opdelt skærmvisning"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Skift mellem Mappe && tekstvisning"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Indfletningsresultatet er ikke blevet gemt."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Gem && afslut"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Afslut uden at gemme"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Det mislykkedes at gemme indfletningsresultatet."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Du er ved at udføre en mappeindfletning. Er du sikker på du ønskler at "
-"afbryde?"
-
-#: kdiff3.cpp:547
+"Du er ved at udføre en mappeindfletning. Er du sikker på du ønskler at afbryde?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Gemmer fil..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Gemmer fil med nyt filnavn..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Udskriver..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Udskrift afbrudt."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Markering"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Udskrift færdig."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "GÃ¥r ud..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Slår værktøjslinje til/fra"
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Slå statuslinje til/fra..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Søgetekst:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Versalfølsom"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Gennemsøg A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Gennemsøg B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Gennemsøg C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Søgeuddata"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Søg"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Kunne ikke finde filer til sammenligning."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
@@ -1108,79 +1186,102 @@
 "Dette sker sædvanligvis på grund af et installationsproblem. Læs venligst "
 "README-filen i kildepakken for detaljer."
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Tekst Diff- og indfletningsværktøj"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Værktøj til sammenligning og sammenfletning af filer og mapper"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Indflet inddata."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Eksplicit basisfil. For kompatibilitet med visse værktøjer."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Uddatafil. Implicerer -m. F.eks.: -o nyfil.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "Uddatafil, igen. (For kompatibilitet med visse værktøjer.)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
-msgstr "Ingen GUI hvis alle konflikter er løsbare af sig selv. (Behøver -o fil)"
-
-#: main.cpp:42
+msgstr ""
+"Ingen GUI hvis alle konflikter er løsbare af sig selv. (Behøver -o fil)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Løs ikke konflikter automatisk. (For kompatibilitet...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Synlig navneerstatning for inddatafil 1 (basis)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Synlig navneerstatning for inddatafil 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Synlig navneerstatning for inddatafil 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Alternativ synlig navneerstatning. Angiv dette en gang for hver inddata."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Har ingen virkning. For kompatibilitet med visse værktøjer."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "For kompatibilitet med visse værktøjer."
-
-#: main.cpp:52
+msgstr ""
+"Alternativ synlig navneerstatning. Angiv dette en gang for hver inddata."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Sæt en indstilling ud af kraft. Brug en gang for hver indstilling, f.eks.  --cs "
+"\"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Vis liste med indstillinger og nuværende værdier."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Brug en anden indstillingsfil."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "fil1 der skal åbnes (basis, hvis ikke angivet via --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "fil2 der skal åbnes"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "fil3 der skal åbnes"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Ignoreres. (brugerdefineret)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr "+ Mange tak til dem der rapporterede fejl og bidrog med ideer."
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Antal tilbageværende uløste konflikter: %1 (af hvilke %2 er blanke tegn)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1188,55 +1289,55 @@
 "Uddata er blevet ændret.\n"
 "Hvis du fortsætter vil dine ændringer gå tabt."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Alle inddata-filer er binært ens."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Alle inddata-filer indeholder den samme tekst."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Filerne A og B er binært ens.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Filerne A og B har samme tekst.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Filerne A og C er binært ens.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Filerne A og C har samme tekst.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Filerne B og C er binært ens.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Filerne B og C har samme tekst.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Totalt antal konflikter: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1244,7 +1345,7 @@
 "\n"
 "Antal automatisk løste konflikter: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1252,27 +1353,31 @@
 "\n"
 "Antal uløste konflikter: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Konflikter"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Nr kilde linje>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Indfletningskonflikt (kun blanke tegn)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Indfletningskonflikt>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Uddata"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Ændret]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1280,41 +1385,53 @@
 "Ikke alle konflikter er løst endnu.\n"
 "Filen er ikke gemt.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Konflikter tilovers"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Fil ikke gemt."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Mislykkedes at oprette sikkerhedskopi. Filen blev ikke gemt."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Fejl ved at gemme fil"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Løb tør for hukommelse under forberedelse til at gemme."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Fejl ved skrivning."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Ændr dette hvis ikke-ASCII tegn ikke vises rigtigt."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Editor & Diff uddata-skrifttype"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Kursiv skrifttype for deltaer"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1322,63 +1439,97 @@
 "Vælg den kursive udgave af skrifttypen til forskelle.\n"
 "Hvis skrifttypen ikke understøtter kursive tegn, så gør dette intet."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Farve"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Farver i Editor & Diff-uddata"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Farveindstillinger"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Editor- og forskelsvisninger:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Forgrundsfarve:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Baggrundsfarve:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Diff baggrundsfarve:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Farve A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Farve B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Farve C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Konfliktfarve:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Baggrundsfarve for aktuelt område:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Diff baggrundsfarve for aktuelt område:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "Farvelæg for manuelt valgte sammenligningsområder:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Mappesammenligningsvisning:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "Farve for nyeste fil:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr "At ændre farven får kun virkning når næste mappesammenligning startes."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "Farve for ældste fil:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "Farve for middelgammel fil:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "Farve for manglende filer:"
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Editor-opførsel"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tab indsætter mellemrum"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1386,25 +1537,25 @@
 "Til: Tryk på tab genererer et passende antal mellemrum.\n"
 "Fra: Et Tab-tegn bliver indsat."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tab-størrelse:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Auto-indrykning"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Til: Indrykningen for den tidligere linje bruges for en ny linje.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Autokopi udvalg"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1412,39 +1563,31 @@
 "Til: Enhver markering bliver umiddelbart skrevet til klippebordet.\n"
 "Fra: Du skal eksplicit kopiere f.eks. via Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Linjeslut-stil:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Sætter linjeafslutninger for når en redigeret fil gemmes.\n"
-"DOS/Windows: CR+LF; Unix: LF; med CR=0D, LF=0A"
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Brug lokalt tegnsæt"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Ændr dette hvis ikke-ASCII tegn ikke vises rigtigt."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
-msgstr "Diff & Indflet"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr "Opsætning af diff & indflet"
-
-#: optiondialog.cpp:510
+"DOS/Windows: CR+LF; UNIX: LF; med CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr "Sammenlign og sammenflet"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Opsætning af sammenlign og sammenflet"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Bevar vognretur"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1453,51 +1596,51 @@
 "Hjælper med at sammenligne filer der blev ændrede under forskellige "
 "operativsystemer."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorér numre"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Ignorér nummer-tegn i den fase hvor du matcher linjer. (Ligner Ignorér "
-"hvide tegn.)\n"
+"Ignorér nummer-tegn i den fase hvor du matcher linjer. (Ligner Ignorér hvide "
+"tegn.)\n"
 "Kan muligvis hjælpe med at sammenligne numeriske data."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignorér C/C++ kommentarer"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Behandl C/C++ kommentarersom hvide tegn."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignorér versaltype"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
-"Behandl forskel mellem store og små bogstaver som ændringer i blanke tegn. "
-" ('a'<=>'A')"
-
-#: optiondialog.cpp:539
+"Behandl forskel mellem store og små bogstaver som ændringer i blanke tegn.  "
+"('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Præprocessor kommando:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr "Brugerdefineret præ-proces. (Se dokumentationen for detaljer.)"
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Linje-matchende præprocessor kommando:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1505,11 +1648,11 @@
 "Denne præ-processor bruges kun når du matcher linjer.\n"
 "(Se dokumentationen for detaljer.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Prøv hårdt (langsommere)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1517,11 +1660,11 @@
 "Aktiverer --minimal tilvalget for den eksterne diff.\n"
 "Analysen af store filer vil være meget langsommere."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Auto fremad-tøven (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
@@ -1530,43 +1673,179 @@
 "i det angiven tidsrum tid, før der springes frem til den næste konflikt. "
 "Område: 0-2000 ms"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Standard for 2-fils indfletning af hvide tegn:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Manuelt valg"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Tillad indfletningsalgoritmen automatisk at vælge et input for ændringer "
-"kun af hvide tegn."
-
-#: optiondialog.cpp:584
+"Tillad indfletningsalgoritmen automatisk at vælge et input for ændringer kun af "
+"hvide tegn."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Standard for 3-fils indfletning:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Automatisk sammenfletning med regulært udtryk"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Regulært udtryk for automatisk sammenfletning:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"Regulært udtryk for linjer hvor Kdiff3 automatisk skal vælge en kilde.\n"
+"Når en linje med en konflikt matcher det regulære udtryk vælges -C om "
+"tilgængeligt, ellers vælges B."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+"Kør automatisk sammenfletning med regulært udtryk når sammenfletning starter"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Kør automatisk sammenfletning med regulært\n"
+"udtryk med det samme når en sammenfletning starter.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Sammenfletning ifølge versionskontrolhistorik"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Regulært udtryk for historikkens begyndelse:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"Regulært udtryk for historikindgangens begyndelse.\n"
+"Oftest indeholder linjen nøgleordet  \"$Log$
+"Oftest indeholder linjen nøgleordet  \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Oftest indeholder linjen nøgleordet  \"KDiff3 0.9.89
+"Oftest indeholder linjen nøgleordet  \"\".\n"
+"Standardværdi:  \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Regulært udtryk for historikindgangens begyndelse:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"En historikindgang består af flere linjer.\n"
+"Angiv det regulære udtryk for at detektere første linje (uden den indledende "
+"kommentar).\n"
+"Brug parenteser for at gruppere nøglerne du vil bruge til sortering.\n"
+"Hvis dette efterlades tomt, antager Kdiff3 at tomme linjer skiller "
+"historikposterne ad.\n"
+"Se dokumentationen for detaljer."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Sortering af historiksammenfletning"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Sortér versionskontrolhistorikken med en nøgle."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "Sorteringsnøglernes rækkefølge fra historikpostens begyndelse:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Hver parentes som bruges i det regulære udtryk for historikindgangens "
+"begyndelse\n"
+"grupperer en nøgle som kan bruges til sortering.\n"
+"Angiv listen med nøgler (som nummereres i den rækkefølge de forekommer\n"
+"begyndende med på 1), ved brug af ',' som skilletegn (f.eks. "
+"\"4,5,6,1,2,3,7\").\n"
+"Hvis det efterlades tomt, gøres ingen sortering.\n"
+"Se dokumentationen for detaljer."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+"Sammenfletning ifølge versionskontrolhistorik når sammenfletning starter"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+"Kør automatisk sammenfletning ifølge versionskontrolhistorik når sammenfletning "
+"starter."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Test dine regulære udtryk"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Ikke relevant sammenfletningskommando:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Hvis angivet køres dette script efter automatisk sammenfletning\n"
+"når ingen andre relevante ændringer blev detekteret.\n"
+"Kaldes med parametrene: filnavn1 filnavn2 filnavn3"
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Mappeindfletning"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Rekursive mapper"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Om undermapper skal analyseres eller ej."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Filmønstre:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1576,11 +1855,11 @@
 "Jokertegn: '*' og '?'\n"
 "Flere mønstre kan angives ved brug af adskillertegnet: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Fil-anti-mønstre:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1590,11 +1869,11 @@
 "Jokertegn: '*' og '?'\n"
 "Flere mønstre kan angives ved brug af adskillertegnet: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Mappe-anti-mønstre:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1604,11 +1883,11 @@
 "Jokertegn: '*' og '?'\n"
 "Flere mønstre kan angives ved brug af adskillertegnet: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Brug .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1616,23 +1895,23 @@
 "Udvider anti-mønstret til hvadsomhelst der ville blive ignoreret af CVS.\n"
 "Via lokale \".cvsignore\"-filer kan dette være specifikt for en enkel mappe."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Find skjulte filer og mapper"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Finder filer og mapper med en skjulte attribut."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Finder filer og mapper der begynder med '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Følger fil-link"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1640,11 +1919,11 @@
 "Til: Sammenlign med filen som linket peger på.\n"
 "Fra: Sammenlign link."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Følg mappe-link"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1652,44 +1931,58 @@
 "Til: Sammenlign med mappen som linket peger på.\n"
 "Fra: Sammenlign link."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Kun deltaer på listen"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Filer og mapper uden ændring vil ikke ses på listen."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "Versalfølsom filnavnesammenligning"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"Mappesammenligning sammenligner filer eller mapper når deres navne matcher.\n"
+"Angiv dette tilvalg hvis navnenes versaltilstand skal matche. (Standardværdien "
+"for Windows er fra, ellers til.)"
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Filsammenligningstilstand"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Binær sammenligning"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Binær sammenligning af hver fil. (Standard)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Fuld analyse"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
 "Udfør en fuld analyse og vis statistisk information i ekstra søjler.\n"
-"(Langsommere end en binær sammenligning, meget langsommere for binære "
-"filer.)"
-
-#: optiondialog.cpp:698
+"(Langsommere end en binær sammenligning, meget langsommere for binære filer.)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Stol på ændringsdato (usikker)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1698,25 +1991,25 @@
 "Antag at filer er ens hvis ændringsdatoen og fillængden er ens.\n"
 "Nyttigt for store mapper eller langsomme netværk."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Stol på størrelsen (usikker)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Antag at filer er ens hvis deres fillængder er ens.\n"
-"Nyttigt for store mapper eller langsomme netværk, når datoen er ændret "
-"efter filer er hentet."
-
-#: optiondialog.cpp:707
+"Nyttigt for store mapper eller langsomme netværk, når datoen er ændret efter "
+"filer er hentet."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Synkronisér mapper"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1726,11 +2019,23 @@
 "begge mapper er ens bagefter.\n"
 "Virker kun når to mapper sammenlignes uden at angive nogen destination."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Forskelle i blanke tegn anses for ens"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Hvis filer kun adskiller sig med blanke tegn, anses dem for ens.\n"
+"Dette er kun aktiveret når fuldstændig analyse vælges."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Kopiér nyere i stedet for at indflette (usikker)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1740,11 +2045,11 @@
 "(Brug kun dette hvis du ved hvad du foretager dig!)\n"
 "Kun effektivt når to mapper sammenlignes."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Sikkerhedskopieringsfiler (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1752,19 +2057,15 @@
 "Når en fil ville blive gemt over en gammel fil, så vil den gamle\n"
 "fil blive omdøbt med en '.orig'-endelse i stedet for at blive slettet."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Regional opsætning"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Sprog (genstart krævet)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1772,7 +2073,79 @@
 "Vælg sproget for GUI-strengene eller \"Auto\".\n"
 "For at en ændring af sprog skal ske, afslut og start KDiff3 igen."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Brug samme tegnsæt til alt:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"At aktivere dette lader dig ændre alle tegnsæt ved at kun ændre den første.\n"
+"Deaktivér det hvis forskellige individuelle indstillinger behøves."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Bemærk: Lokalt tegnsæt er "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Filtegnsæt for A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Filtegnsæt for B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Filtegnsæt for C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Filtegnsæt for sammenflettede uddata og når der gemmes:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Filtegnsæt for forbehandlingsfiler:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Sprog som læses fra højre til venstre"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Nogle sprog læses fra højre til venstre.\n"
+"Indstillingen ændrer visningen og editoren på tilsvarende måde."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Integrering"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Integreringsindstillinger"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Kommandolinjeflag at ignorere:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Liste med kommandolinjeflag som skal ignoreres når Kdiff3 bruges af andre "
+"værktøjer.\n"
+"Flere værdier kan angives hvis de adskilles af ';'\n"
+"Dette undertrykker fejlmeddelelsen \"Ukendt flag\"."
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1788,33 +2161,33 @@
 "\n"
 "Ønsker du at fortsætte eller at vælge en anden skrifttype."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Inkompatibel skrifttype"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Fortsæt på eget ansvar."
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Vælg en anden skrifttype"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Dette nulstiller alle tilvalg. Ikke kun dem der angår dette emne."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Præprocessor kommando:"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "Følgende tilvalg du valgte vil muligvis ændre data:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1825,55 +2198,55 @@
 "Ønsker du at deaktivere disse indstillinger eller fortsætte med disse "
 "indstillinger aktive?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr "Tilvalg usikkert ved en indfletning"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Brug disse tilvalg under en indfletning"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Deaktivér usikre tilvalg"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Indlæser A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Indlæser B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Diff: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Linjeforskel: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Indlæser C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Diff: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Diff: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Linjeforskel: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Linjeforskel: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1883,102 +2256,254 @@
 "Bemærk at KDiff3-indfletningen ikke er beregnet til binære data.\n"
 "Fortsæt på eget ansvar."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Afbryd"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Ã…bner filer..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fejl ved åbning af fil"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Klipper valgene ud..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopierer valgene til klippebord..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Indsætter klippebordets indhold..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Gem && Fortsæt"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Fortsæt uden at gemme"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Søgning færdig."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Søgning færdig"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr "Klik på linjerne som skal matche i alle vinduer."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr "Ingenting er markeret i inddatavindue med sammenligning."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Fejl ved tilføjelse manuelt sammenligningsområde"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Indstil KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Mappe"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Indfletningsoperation for dette punkt"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Synkroniseringsoperation for dette punkt"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Bevægelse"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iff-visning"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Ind&flet"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Vindue"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Basis):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Fil..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Mappe..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Frivillig):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Skift eller kopiér navne..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Skift"
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Uddata (frivillig):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Indstil..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Afbryd"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Ã…bner filer..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Fejl ved åbning af fil"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Klipper valgene ud..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Kopierer valgene til klippebord..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Indsætter klippebordets indhold..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Gem && Fortsæt"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Fortsæt uden at gemme"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Søgning færdig."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Søgning færdig"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Indstil KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Mappe"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Indfletningsoperation for dette punkt"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Synkroniseringsoperation for dette punkt"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Bevægelse"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "D&iff-visning"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "Ind&flet"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Vindue"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Søgetekst:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Versalfølsom"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Gennemsøg A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Gennemsøg B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Gennemsøg C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Søgeuddata"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Søg"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "ingen markering"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Manuelt valg af linjer"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Test af regulære udtryk"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Eksempel på startlinje for automatisk sammenfletning:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+"For at teste automatisk sammenfletning, kopieres en linje som bruges i dine "
+"filer."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Matchningsresultat:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "Eksempel på startlinje for historik (med indledende kommentar):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopiér en startlinje for historik som bruges i dine filer,\n"
+"men udelad den indledende kommentar."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "Sorteringsnøglerækkefølge for historik:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+"Eksempel på startlinje for en historikindgang (uden indledende kommentar):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopiér en startlinje for en historikindgang som bruges i dine filer,\n"
+"men udelad den indledende kommentar."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Sorteringsnøgleresultat:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "O.k."
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Matchning lykkedes."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Matchning mislykkedes."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr "Indledende og afsluttende parenteser matcher ikke i regulært udtryk."
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Har ingen virkning. For kompatibilitet med visse værktøjer."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "For kompatibilitet med visse værktøjer."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Farver i Editor & Diff-uddata"
--- a/kdiff3/po/de.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/de.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,22 +1,24 @@
-# translation of de.po to 
-# translation of kdiff3.po to Deutsch
+# translation of kdiff3.po to German
 # Übersetzung von kdiff3.po ins Deutsche
 # Copyright (C)
+#
 # Thomas Diehl <thd@kde.org>, 2003, 2004.
 # Joachim Eibl <joachim@gmx.de>, 2004.
-# Joachim Eibl <joachim.eibl@gmx.de>, 2004.
+# Joachim Eibl <joachim.eibl@gmx.de>, 2004, 2005, 2006.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2004.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: de\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-13 23:20+0200\n"
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-04-09 10:05+0200\n"
 "Last-Translator: Joachim Eibl <joachim.eibl@gmx.de>\n"
-"Language-Team:  <en@li.org>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -30,15 +32,15 @@
 "Your emails"
 msgstr "joachim.eibl@gmx.de"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Speichern der Zwischenablage in temporärer Datei ist fehlgeschlagen."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Aus Zwischenablage"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -53,7 +55,7 @@
 "\n"
 "Diese Vorverarbeitung wird nun deaktiviert."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -61,14 +63,15 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"Der Vorverarbeitungsbefehl für Zeilenabgleich ist möglicherweise fehlgeschlagen.\n"
+"Der Vorverarbeitungsbefehl für Zeilenabgleich ist möglicherweise "
+"fehlgeschlagen.\n"
 "Bitte überprüfen sie diesen Befehl:\n"
 "\n"
 "  %1\n"
 "\n"
 "Der Vorverarbeitungsbefehl für Zeilenabgleich wird nun deaktiviert."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -77,262 +80,263 @@
 "Falls das Problem reproduzierbar ist, nehmen Sie bitte Kontakt mit dem Autor "
 "auf.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Schwerwiegender interner Fehler"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Oberste Zeile %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Oberste Zeile"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Ende"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Vermischung von Verknüpfungen und Dateien"
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Verknüpfung: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Größe: "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Datum & Größe: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Erstellung einer temporären Kopie von %1 ist fehlgeschlagen."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Öffnen von %1 ist fehlgeschlagen."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "Datei wird verglichen..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Fehler beim Lesen von %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Name"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Aktion"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Ungelöst"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Gelöst"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Nicht weiß"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Weiß"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"Sie sind dabei, Verzeichnisse zusammenzuführen. Sind Sie sicher, dass Sie "
-"diese Operation abbrechen und das Verzeichnis erneut einlesen wollen?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Sie sind dabei, Verzeichnisse zusammenzuführen. Sind Sie sicher, dass Sie diese "
+"Operation abbrechen und das Verzeichnis erneut einlesen wollen?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Neu einlesen"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Zusammenführung fortsetzen"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Öffnen der Verzeichnisse fehlgeschlagen:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr "Verzeichnis A \"%1\" existiert nicht oder ist kein Verzeichnis.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr "Verzeichnis B \"%1\" existiert nicht oder ist kein Verzeichnis.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr "Verzeichnis C \"%1\" existiert nicht oder ist kein Verzeichnis.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Fehler beim Öffnen des Verzeichnisses"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"Wenn drei Verzeichnisse zusammengeführt werden, darf das Zielverzeichnis "
-"nicht mit A oder B identisch sein.\n"
+"Wenn drei Verzeichnisse zusammengeführt werden, darf das Zielverzeichnis nicht "
+"mit A oder B identisch sein.\n"
 "Bitte überprüfen Sie dies."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parameter-Warnung"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
 msgstr "Verzeichnisse einlesen ..."
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Einlesen von Verzeichnis A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Einlesen von Verzeichnis B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Einlesen von Verzeichnis C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Einige Unterverzeichnisse nicht lesbar in"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Überprüfen Sie bitte die Zugriffsrechte für die Unterverzeichnisse."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Bereit"
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Status des Verzeichnisvergleichs"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Anzahl der Unterverzeichnisse:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Anzahl der identischen Dateien:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Anzahl der unterschiedlichen Dateien:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Anzahl der manuellen Zusammenführungen:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Dies beeinflußt alle Zusammenführungsaktionen."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Änderung aller Zusammenführungsaktionen"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "&Fortsetzen"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Fortschritt "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Unerledigt."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Kopiere A nach B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Kopiere B nach A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Lösche A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Lösche B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Lösche A & B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Zusammenführen nach A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Zusammenführen nach B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Zusammenführen nach A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Lösche (falls vorhanden)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Zusammenführen"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Zusammenführen (manuell)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Fehler: Konflikt der Dateitypen"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Fehler: Gleiches Datum, aber unterschiedliche Dateien."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Diese Aktion ist momentan nicht zulässig."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Unzulässige Aktion"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -347,40 +351,40 @@
 "Wenn Sie dies reproduzieren können, informieren Sie bitte den Autor dieses "
 "Programms."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Programm Fehler"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid "An error occurred while copying.\n"
 msgstr "Ein Fehler ist während des Kopierens aufgetreten.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Zusammenführungsfehler"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Fehler."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Erledigt."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Nicht gespeichert."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Unbekannte Zusammenführaktion. (Sollte nie passieren!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Unbekannte Zusammenführaktion."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -393,310 +397,352 @@
 msgstr ""
 "Die Zusammenführung kann nun starten.\n"
 "\n"
-"Wählen Sie \"Start\" wenn Sie die Anleitung gelesen haben und wissen was "
-"Sie erwartet.\n"
+"Wählen Sie \"Start\" wenn Sie die Anleitung gelesen haben und wissen was Sie "
+"erwartet.\n"
 "Wählen Sie \"Simulieren\" um zu sehen, was passieren würde.\n"
 "\n"
-"Sie sollten aber wissen, dass dieses Program noch Beta-Status hat und es "
-"KEINE GARANTIE gibt! Erstellen Sie Sicherungkopien Ihrer wichtigen Daten!"
-
-#: directorymergewindow.cpp:1686
+"Sie sollten aber wissen, dass dieses Program noch Beta-Status hat und es KEINE "
+"GARANTIE gibt! Erstellen Sie Sicherungkopien Ihrer wichtigen Daten!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Start der Zusammenführung"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Start"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simulieren"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
 "Das markierte Element hat einen unterschiedlichen Typ in den verschiedenen "
 "Verzeichnissen. Wählen Sie eine Aktion."
 
-#: directorymergewindow.cpp:1721
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-"Für die markierte Datei ist zwar das Datum der letzen Änderung gleich, "
-"aber die Dateien unterscheiden sich. Wählen Sie die Zusammenführaktion."
-
-#: directorymergewindow.cpp:1778
+"Für die markierte Datei ist zwar das Datum der letzen Änderung gleich, aber die "
+"Dateien unterscheiden sich. Wählen Sie die Zusammenführaktion."
+
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
 "Diese Aktion ist momentan nicht möglich, weil zur Zeit Verzeichnisse "
 "zusammengeführt werden."
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Beim letzten Element ist ein Fehler aufgetreten.\n"
 "Wollen Sie mit diesem Element fortfahren, oder wollen Sie dieses Element "
 "überspringen?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Fortsetzung der Zusammenführung nach einem Fehler"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Mit letztem Element fortsetzen"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Element überspringen"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Übersprungen."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "In Bearbeitung..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Die Zusammenführung ist fertig."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Zusammenführung abgeschlossen."
 
-#: directorymergewindow.cpp:1941
+#: directorymergewindow.cpp:2265
 msgid "Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Die simulierte Zusammenführung ist abgeschlossen. Überprüfen Sie, ob Sie "
-"mit den vorgeschlagenen Aktionen einverstanden sind."
-
-#: directorymergewindow.cpp:1977
+"Die simulierte Zusammenführung ist abgeschlossen. Überprüfen Sie, ob Sie mit "
+"den vorgeschlagenen Aktionen einverstanden sind."
+
+#: directorymergewindow.cpp:2301
 msgid "An error occurred. Press OK to see detailed information.\n"
 msgstr "Ein Fehler ist aufgetreten. Wählen Sie OK um Details zu sehen.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
-msgstr ""
-"Fehler: Beim Löschen von %1: Die Erstellung einer Sicherungskopie schlug "
-"fehl."
-
-#: directorymergewindow.cpp:2027
+msgstr "Fehler: Beim Löschen von %1: Die Erstellung einer Sicherungskopie schlug fehl."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "Lösche Verzeichnis rekursiv( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "Lösche( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
 "Fehler: Löschen des Verzeichnisses schlug fehl, da es nicht gelesen werden "
 "konnte."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Fehler: Verzeichnis löschen( %1 ) Operation fehlgeschlagen."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Fehler: Löschoperation fehlgeschlagen."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "Manuelles Zusammenführen( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
+#: directorymergewindow.cpp:2426
 msgid "     Note: After a manual merge the user should continue by pressing F7."
 msgstr "     Hinweis: Nach manuellem Zusammenführen mit F7 fortsetzen."
 
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Fehler: Kopie( %1 ->"
-" %2 ) fehlgeschlagen. Das existierende Ziel konnte nicht gelöscht werden."
-
-#: directorymergewindow.cpp:2135
+"Fehler: Kopie( %1 -> %2 ) fehlgeschlagen. Das existierende Ziel konnte nicht "
+"gelöscht werden."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "Verknüpfung kopieren( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
 "Fehler: Verknüpfung kopieren: Nichtlokale Verknüpfungen werden nicht "
 "unterstützt."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Fehler: Verknüpfung kopieren fehlgeschlagen."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "kopiere( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Fehler beim Umbenennen( %1 -> %2 ): Das existierende Ziel konnte nicht "
-"gelöscht werden."
-
-#: directorymergewindow.cpp:2204
+"Fehler beim Umbenennen( %1 -> %2 ): Das existierende Ziel konnte nicht gelöscht "
+"werden."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "Umbenennen( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Fehler: Umbenennen fehlgeschlagen."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr ""
 "Fehler beim Erstellen des Verzeichnisses %1. Kann existierendes Objekt nicht "
 "löschen."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "erstelleVerzeichnis( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Fehler beim Erstellen eines Verzeichnis."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Ziel"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Verzeichnis"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Typ"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Größe"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attr"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Letzte Änderung"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Verküpfungsziel"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "nicht vorhanden"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Ziel): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
-msgstr "A (Basis):"
-
-#: directorymergewindow.cpp:2359
+msgstr "A (Basis): "
+
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Ziel): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Ziel): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Ziel: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Verzeichniszusammenführungsstatus speichern unter ..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Verzeichniszusammenführung starten/fortsetzen"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Aktion des aktuellen Elements ausführen"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Vergleiche gewählte Datei"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Aktuelle Datei zusammenführen"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Alle Unterverzeichnisse einklappen"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Alle Unterverzeichnisse ausklappen"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Verzeichnis-Zusammenführungs-Status speichern"
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Verzeichniszusammenführungsstatus laden ..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Für alle Elemente A wählen"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Für alle Elemente B wählen"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Für alle Elemente C wählen"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Aktion für alle Elemente automatisch wählen"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Keine Aktion für alle Elemente"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Verzeichnisse synchronisieren"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Kopiere neuere Datei statt zusammenzuführen"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Zeige identische Dateien"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Zeige unterschiedliche Dateien"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Zeige Dateien nur in A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Zeige Dateien nur in B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Zeige Dateien nur in C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Vergleiche explizit ausgewählte Dateien"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Führe explizit ausgewählte Dateien zusammen"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Nichts tun"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Löschen (falls vorhanden)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "Lösche A und B"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Zusammenführen nach A und B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Lösche A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Zusammenführen nach A && B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -705,7 +751,7 @@
 "vorhandene Sicherungskopie nicht gelöscht werden.\n"
 "Datei: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -714,392 +760,426 @@
 "fehlgeschlagen:\n"
 "Dateinamen: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Hole Datei Status: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Einlesen von Datei: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Schreibe Datei: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Nicht genügend Speicher"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Erstelle Verzeichnis: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Lösche Verzeichnis: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Lösche Datei: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Erstelle Verknüpfung: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Datei umbenennen: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Datei kopieren: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
-msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+msgid "Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr "Fehler beim Kopieren: Datei konnte nicht zum Lesen geöffnet werden: %1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
-msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+msgid "Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr "Fehler beim Kopieren: Datei konnte nicht zum Schreiben geöffnet werden: %1"
 
-#: fileaccess.cpp:859
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Fehler beim Kopieren: Lesen fehlgeschlagen: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Fehler beim Kopieren: Schreiben fehlgeschlagen: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
-msgstr "Lese Verzeichnis:"
-
-#: fileaccess.cpp:1297
+msgstr "Verzeichnis wird eingelesen:"
+
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Einlesen von Verzeichnis: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Aktuelle Einstellungen:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Fehler in der Einstellungsoption"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Option --auto verwendet, aber keine Ausgabedatei angegeben."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Option --auto wird beim Vergleich von Verzeichnissen ignoriert."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Speichern fehlgeschlagen."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Öffnen dieser Dateien schlug fehl:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Fehler beim Dateiöffnen"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Dateien für Vergleich öffnen..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr "Sichern des Zusammenführergebnisses. Alle Konflikte müssen gelöst sein."
 
-#: kdiff3.cpp:333
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Speichert das aktuelle Dokument als..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Unterschiede drucken"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Beendet das Programm"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Schneidet die Auswahl aus und kopiert sie in die Zwischenablage"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopiert den ausgewählten Bereich in die Zwischenablage"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Fügt den Inhalt der Zwischenablage an der aktuellen Position ein"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Alles auswählen in aktuellem Fenster"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Suche nach Text..."
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Weitersuchen"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Blendet die Werkzeugleiste ein/aus"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Blendet die Statusleiste ein/aus"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "KDiff3 einrichten..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Springe zu aktuellem Unterschied"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Springe zum ersten Unterschied"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Springe zum letzten Unterschied"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Unterschiede in weissen Zeichen werden übersprungen, wenn \"Zeige weisse "
+"Zeichen\" ausgeschaltet ist.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Unterschiede in weissen Zeichen werden nicht übersprungen, auch wenn \"Zeige "
+"weisse Zeichen\" ausgeschaltet ist.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Springe zu vorigem Unterschied"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Springe zu nächstem Unterschied"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Springe zu vorigem Konflikt"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Springe zu nächstem Konflikt"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Springe zu vorigem ungelösten Konflikt"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Springe zu nächstem ungelöstem Konflikt"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Wähle Zeile(n) von A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Wähle Zeile(n) von B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Wähle Zeile(n) von C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Automatisch zu nächstem ungelösten Konflikt weiterspringen"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Zeige Leerzeichen und Tabulator Zeichen in Unterschieden"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Zeige \"weisse\" Zeichen"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Zeige Zeilennummern"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Wähle A überall"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Wähle B überall"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Wähle C überall"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Wähle A für alle ungelösten Konflikte"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Wähle B für alle ungelösten Konflikte"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Wähle C für alle ungelösten Konflikte"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Wähle A für alle ungelösten \"weissen\" Konflikte"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Wähle B für alle ungelösten \"weissen\" Konflikte"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Wähle C für alle ungelösten \"weissen\" Konflikte"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Automatisch einfache Konflikte lösen"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Alle Unterschiede zu Konflikten machen"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Regulärer-Ausdruck-Zusammenführung starten"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Automatisch History-Konflikte auflösen"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Trenne Unterschied bei der Auswahlsmarkierung"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Zeige Fenster A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Zeige Fenster B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Zeige Fenster C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Setze Fokus zum nächsten Fenster"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normale Übersicht"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A vs. B Übersicht"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A vs. C Übersicht"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B vs. C Übersicht"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Zeilenumbruch für Vergleichsanzeige"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Manuelle Ausrichtung hinzufügen"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Alle manuellen Ausrichtungen entfernen"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Setze Fokus zum vorigen Fenster"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Ausrichtung der Fensterteilung wechseln"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Verzeichnis && Textfenster teilen sich Hauptfenster"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Wechsel zwischen Verzeichnis && Text Fenster"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Das Zusammenführungsergebnis wurde nicht gespeichert."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Speichern && Beenden"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Beenden ohne zu speichern"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Speichern des Zusammenführungsergebnisses schlug fehl."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
+#: kdiff3.cpp:592 pdiff.cpp:964
 msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Sie führen eine Verzeichniszusammenführung durch. Sind sie sicher, dass "
-"sie diese beenden möchten?"
-
-#: kdiff3.cpp:547
+"Sie führen eine Verzeichniszusammenführung durch. Sind sie sicher, dass sie "
+"diese beenden möchten?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Datei wird gespeichert..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Datei wird unter neuem Namen gespeichert..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Drucken ..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Drucken abgebrochen."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Auswahl"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Drucken beendet."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Wird beendet..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Werkzeugleiste (de)aktivieren..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Statusleiste an/aus..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Suchtext:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Groß/Kleinschreibung beachten"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Suche in A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Suche in B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Suche in C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Suche im Ergebnis"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Suchen"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Konnte Dateien für Vergleich nicht finden."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3-Komponente"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
@@ -1109,81 +1189,103 @@
 "Das ist normalerweise ein Installationsproblem. Bitte lesen Sie die "
 "README-Datei, die den Quelltexten beiliegt."
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Werkzeug zum Vergleich und Zusammenführen von Textdateien und Verzeichnissen"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Programm zum Vergleichen und Zusammenführen von Dateien und Verzeichnissen"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Quellen zusammenführen."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Explizite Basisdatei. Für Kompatibilität mit anderen Werkzeugen."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Ergebnisdateiname bei Zusammenführung. z.B.: -o neu.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "Ergebnisdatei. (Für Kompatibilität mit anderen Werkzeugen.)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-"Kein Fenster anzeigen, wenn alle Konflikte automatisch lösbar sind. "
-"(Benötigt -o)"
-
-#: main.cpp:42
+"Kein Fenster anzeigen, wenn alle Konflikte automatisch lösbar sind. (Benötigt "
+"-o)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Keine Konflikte automatisch lösen. (Für Kompatibilität...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Anderer angezeigter Dateiname für erste Datei (Basis)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Anderer angezeigter Dateiname für zweite Datei."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Anderer angezeigter Dateiname für dritte Datei."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr "Anderer angezeigter Dateiname: Kann für jede Quelle spezifiziert werden."
 
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Ohne Wirkung. Für Kompatibilität mit anderen Werkzeugen."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Für Kompatibilität mit anderen Werkzeugen."
-
-#: main.cpp:52
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Eine Einstellung ändern. Je Einstellung verwendbar. Bsp.: --cs "
+"\"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Zeige Liste aller Einstellungen und aktueller Werte."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Eine andere Einstellungsdatei benützen."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "Erste Datei (Basis, falls nicht --base benützt wird)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "Zweite Datei"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "Dritte Datei"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Ignoriert. (Benutzerdefiniert.)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr "+ Vielen Dank an alle, die Fehler gemeldet und Ideen beigesteuert haben!"
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Anzahl der verbleibenden ungelösten Konflikte: %1 (wobei %2 davon weisse "
+"Konflikte sind)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1191,43 +1293,43 @@
 "Das Ergebnis wurde verändert.\n"
 "Wenn sie fortsetzen gehen die Änderungen verloren."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Alle Quelldateien sind binär identisch."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Alle Quelldateien enthalten den gleichen Text."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid "Files A and B are binary equal.\n"
 msgstr "Die Dateien A und B sind binär identisch.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid "Files A and B have equal text. \n"
 msgstr "Die Dateien A und B enthalten den gleichen Text. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid "Files A and C are binary equal.\n"
 msgstr "Die Dateien A und C sind binär identisch.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid "Files A and C have equal text. \n"
 msgstr "Die Dateien A und C enthalten den gleichen Text. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid "Files B and C are binary equal.\n"
 msgstr "Die Dateien B und C sind binär identisch.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid "Files B and C have equal text. \n"
 msgstr "Die Dateien B und C enthalten den gleichen Text. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Gesamte Anzahl der Konflikte: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1235,7 +1337,7 @@
 "\n"
 "Anzahl der automatisch gelösten Konflikte: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1243,27 +1345,31 @@
 "\n"
 "Anzahl der ungelösten Konflikte: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Konflikte"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Keine Zeile in der Quelle>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Zusammenführungskonflikt (nur weisse Unterschiede)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Zusammenführungskonflikt>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Ausgabe"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Geändert]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1271,41 +1377,55 @@
 "Noch sind nicht alle Konflikt gelöst.\n"
 "Die Datei wurde nicht gespeichert.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Es sind noch ungelöste Konflikte übrig"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Datei nicht gespeichert."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Die Sicherungskopie anzulegen schlug fehl. Die Datei wurde nicht gespeichert."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Fehler beim Speichern der Datei"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Nicht genug Speicher beim Vorbereiten zum Speichern"
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Fehler beim Schreiben."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+"Falls die speziellen Zeichen Ihrer Sprache nicht korrekt dargestellt werden, "
+"können diesen Wert ändern. (Vielleicht hilfts.)"
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Schrift für Editor & Vergleichsfenster"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Kursivschrift bei Unterschieden"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1314,132 +1434,155 @@
 " Wenn aber diese Schriftart keine kursiven Zeichen unterstützt, passiert "
 "nichts."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Farbe"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Farben im Editor & Vergleichsfenster"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Farbeinstellungen"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Editor und Unterschiedsansicht:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Vordergrundfarbe:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Hintergrundfarbe:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Hintergrundfarbe bei Unterschieden:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Farbe für A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Farbe für B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Farbe für C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Farbe für Konflikte:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Hintergrundfarbe für aktuellen Bereich:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Hintergrundfarbe für Unterschiede im aktuellen Bereich:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "Farbe für manuell ausgerichtete Bereiche."
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Verzeichnisvergleichsansicht:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "Farbe für neueste Datei:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr "Diese Farbe zu ändern, wird erst beim Start des nächsten Verzeichnisvergleichs wirksam."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "Farbe für älteste Datei:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "Farbe für mittelalte Datei:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "Farbe für fehlende Datei:"
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Verhalten des Editors"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tabulator fügt Leerzeichen ein"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
-"Falls aktiv wird bei Betätigen des Tabulaturs die passende Anzahl "
-"Leerzeichen eingefügt. Sonst wird ein Tabulatorzeichen eingefügt."
-
-#: optiondialog.cpp:450
+"Falls aktiv wird bei Betätigen des Tabulaturs die passende Anzahl Leerzeichen "
+"eingefügt. Sonst wird ein Tabulatorzeichen eingefügt."
+
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tabulator Länge:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Automatisch einrücken"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Wenn aktiv, dann wird die Einrückung der vorigen Zeile bei neuen Zeilen "
 "übernommen.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Auswahl automatisch kopieren"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Falls aktiv wird die Auswahl automatisch sofort in die Zwischenablage "
-"kopiert.\n"
+"Falls aktiv wird die Auswahl automatisch sofort in die Zwischenablage kopiert.\n"
 "Sonst muss man explizit kopieren, z.B. mit Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
-msgstr "Zeilenendekodierung:"
-
-#: optiondialog.cpp:482
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Zeilenende-Kodierung:"
+
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Legt die Kodierung für Zeilenenden beim Speichern fest.\n"
 "DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Verwendung der lokalen Codetabelle."
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-"Falls die speziellen Zeichen Ihrer Sprache nicht korrekt dargestellt werden, "
-"können diesen Wert ändern. (Vielleicht hilfts.)"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
 msgstr "Vergleich und Zusammenführung"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr "Vergleich und Zusammenführung Einstellungen"
-
-#: optiondialog.cpp:510
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Vergleichs- und Zusammenführungs-Einstellungen"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Wagenrücklaufzeichen anzeigen"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1448,48 +1591,50 @@
 "Hilft beim Vergleich von Dateien, die unter verschiedenen Betriebssystemen "
 "geändert wurden."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Zahlen ignorieren"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 "Zahlen werden während des Vergleichs wie \"weisse\" Zeichen behandelt.\n"
 "Könnte helfen, wenn Dateien viele Zahlen enthalten."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignoriere C/C++ Kommentare"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Behandle C/C++ Kommentare wie \"weisse\" Zeichen."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Unterschiede bei Groß- und Kleinschreibung ignorieren"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr "Unterschiede bei Groß- und Kleinschreibung wie weisse Unterschiede behandeln. ('a'<=>'A')"
-
-#: optiondialog.cpp:539
+msgstr ""
+"Unterschiede bei Groß- und Kleinschreibung wie weisse Unterschiede behandeln. "
+"('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Vorverarbeitungsbefehl:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr "Benutzerdefinierbare Vorverarbeitung: (Siehe Beschreibung für Details.)"
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Vorverarbeitungsbefehl nur für Zeilenabgleich:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1497,69 +1642,199 @@
 "Dieser Vorverarbeitungsbefehl wirkt nur in der Phase des Zeilenabgleichs.\n"
 "(Für Details siehe die Dokumentation.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Aufwendig suchen (langsamer)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
-"Der Vergleichsalgorithmus versucht aufwendig nach kleinem Satz von "
-"Änderungen zu suchen. \n"
+"Der Vergleichsalgorithmus versucht aufwendig nach kleinem Satz von Änderungen "
+"zu suchen. \n"
 "Für sehr große Dateien kann der Vergleich viel langsamer sein."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Automatisch-Weiterspringen-Verzögerung (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"Wenn automatisches Weiterspringen aktiviert ist, wird das Ergebnis der "
-"letzten Auswahl\n"
+"Wenn automatisches Weiterspringen aktiviert ist, wird das Ergebnis der letzten "
+"Auswahl\n"
 "für diese Dauer angezeigt, bevor weitergesprungen wird. (0-2000 ms)"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "\"Weisse\" Zeichen Autoauswahl bei 2 Dateien:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Manuelle Auswahl"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
 "Bei Datei-Zusammenführungen wird automatisch diese Vorauswahl für "
 "ausschliesslich \"weisse\" Konflikte gewählt."
 
-#: optiondialog.cpp:584
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "\"Weisse\" Zeichen Autoauswahl bei 3 Dateien:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Regulärer Ausdrück für automatische Zusammenführung"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Regulärer Ausdrück für automatische Zusammenführung:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then\n"
+"- if available - C, otherwise B will be chosen."
+msgstr ""
+"Regulärer Ausdruck für Zeilen, wo KDiff3 automatisch eine Quelle auswählen "
+"soll.\n"
+"Wenn eine Konfliktzeile auf diesen regulären Ausdruck passt, wird\n"
+"- sofern verfügbar - C, ansonsten B ausgewählt."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr "Zusammenführung für Regulären Ausdruck beim Start einer Zusammenführung durchführen"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Führe die Zusammenführung für Reguläre Ausdrücke sofort\n"
+"beim Start einer Zusammenführung durch.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Versionsverwaltungs History-Zusammenführung"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Regulärer Ausdruck für History-Start:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"Regulärer Ausdruck für die Startzeile der Versionsverwaltungs-History.\n"
+"Normalerweise enthält diese Zeile das \"$Log$
+"Normalerweise enthält diese Zeile das \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Normalerweise enthält diese Zeile das \"KDiff3 0.9.89
+"Normalerweise enthält diese Zeile das \"\"-Schlüsselwort.\n"
+"Voreinstellung: \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Regulärer Ausdruck für History-Eintrag-Startzeile:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"Ein Versionsverwaltungs-History Eintrag besteht aus mehreren Zeilen.\n"
+"Geben Sie einen regulären Ausdruck an, um die erste Zeile (ohne die\n"
+"voranstehenden Kommentarzeichen) zu erkennen.\n"
+"Verwenden Sie runde Klammern um Sortierschlüssel zu gruppieren.\n"
+"Wenn leergelassen, nimmt KDiff3 an, dass die History-Einträge durch Leerzeilen\n"
+"getrennt sind. (Siehe Dokumentation für Details.)"
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Sortierte History-Zusammenführung"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Schlüsselbasierte Sortierung der Versionsverwaltungs-Historyeinträge"
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "Historyeintragsstart Sortierschlüsselreihenfolge:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Jede runde Klammer im regulären Ausdruck des History-Start-Eintrags\n"
+"gruppiert einen Schlüssel der für Sortierung benützt werden kann.\n"
+"Geben Sie eine liste der Schlüssel an (nummeriert in der Auftrittsreihenfolge,\n"
+"mit 1 beginnend), wobei Komma ',' als Trennzeichen benützt wird. (z.B.: \"4,5,6,1,2,3,7\").\n"
+"Wenn der Eintrag leer ist, wird keine Sortierung durchgeführt.\n"
+"(Siehe Dokumentation für Details)."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr "Versionsverwaltungs-History beim Start einer Zusammenführung zusammenführen"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr "Starte Versionsverwaltungs-History-Zusammenführung beim Start einer Zusammenführung"
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Testen Sie Ihre regulären Ausdrücke"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Befehl bei irrelevanter Zusammenführung:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Wenn spezifiziert wird dieser Befehl nach einer automatischen Zusammenführung \n"
+"ausgeführt, wenn keine relevanten Änderungen detektiert wurden.\n"
+"Aufruf erfolgt mit den Parametern: Dateiname1 Dateiname2 Dateiname3"
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Verzeichnis-Zusammenführung"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Rekursive Verzeichnisse"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Falls aktiv werden auch Unterverzeichnisse eingelesen."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Datei Muster:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1567,14 +1842,13 @@
 msgstr ""
 "Muster der zu analysierenden Dateien. \n"
 "Jokerzeichen: '*' und '?'\n"
-"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt "
-"wird."
-
-#: optiondialog.cpp:626
+"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird."
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Datei Anti-Muster:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1582,14 +1856,13 @@
 msgstr ""
 "Muster der auszuschließenden Dateien. \n"
 "Jokerzeichen: '*' und '?'\n"
-"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt "
-"wird."
-
-#: optiondialog.cpp:637
+"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird."
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Verzeichnis Anti-Muster:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1597,14 +1870,13 @@
 msgstr ""
 "Muster der auszuschließenden Verzeichnisse. \n"
 "Jokerzeichen: '*' und '?'\n"
-"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt "
-"wird."
-
-#: optiondialog.cpp:648
+"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird."
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr ".cvsignore benützen"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1612,36 +1884,35 @@
 "Erweitert die Anti-Muster um alles, das auch CVS ignorieren würde.\n"
 "Mit Hilfe der lokalen \".cvsignore\"-Dateien ist dies Verzeichnis-spezifisch."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Finde versteckte Dateien und Verzeichnisse"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Findet versteckte Dateien und Verzeichnisse."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Findet versteckte Dateien und Verzeichnisse, die mit '.' beginnen."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Folge Datei-Verknüpfungen"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Falls aktiv werden die Dateien auf die die Verknüpfung verweist, "
-"verglichen.\n"
+"Falls aktiv werden die Dateien auf die die Verknüpfung verweist, verglichen.\n"
 "Sonst nur die Verknüpfungen selbst."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Folge Verzeichnis-Verküpfungen"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1650,57 +1921,72 @@
 "verglichen.\n"
 "Sonst nur die Verknüpfungen."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Nur Unterschiede anzeigen"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Identische Dateien und Verzeichnisse werden nicht in die Liste aufgenommen."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "Groß-/kleinschreibung bei Dateinamen"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"Der Verzeichnisvergleich vergleicht Dateien und Verzeichnisse wenn deren Namen gleich sind.\n"
+"Aktivieren Sie diese Einstellung, wenn es auch auf Groß-/Kleinschreibung im Dateinamen ankommt. (Voreinstellung für Windows ist aus, sonst ein.)"
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Dateivergleichsmethode"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Binärvergleich"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Binärvergleich aller Dateien (Voreinstellung)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Vollständige Analyse"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-"Vollständige Analyse durchführen und Statistik-Information in eigenen Spalten anzeigen.\n"
+"Vollständige Analyse durchführen und Statistik-Information in eigenen Spalten "
+"anzeigen.\n"
 "(Langsamer als Binärvergleich, viel langsamer bei Binärdateien.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Vertraue dem Änderungsdatum (unsicher)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"Annahme, dass Dateien identisch sind, wenn das Änderungsdatum und die "
-"Größe übereinstimmen.\n"
+"Annahme, dass Dateien identisch sind, wenn das Änderungsdatum und die Größe "
+"übereinstimmen.\n"
 "Hilfreich bei großen Verzeichnissen oder langsamen Verbindungen."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Vertraue der Größe (unsicher)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
@@ -1710,11 +1996,11 @@
 "Hilfreich bei großen Verzeichnissen oder langsamen Verbindungen, wenn das "
 "Veränderungsdatum beim Kopieren modifiziert wird."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Verzeichnisse synchronisieren"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1725,11 +2011,24 @@
 "Funktioniert nur, wenn zwei Verzeichnisse verglichen werden, und kein Ziel "
 "angegeben wird."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Dateien mit \"Weissen\" Unterschieden als gleich markieren"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Wenn sich Dateien nur durch weisse Zeichen unterscheiden, sollen diese wie "
+"gleiche Dateien behandelt werden.\n"
+" Dies ist nur wählbar, wenn vollständige Analyse ausgewählt ist."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Neuere Datei statt Zusammenführung auswählen (unsicher)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1737,16 +2036,15 @@
 msgstr ""
 "Falls aktiv würde bei unterschiedlichen Dateien immer die neuere Datei als "
 "Aktion vorgeschlagen werden.\n"
-"(Nicht empfehlenswert, wenn beide Versionen Änderungen enthalten "
-"könnten.)\n"
+"(Nicht empfehlenswert, wenn beide Versionen Änderungen enthalten könnten.)\n"
 "Falls inaktiv wird eine Zusammenführung vorgeschlagen.\n"
 "Nur beim Vergleich zweier Verzeichnisse wirksam."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Sicherungskopie erstellen (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1754,19 +2052,15 @@
 "Wenn eine Datei über eine existierende Datei gespeichert würde, wird die \n"
 "bestehende Datei mit der Erweiterung '.orig' umbenannt und nicht gelöscht."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Regionale Einstellungen"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Sprache (Neustart erforderlich)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Automatisch"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1774,7 +2068,80 @@
 "Sprache für das Benutzerinterface wählen oder \"Auto\".\n"
 "Diese Änderung wird erst nach Beendigung und Neustart von KDiff3 wirksam."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Die gleiche Kodierung für alles benützen:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Durch Aktivierung dieser Option können alle Kodierungen durch Setzen der ersten "
+"eingestellt werden. Dies auszuschalten erlaubt unterschiedliche individuelle "
+"Einstellungen."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Hinweis: Die lokale Kodierung ist "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Dateikodierung für A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Dateikodierung für B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Dateikodierung für C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Dateikodierung für Zusammenführung und Speichern:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Dateikodierung für Präprozessor Dateien:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Rechts-Nach-Links Sprache"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Einige Sprachen werden von rechts nach links gelesen.\n"
+"Diese Einstellung ändert die Anzeige und den Editor entsprechend."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Integration"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Einstellungen für Integration"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Ignorierbare Kommandozeilenoptionen:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Liste der Kommandozeilenoptionen die ignoriert werden sollen, wenn KDiff3\n"
+"von anderen Werkzeugen aufgerufen wird.\n"
+"Mehrere Werte können mit Trennzeichen ';' angegeben werden.\n"
+"Dies wird die Fehlermeldung \"Unbekannte Option\" beim Start unterdrücken."
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1788,36 +2155,35 @@
 "Weil dieses Programm nicht mit solchen Schriften umgehen kann,\n"
 "werden beim Editieren wahrscheinlich Probleme auftreten. \n"
 "\n"
-"Wollen Sie mit dieser Schrift fortfahren oder doch eine andere Schrift "
-"wählen?"
-
-#: optiondialog.cpp:829
+"Wollen Sie mit dieser Schrift fortfahren oder doch eine andere Schrift wählen?"
+
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Inkompatible Schriftart"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Weiter auf eigenes Risiko"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Andere Schrift wählen"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr ""
 "Dies führt zum zurücksetzen aller Einstellungen, nicht nur des aktuellen "
 "Themas."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Vorverarbeitungsbefehl: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid "The following option(s) you selected might change data:\n"
 msgstr "Die folgende(n) aktive(n) Einstellung(en) könnten Daten verändern.\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1827,162 +2193,301 @@
 "Wahrscheinlich ist dies während der Dateizusammenführung nicht erwünscht.\n"
 "Wollen Sie diese Einstellungen deaktivieren oder beibehalten und fortfahren?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr "Einstellung ist unsicher bei Dateizusammenführungen"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Verwendung dieser Option während der Zusammenführung"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Unsichere Einstellung deaktivieren"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Lade A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Lade B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Vergleiche: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Zeilenvergleich: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Lade C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Vergleiche: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Vergleiche: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Zeilenvergleiche: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Zeilenvergleich: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
 "Einige Quelldateien scheinen keine reinen Textdateien zu sein.\n"
-"Beachten Sie, dass KDiff3 nicht für den Binärdatenvergleich konzipiert "
-"ist.\n"
+"Beachten Sie, dass KDiff3 nicht für den Binärdatenvergleich konzipiert ist.\n"
 "Machen Sie auf eigenes Risiko weiter."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Abbrechen"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Dateien öffnen..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fehler beim Öffnen der Datei"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Auswahl wird ausgeschnitten..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Auswahl wird in Zwischenablage kopiert..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Inhalt der Zwischenablage wird eingefügt..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Speichern && Fortsetzen"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Fortsetzen ohne zu Speichern"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Suche abgeschlossen."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Suche abgeschlossen"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr "Zeilen, die ausgerichtet werden sollen anklicken."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr "In keinem der Unterschiedsfenster ist eine Auswahl markiert."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Fehler beim Hinzufügen einer manuellen Ausrichtung."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 einrichten"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "V&erzeichnis"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Zusammenführaktion für aktuelles Element"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Synchronisationsaktion für aktuelles Element"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Navigation"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Vergleichsansicht"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Zusammenführen"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Fenster"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Basis):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Datei..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Verzeichnis..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Optional):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Tausche/Kopiere Namen ..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Tausche"
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Ziel (optional):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Einrichten..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Abbrechen"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Dateien öffnen..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Fehler beim Öffnen der Datei"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Auswahl wird ausgeschnitten..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Auswahl wird in Zwischenablage kopiert..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Inhalt der Zwischenablage wird eingefügt..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Speichern && Fortsetzen"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Fortsetzen ohne zu Speichern"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Suche abgeschlossen."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Suche abgeschlossen"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "KDiff3 einrichten"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "V&erzeichnis"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Zusammenführaktion für aktuelles Element"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Synchronisationsaktion für aktuelles Element"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Navigation"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "Vergleichsansicht"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Zusammenführen"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Fenster"
-
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Suchtext:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Groß/Kleinschreibung beachten"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Suche in A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Suche in B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Suche in C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Suche im Ergebnis"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Suchen"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "keine Auswahl"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Manuelle Ausrichtung"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Testhilfe für reguläre Ausdrücke"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Beispielzeile:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr "Kopieren Sie eine Testzeile aus Ihrer Datei."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Übereinstimmungsergebnis:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "Beispielzeile für History-Startzeile (mit Kommentarzeichen):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopieren Sie eine History-Startzeile aus Ihren Dateien,\n"
+"inklusive der Kommentarzeichen am Anfang der Zeile."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "History-Sortierschlüsselreihenfolge:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr "Historyeintragbeispielstartzeile (ohne Kommentarzeichen):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopieren Sie eine Historyeintragsstartzeile aus Ihren Dateien,\n"
+"wobei Sie hier die Kommentarzeichen am Anfang weglassen."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Sortierschlüsselergebnis:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "OK"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Übereinstimmung erfolgreich."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Übereinstimmung fehlgeschlagen."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr "Öffnende und schließende runde Klammern in regulärem Ausdruck passen nicht zusammen."
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/el.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2539 @@
+# translation of kdiff3.po to Greek
+#
+# Spiros Georgaras <sngeorgaras@otenet.gr>, 2005, 2006.
+# Toussis Manolis <manolis@koppermind.homelinux.org>, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-03-27 18:31+0300\n"
+"Last-Translator: Spiros Georgaras <sngeorgaras@otenet.gr>\n"
+"Language-Team: Greek <i18ngr@lists.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "ΣπÏÏος ΓεωÏγαÏάς,ΤοÏσης Μανώλης"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "sngeorgaras@otenet.gr,manolis@koppermind.homelinux.org"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "Η εγγÏαφή δεδομένων στο Ï€ÏοσωÏινό αÏχείο απέτυχε."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Από το Ï€ÏόχειÏο"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"Η Ï€ÏοεπεξεÏγασία απέτυχε. Ελέγξτε αυτήν την εντολή:\n"
+"\n"
+"  %1\n"
+"\n"
+"Η εντολή Ï€ÏοεπεξεÏγασίας θα απενεÏγοποιηθεί τώÏα."
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"Η δυνατότητα Ï€ÏοεπεξεÏγασίας αντιστοίχησης γÏαμμών απέτυχε. Ελέγξτε αυτήν την "
+"εντολή:\n"
+"\n"
+"  %1\n"
+"\n"
+"Η δυνατότητα Ï€ÏοεπεξεÏγασίας αντιστοίχησης γÏαμμών θα απενεÏγοποιηθεί τώÏα."
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Σφάλμα απώλειας δεδομένων:\n"
+"Αν αναπαÏάγεται το σφάλμα, παÏακαλώ επικοινωνήστε με το συγγÏαφέα.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "ΣοβαÏÏŒ εσωτεÏικό σφάλμα"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Πάνω γÏαμμή"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Τέλος"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "Ανάμιξη δεσμών και κανονικών αÏχείων."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Δεσμός: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Μέγεθος. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "ΗμεÏομηνία & μέγεθος: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "Η δημιουÏγία του Ï€ÏοσωÏÎ¹Î½Î¿Ï Î±Î½Ï„Î¹Î³Ïάφου για το %1 απέτυχε."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Το άνοιγμα του %1 απέτυχε."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "ΣÏγκÏιση αÏχείου..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "Σφάλμα ανάγνωσης από το %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Όνομα"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "ΛειτουÏγία"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Κατάσταση"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Μη λυμένο"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Λυμένο"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Μη κενό"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Κενό"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+"Αυτή τη στιγμή κάνετε μια συγχώνευση καταλόγου. Είστε σίγουÏοι ότι επιθυμείτε "
+"την εγκατάλειψη της συγχώνευσης και την επανασάÏωση του καταλόγου;"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "ΕπανασάÏωση"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "Συνέχεια συγχώνευσης"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Το άνοιγμα των καταλόγων απέτυχε:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ο κατάλογος Α \"%1\" δεν υπάÏχει ή δεν είναι κατάλογος.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ο κατάλογος Î’ \"%1\" δεν υπάÏχει ή δεν είναι κατάλογος.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Ο κατάλογος Γ \"%1\" δεν υπάÏχει ή δεν είναι κατάλογος.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Σφάλμα ανοίγματος Καταλόγου"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"Ο κατάλογος Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î´ÎµÎ½ Ï€Ïέπει να είναι ίδιος με τους Α ή Î’ όταν "
+"συγχωνεÏονται Ï„Ïεις κατάλογοι.\n"
+"Κάντε έναν έλεγχο ξανά Ï€Ïιν συνεχίσετε."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "ΠÏοειδοποίηση παÏαμέτÏου"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "ΣάÏωση καταλόγων..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Ανάγνωση καταλόγου Α"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Ανάγνωση καταλόγου Β"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Ανάγνωση καταλόγου Γ"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "ΜεÏικοί υποκατάλογοι δεν είναι αναγνώσιμοι στο"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "Ελέγξτε τις άδειες χÏήσης των υποκαταλόγων."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Έτοιμο."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "Κατάσταση σÏγκÏισης καταλόγου"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "ΑÏιθμός υποκαταλόγων:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "ΑÏιθμός ίδιων αÏχείων:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "ΑÏιθμός διαφοÏετικών αÏχείων:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "ΑÏιθμός χειÏοκίνητων συγχωνεÏσεων:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "Αυτό επηÏεάζει όλες τις συγχωνεÏσεις."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "Αλλαγή όλων των λειτουÏγιών συγχώνευσης"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "Συνέ&χεια"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "ΕπεξεÏγασία "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "ΠÏος υλοποίηση."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "ΑντιγÏαφή του Α στο Î’"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "ΑντιγÏαφή του Î’ στο Α"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "ΔιαγÏαφή του Α"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "ΔιαγÏαφή του Î’"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "ΔιαγÏαφή των Α & Î’"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "Συγχώνευση στο Α"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "Συγχώνευση στο Β"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "Συγχώνευση στα Α & Β"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "ΔιαγÏαφή (αν υπάÏχει)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Συγχώνευση"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "Συγχώνευση (χειÏοκίνητη)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Σφάλμα: ΣÏγκÏουση Ï„Ïπου αÏχείων"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "Σφάλμα: Οι ημεÏομηνίες είναι ίδιες αλλά τα αÏχεία όχι."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "Αυτή η λειτουÏγία δεν είναι δυνατή αυτή τη στιγμή."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "Μη δυνατή λειτουÏγία"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"Αυτό δε θα έπÏεπε να συμβεί ποτέ: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"Αν μποÏείτε να το αναπαÏάγετε, παÏακαλώ επικοινωνήστε με το συγγÏαφέα του "
+"Ï€ÏογÏάμματος."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Σφάλμα Ï€ÏογÏάμματος"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Ένα σφάλμα παÏουσιάστηκε κατά την αντιγÏαφή.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Σφάλμα συγχώνευσης"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Σφάλμα."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Έγινε."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Δεν αποθηκεÏτηκε."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "Άγνωστη λειτουÏγία συγχώνευσης. (Δε θα έπÏεπε να συμβεί ποτέ!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "Άγνωστη λειτουÏγία συγχώνευσης."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"Η συγχώνευση είναι έτοιμη να ξεκινήσει.\n"
+"\n"
+"Επιλέξτε το \"Εκτέλεση\" αν διαβάσατε αÏκετές οδηγίες και γνωÏίζετε τι κάνετε.\n"
+"Επιλέγοντας την \"Εξομοίωση\" θα γίνει αναφοÏά του τι θα συμβεί.\n"
+"\n"
+"Σημειώστε ότι το αυτό το Ï€ÏόγÏαμμα βÏίσκεται ακόμη σε κατάσταση beta και δεν "
+"υπάÏχει ΕΓΓΥΗΣΗ οÏτως ή άλλως! Κάντε αντίγÏαφα ασφαλείας για τα σημαντικά "
+"δεδομένα σας!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "Εκκίνηση συγχώνευσης"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "Εκτέλεση"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "Εξομοίωση"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"Το τονισμένο αντικείμενο έχει διαφοÏετικό Ï„Ïπο σε διαφοÏετικοÏÏ‚ καταλόγους. "
+"Επιλέξτε τι θέλετε να κάνετε."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Οι ημεÏομηνίες Ï„Ïοποποίησης των αÏχείων είναι ίδιες αλλά τα αÏχεία δεν είναι. "
+"Επιλέξτε τι θέλετε να κάνετε."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Αυτή η λειτουÏγία δεν είναι αυτή τη στιγμή δυνατή γιατί η συγχώνευση καταλόγου "
+"εκτελείται αυτήν τη στιγμή."
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"ΥπήÏξε ένα σφάλμα στο τελευταίο βήμα.\n"
+"Επιθυμείτε τη συνέχεια με το αντικείμενο που Ï€Ïοκάλεσε το σφάλμα ή επιθυμείτε "
+"την παÏάλειψή του;"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "Συνέχεια συγχώνευσης μετά από ένα σφάλμα"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "Συνέχεια με το τελευταίο αντικείμενο"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "ΠαÏάλειψη αντικειμένου"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "ΠαÏαλείφθηκε."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "Σε Ï€Ïόοδο..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "Η λειτουÏγία συγχώνευσης ολοκληÏώθηκε."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "Η συγχώνευση ολοκληÏώθηκε."
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+"Η εξομοίωση συγχώνευσης ολοκληÏώθηκε: Ελέγξτε αν συμφωνείτε με τις "
+"Ï€Ïοτεινόμενες ενέÏγειες."
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"ΠαÏουσιάστηκε ένα σφάλμα. Πατήστε το Εντάξει για να δείτε λεπτομεÏείς "
+"πληÏοφοÏίες.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+"Σφάλμα: Κατά τη διαγÏαφή του %1: Η δημιουÏγία του αντιγÏάφου ασφαλείας απέτυχε."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "αναδÏομική διαγÏαφή καταλόγου( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "διαγÏαφή ( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+"Σφάλμα: η διαγÏαφή καταλόγου απέτυχε κατά την Ï€Ïοσπάθεια ανάγνωσης του "
+"καταλόγου."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Σφάλμα: η λειτουÏγία rmdir( %1 ) απέτυχε."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Σφάλμα: η διαγÏαφή απέτυχε."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "χειÏοκίνητη συγχώνευση( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Σημείωση: Μετά από μία χειÏοκίνητη συγχώνευση ο χÏήστης θα Ï€Ïέπει να "
+"συνεχίσει πατώντας F7."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+"Σφάλμα: η αντιγÏαφή ( %1 -> %2 ) απέτυχε. Η διαγÏαφή του υπάÏχοντος Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï "
+"απέτυχε."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "ΑντιγÏαφή δεσμοÏ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+"Σφάλμα: η αντιγÏαφή Î´ÎµÏƒÎ¼Î¿Ï Î±Ï€Î­Ï„Ï…Ï‡Îµ: Οι απομακÏυσμένοι δεσμοί δεν υποστηÏίζονται "
+"ακόμα."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "Σφάλμα: η αντιγÏαφή Î´ÎµÏƒÎ¼Î¿Ï Î±Ï€Î­Ï„Ï…Ï‡Îµ."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "αντιγÏαφή ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+"Σφάλμα κατά την μετονομασία( %1 -> %2 ): Αδυναμία διαγÏαφής του υπάÏχοντος "
+"Ï€ÏοοÏισμοÏ."
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "μετονομασία ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Σφάλμα: Η μετονομασία απέτυχε."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+"Σφάλμα κατά τη δημιουÏγία του καταλόγου %1. ΑδÏνατη η διαγÏαφή υπάÏχοντος "
+"αÏχείου."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "ΔημιουÏγία καταλόγου( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Σφάλμα κατά τη δημιουÏγία του καταλόγου."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "ΠÏοοÏ."
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Κατ"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "ΤÏπος"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Μέγεθος"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "Ιδιοτ"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Τελευταία Ï„Ïοποποίηση"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "Δεσμός-Ï€ÏοοÏισμός"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "μη διαθέσιμο"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (ΠÏοοÏ): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (Βάση): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (ΠÏοοÏ): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "Γ (ΠÏοοÏ): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "ΠÏοοÏ:"
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Αποθήκευση κατάστασης συγχώνευσης καταλόγου ως..."
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "ΈναÏξη/συνέχεια συγχώνευσης καταλόγου"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "Εκτέλεση της λειτουÏγίας για το Ï„Ïέχον αντικείμενο"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "ΣÏγκÏιση του επιλεγμένου αÏχείου"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Συγχώνευση του επιλεγμένου αÏχείου"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "Αναδίπλωση όλων των υποκαταλόγων"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "Ανάπτυξη όλων των υποκαταλόγων"
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Αποθήκευση κατάστασης συγχώνευσης καταλόγου..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "ΦόÏτωμα κατάστασης συγχώνευσης καταλόγου..."
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "Επιλογή του Α για όλα τα αντικείμενα"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "Επιλογή του Β για όλα τα αντικείμενα"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "Επιλογή του Γ για Όλα τα αντικείμενα"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "ΛειτουÏγία αυτόματης επιλογής για όλα τα αντικείμενα"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "Καμία λειτουÏγία για όλα τα αντικείμενα"
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "ΣυγχÏονισμός καταλόγων"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "ΑντιγÏαφή νεότεÏων αÏχείων αντί της συγχώνευσης"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Εμφάνιση ταυτόσημων αÏχείων"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Εμφάνιση διαφοÏετικών αÏχείων"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Εμφάνιση αÏχείων μόνο στο Α"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Εμφάνιση αÏχείων μόνο στο Î’"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Εμφάνιση αÏχείων μόνο στο Γ"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "ΣÏγκÏιση άμεσα επιλεγμένων αÏχείων"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Συγχώνευση άμεσα επιλεγμένων αÏχείων"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Îα μη γίνει τίποτα"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "Α"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "Î’"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "Γ"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "ΔιαγÏαφή των A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Συγχώνευση σε A && B"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"Αποτυχία διαγÏαφής ενός παλιότεÏου αντιγÏάφου ασφαλείας, κατά τη δημιουÏγία "
+"αντιγÏάφου ασφαλείας. \n"
+"Όνομα αÏχείου: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"Αποτυχία μετονομασίας, κατά τη δημιουÏγία αντιγÏάφου ασφαλείας. \n"
+"Ονόματα αÏχείων: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "Ανάκτηση κατάστασης αÏχείου: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "Ανάγνωση αÏχείου: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "ΕγγÏαφή αÏχείου: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Τέλος μνήμης"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "ΔημιουÏγία καταλόγου: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "ΑφαίÏεση καταλόγου: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "ΑφαίÏεση αÏχείου: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "ΔημιουÏγία ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï Î´ÎµÏƒÎ¼Î¿Ï: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Μετονομασία αÏχείου: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "ΑντιγÏαφή αÏχείου: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"Σφάλμα κατά την αντιγÏαφή: Το άνοιγμα του αÏχείου για ανάγνωση απέτυχε. Όνομα "
+"αÏχείου: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Σφάλμα κατά την αντιγÏαφή: Το άνοιγμα του αÏχείου για εγγÏαφή απέτυχε. Όνομα "
+"αÏχείου: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr "Σφάλμα κατά την αντιγÏαφή: Η ανάγνωση απέτυχε. Όνομα αÏχείου: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr "Σφάλμα κατά την αντιγÏαφή: Η εγγÏαφή απέτυχε. Όνομα αÏχείου: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "Ανάγνωση καταλόγου: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "Εμφάνιση καταλόγου: %1"
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "ΤÏέχουσα ÏÏθμιση:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Σφάλμα ÏÏθμισης επιλογής:"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "ΧÏησιμοποιήθηκε η επιλογή --auto, αλλά δεν καθοÏίστηκε αÏχείο εξόδου."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "Η επιλογή --auto αγνοήθηκε για τη σÏγκÏιση καταλόγων."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "Η αποθήκευση απέτυχε."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "Το άνοιγμα αυτών των αÏχείων απέτυχε:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Σφάλμα ανοίγματος αÏχείου"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "Ανοίγει έγγÏαφα για σÏγκÏιση..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+"ΑποθηκεÏει το αποτέλεσμα της συγχώνευσης. Όλες οι συγκÏοÏσεις θα Ï€Ïέπει να "
+"έχουν επιλυθεί!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "ΑποθηκεÏει το Ï„Ïέχον έγγÏαφο ως..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "ΕκτÏπωση των διαφοÏών"
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Κλείνει την εφαÏμογή"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Αποκοπή του επιλεγμένου τμήματος και τοποθέτηση στο Ï€ÏόχειÏο"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "ΑντιγÏαφή του επιλεγμένου τμήματος στο Ï€ÏόχειÏο"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Επικόλληση των πεÏιεχομένων του Ï€ÏόχειÏου στην Ï„Ïέχουσα θέση"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Επιλογή όλων στο Ï„Ïέχον παÏάθυÏο"
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Αναζήτηση για μια συμβολοσειÏά"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Αναζήτηση ξανά για μια συμβολοσειÏά"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "ΕνεÏγοποίηση/απενεÏγοποίηση της γÏαμμής εÏγαλείων"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "ΕνεÏγοποιεί/απενεÏγοποιεί τη γÏαμμή κατάστασης"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "ΡÏθμιση του KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "Μετάβαση στη Ï„Ïέχουσα διαφοÏά"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "Μετάβαση στη Ï€Ïώτη διαφοÏά"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Μετάβαση στην τελευταία διαφοÏά"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(ΠαÏάλειψη των διαφοÏών στα κενά όταν είναι απενεÏγοποιημένη η \"Εμφάνιση "
+"κενών\")"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Μη παÏάλειψη των διαφοÏών στα κενά ακόμη και αν είναι απενεÏγοποιημένη η "
+"\"Εμφάνιση κενών\")"
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "Μετάβαση στη Ï€ÏοηγοÏμενη διαφοÏά"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "Μετάβαση στην επόμενη διαφοÏά"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "Μετάβαση στην Ï€ÏοηγοÏμενη σÏγκÏουση"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "Μετάβαση στην επόμενη σÏγκÏουση"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "Μετάβαση στην Ï€ÏοηγοÏμενη μη λυμένη σÏγκÏουση"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "Μετάβαση στην επόμενη μη λυμένη σÏγκÏουση"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "Επιλογή γÏαμμής(ών) από το Α"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "Επιλογή γÏαμμής(ών) από το Î’"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "Επιλογή γÏαμμής(ών) από το Γ"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+"Αυτόματη μετάβαση στην επόμενη μη λυμένη σÏγκÏουση μετά την επιλογή πηγής"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "Εμφάνιση κενών && χαÏακτήÏων οÏιοθέτησης για διαφοÏές"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Εμφάνιση κενών"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Εμφάνιση αÏιθμών γÏαμμής"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "Επιλογή Ï€Î±Î½Ï„Î¿Ï Ï„Î¿Ï… Α"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "Επιλογή Ï€Î±Î½Ï„Î¿Ï Ï„Î¿Ï… Î’"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "Επιλογή Ï€Î±Î½Ï„Î¿Ï Ï„Î¿ Γ"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Επιλογή του Α για όλες τις μη λυμένες διαφοÏές"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Επιλογή του Î’ για όλες τις μη λυμένες διαφοÏές"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Επιλογή του Γ για όλες τις μη λυμένες διαφοÏές"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Επιλογή του Α για όλες τις μη λυμένες διαφοÏές κενών"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Επιλογή του Î’ για όλες τις μη λυμένες διαφοÏές κενών"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Επιλογή του Γ για όλες τις μη λυμένες διαφοÏές κενών"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Αυτόματη επίλυση απλών συγκÏοÏσεων"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "ΟÏισμός διαφοÏών στις συγκÏοÏσεις"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Εκτέλεση κανονικής έκφÏασης αυτόματης συγχώνευσης"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Αυτόματη επίλυση συγκÏοÏσεων ιστοÏικοÏ"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "ΔιαίÏεση διαφοÏών στην επιλογή"
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Εμφάνιση του παÏαθÏÏου Α"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Εμφάνιση του παÏαθÏÏου Î’"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Εμφάνιση του παÏαθÏÏου Γ"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "Εστίαση στο επόμενο παÏάθυÏο"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Κανονική επισκόπηση"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Επισκόπηση Α με το Β"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Επισκόπηση Α με το Γ"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Επισκόπηση Β με το Γ"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Αναδίπλωση λέξεων στα παÏάθυÏα διαφοÏάς"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "ΠÏοσθήκη χειÏοκίνητης στοίχισης διαφοÏών"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "ΚαθαÏισμός όλων των χειÏοκίνητων στοιχίσεων διαφοÏών"
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "Εστίαση στο Ï€ÏοηγοÏμενο παÏάθυÏο"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "Εναλλαγή Ï€ÏÎ¿ÏƒÎ±Î½Î±Ï„Î¿Î»Î¹ÏƒÎ¼Î¿Ï Î´Î¹Î±Î¯Ïεσης"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "ΔιαίÏεση Ï€Ïοβολής καταλόγου && κειμένου"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "Εναλλαγή Î¼ÎµÏ„Î±Î¾Ï Ï€Ïοβολής καταλόγου && κειμένου"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "Το αποτέλεσμα της συγχώνευσης δεν έχει αποθηκευτεί."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Αποθήκευση && έξοδος"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Έξοδος χωÏίς αποθήκευση"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "Αποτυχία αποθήκευσης του αποτελέσματος συγχώνευσης."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+"Αυτή τη στιγμή εκτελείται μια συγχώνευση καταλόγου. Είστε σίγουÏοι ότι "
+"επιθυμείτε να την εγκαταλείψετε;"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Αποθήκευση αÏχείου..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Αποθήκευση αÏχείου με ένα νέο όνομα..."
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "ΕκτÏπωση..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Η εκτÏπωση εγκαταλείφθηκε."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Επιλογή"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Η εκτÏπωση ολοκληÏώθηκε."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Έξοδος..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Εναλλαγή γÏαμμής εÏγαλείων..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Εναλλαγή της γÏαμμής κατάστασης..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "Δε βÏέθηκαν αÏχεία για σÏγκÏιση."
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"Αδυναμία εÏÏεσης του τμήματος μας!\n"
+"Αυτό συνήθως συμβαίνει εξαιτίας ενός Ï€Ïοβλήματος εγκατάστασης. ΠαÏακαλώ "
+"διαβάστε το αÏχείο README στο πακέτου του πηγαίου κώδικα για λεπτομέÏειες."
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "ΕÏγαλείο για σÏγκÏιση και συγχώνευση αÏχείων και καταλόγων"
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "Συγχώνευση της εισόδου."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr "Άμεσο αÏχείο βάση. Για συμβατότητα με οÏισμένα εÏγαλεία."
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "ΑÏχείο εξόδου. Εννοείται η επιλογή -m. Π.χ.: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "ΑÏχείο εξόδου, και πάλι. (Για συμβατότητα με οÏισμένα εÏγαλεία.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+"ΧωÏίς γÏαφικό πεÏιβάλλον αν όλες οι συγκÏοÏσεις μποÏοÏν να επιλυθοÏν αυτόματα. "
+"(Απαιτεί το -o file)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "Îα μη γίνει αυτόματη επίλυση συγκÏοÏσεων. (Για συμβατότητα...)"
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "ΟÏατή αντικατάσταση ονόματος για το αÏχείο εισόδου 1 (βάση)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "ΟÏατή αντικατάσταση ονόματος για το αÏχείο εισόδου 2."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "ΟÏατή αντικατάσταση ονόματος για το αÏχείο εισόδου 3."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+"Εναλλακτική οÏατή αντικατάσταση ονόματος. Δώστε το μία φοÏά για κάθε είσοδο."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Αντικατάσταση μίας ÏÏθμισης επιλογής. ΧÏήση μία φοÏά για κάθε ÏÏθμιση. Π.χ.: "
+"--cs \"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Εμφάνιση λίστα Ïυθμίσεων και Ï„Ïεχουσών τιμών."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "ΧÏήση ενός διαφοÏÎµÏ„Î¹ÎºÎ¿Ï Î±Ïχείου Ïυθμίσεων."
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "αÏχείο1 για άνοιγμα (βάση, αν δεν καθοÏιστεί μέσω του --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "αÏχείο2 για άνοιγμα"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "αÏχείο3 για άνοιγμα"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Αγνόηση. (καθοÏισμός από χÏήστη.)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+"+ Πολλές ευχαÏιστίες σε όσους ανέφεÏαν σφάλματα και συνεισέφεÏαν ιδέες!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"ΑÏιθμός εναπομείναντων μη λυμένων συγκÏοÏσεων: %1 ( %2 από τις οποίες αφοÏοÏν "
+"κενά)"
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"Η έξοδος έχει Ï„Ïοποποιηθεί.\n"
+"Αν συνεχίσετε οι αλλαγές σας θα χαθοÏν."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "Όλα τα αÏχεία εισόδου είναι δυαδικά ίσα."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "Όλα τα αÏχεία εισόδου πεÏιέχουν το ίδιο κείμενο."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"Τα αÏχεία Α και Î’ είναι δυαδικά ίσα.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"Τα αÏχεία Α και Î’ πεÏιέχουν το ίδιο κείμενο. \n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"Τα αÏχεία Α και Γ είναι δυαδικά ίσα.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"Τα αÏχεία Α και Γ πεÏιέχουν το ίδιο κείμενο. \n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"Τα αÏχεία Î’ και Γ είναι δυαδικά ίσα.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"Τα αÏχεία Î’ και Γ πεÏιέχουν το ίδιο κείμενο. \n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "Συνολικός αÏιθμός συγκÏοÏσεων: "
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"ΑÏιθμός αυτόματα λυμένων συγκÏοÏσεων: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"ΑÏιθμός μη λυμένων συγκÏοÏσεων: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "ΣυγκÏοÏσεις"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<ΧωÏίς γÏαμμή πηγής>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<ΣÏγκÏουση συγχώνευσης (μόνο κενών)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<ΣÏγκÏουση συγχώνευσης>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Έξοδος"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[ΤÏοποποιημένο]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"Δεν έχουν επιλυθεί ακόμη όλες οι συγκÏοÏσεις.\n"
+"Το αÏχείο δεν αποθηκεÏτηκε.\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "ΣυγκÏοÏσεις που απομένουν"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+"\n"
+"\n"
+"Η δημιουÏγία αντιγÏάφου ασφαλείας απέτυχε. Το αÏχείο δεν αποθηκεÏτηκε."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "Σφάλμα εγγÏαφής αÏχείου"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "Σφάλμα κατά την εγγÏαφή."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "ΤÏοποποιήστε αυτό αν οι μη ASCII χαÏακτήÏες δεν εμφανίζονται σωστά."
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "ΓÏαμματοσειÏά επεξεÏγαστή & εξόδου διαφοÏών"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "Πλάγια γÏαφή για διαφοÏές"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"Επιλέγει την πλάγια έκδοση της γÏαμματοσειÏάς για τις διαφοÏές.\n"
+"Αν η γÏαμματοσειÏά δεν υποστηÏίζει τους πλάγιους χαÏακτήÏες, τότε αυτό δεν έχει "
+"αποτέλεσμα."
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "ΧÏώμα"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Ρυθμίσεις χÏωμάτων"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "ΠÏοβολές επεξεÏγαστή και διαφοÏών:"
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "ΧÏώμα Ï€Ïοσκηνίου:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "ΧÏώμα φόντου:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "ΧÏώμα φόντου διαφοÏών:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "ΧÏώμα Α:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "ΧÏώμα Î’:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "ΧÏώμα Γ:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "ΧÏώμα σÏγκÏουσης:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "ΤÏέχον εÏÏος χÏώματος φόντου:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "ΤÏέχον εÏÏος χÏώματος φόντου διαφοÏών:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "ΧÏώμα για χειÏοκίνητα επιλεγμένα εÏÏη διαφοÏών:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "ΠÏοβολή σÏγκÏισης καταλόγου:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "ΧÏώμα νεότεÏου αÏχείου:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+"Η Ï„Ïοποποίηση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏώματος θα έχει Î¹ÏƒÏ‡Ï ÎºÎ±Ï„Î¬ την επόμενη σÏγκÏιση "
+"καταλόγου."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "ΧÏώμα παλαιότεÏου αÏχείου:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "ΧÏώμα μέσου αÏχείου:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "ΧÏώμα αÏχείων που λείπουν:"
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "ΕπεξεÏγαστής"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "ΣυμπεÏιφοÏά επεξεÏγαστή"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "Το Tab εισάγει κενά"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+"ΕνεÏγοποιημένο: Πατώντας το tab εισάγεται ο κατάλληλος αÏιθμός κενών.\n"
+"ΑπενεÏγοποιημένο: Θα εισαχθεί ο χαÏακτήÏας στηλοθέτη (tab)."
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Μέγεθος στηλοθέτη:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "Αυτόματη χÏήση εσοχών"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+"ΕνεÏγοποιημένο: Η εσοχή της Ï€ÏοηγοÏμενης γÏαμμής θα χÏησιμοποιηθεί για μια νέα "
+"γÏαμμή.\n"
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "Αυτόματη αντιγÏαφή επιλογής"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+"ΕνεÏγοποιημένο: Οποιαδήποτε επιλογή γÏάφεται άμεσα στο Ï€ÏόχειÏο. "
+"ΑπενεÏγοποιημένο: Θα Ï€Ïέπει να την αντιγÏάψετε εσείς Ï€.χ. μέσω του Ctrl-C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Στυλ τέλους γÏαμμής:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+"ΚαθοÏίζει τον Ï„Ïπο τέλους γÏαμμής όταν αποθηκεÏεται ένα επεξεÏγασμένο αÏχείο.\n"
+"DOS/Windows: CR+LF; UNIX: LF; με τα CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr "ΔιαφοÏές και συγχώνευση"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Ρυθμίσεις διαφοÏών και συγχώνευσης"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "ΔιατήÏηση επαναφοÏάς κεφαλής"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+"Εμφανίζει τους χαÏακτήÏες επαναφοÏάς κεφαλής '\\r' αν υπάÏχουν.\n"
+"Βοηθάει στη σÏγκÏιση αÏχείων που Ï„Ïοποποιήθηκαν σε διαφοÏετικά λειτουÏγικά "
+"συστήματα."
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "ΠαÏάβλεψη αÏιθμών"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"ΠαÏάβλεψη αÏιθμών κατά τη φάση ταιÏιάσματος γÏαμμών. (Αντίστοιχο με την "
+"παÏάβλεψη κενών).\n"
+"ΜποÏεί να φανεί χÏήσιμο κατά τη σÏγκÏιση αÏχείων με αÏιθμητικά δεδομένα."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "ΠαÏάβλεψη σχολίων C/C++"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "ΘεώÏηση των σχολίων C/C++ σαν κενά."
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "Αγνόηση διάκÏισης πεζών/κεφαλαίων"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr "ΧειÏισμός των διαφοÏών σε πεζά/κεφαλαία ως αλλαγές κενών. ('α'<=>'Α')"
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "Εντολή Ï€ÏοεπεξεÏγαστή:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+"ΠÏοεπεξεÏγασία οÏισμένη από το χÏήστη. (Δείτε τα εγχειÏίδια για λεπτομέÏειες)."
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "Εντολή Ï€ÏοεπεξεÏγαστή για ταίÏιασμα γÏαμμών:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+"Ο Ï€ÏοεπεξεÏγαστής χÏησιμοποιείται μόνο κατά το ταίÏιασμα γÏαμμών.\n"
+"(Δείτε τα εγχειÏίδια για λεπτομέÏειες)."
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "Εις βάθος ανάλυση (πιο αÏγό)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"ΕνεÏγοποιεί την επιλογή --minimal για το εξωτεÏικό diff.\n"
+"Η ανάλυση μεγάλων αÏχείων θα είναι αισθητά πιο αÏγή."
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr "ΚαθυστέÏηση αυτόματης μετάβασης (ms):"
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+"Όταν βÏίσκεστε στη λειτουÏγία αυτόματης μετάβασης εμφανίζεται το αποτέλεσμα της "
+"Ï„Ïέχουσας επιλογής\n"
+"για τον καθοÏισμένο χÏόνο, Ï€Ïιν την μεταπήδηση στην επόμενη σÏγκÏουση. ΕÏÏος: "
+"0-2000 ms"
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "ΠÏοκαθοÏισμός κενών διαφοÏών συγχώνευσης 2 αÏχείων:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "ΧειÏοκίνητη επιλογή"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+"ΕπιτÏέπει στον αλγόÏιθμο συγχώνευσης την αυτόματη επιλογή μιας εισόδου για "
+"διαφοÏές μόνο κενών."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "ΠÏοκαθοÏισμός κενών διαφοÏών συγχώνευσης 3 αÏχείων:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Κανονική έκφÏαση αυτόματης συγχώνευσης"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Κανονική έκφÏαση αυτόματης συγχώνευσης:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"Κανονική έκφÏαση για γÏαμμές όπου το KDiff3 θα Ï€Ïέπει να επιλέξει αυτόματα μία "
+"πηγή.\n"
+"Αν μία γÏαμμή με σÏγκÏουση ταιÏιάζει στην κανονική έκφÏαση τότε θα επιλεχθεί το "
+"Γ αν είναι διαθέσιμο ενώ σε άλλη πεÏίπτωση το Î’."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+"Εκτέλεση κανονικής έκφÏασης αυτόματης συγχώνευσης στην αÏχή της συγχώνευσης"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Εκτέλεση της συγχώνευσης για κανονικές εκφÏάσεις αυτόματης συγχώνευσης\n"
+"αμέσως μετά την έναÏξη της συγχώνευσης.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Συγχώνευση ιστοÏÎ¹ÎºÎ¿Ï ÎµÎ»Î­Î³Ï‡Î¿Ï… έκδοσης"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Κανονική έκφÏαση έναÏξης ιστοÏικοÏ:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"Κανονική έκφÏαση για την έναÏξη της καταχώÏησης του ιστοÏÎ¹ÎºÎ¿Ï ÏƒÏ…Î³Ï‡ÏŽÎ½ÎµÏ…ÏƒÎ·Ï‚.\n"
+"Συνήθως αυτή η γÏαμμή πεÏιέχει τη λέξη κλειδί \"$Log$
+"Συνήθως αυτή η γÏαμμή πεÏιέχει τη λέξη κλειδί \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Συνήθως αυτή η γÏαμμή πεÏιέχει τη λέξη κλειδί \"KDiff3 0.9.89
+"Συνήθως αυτή η γÏαμμή πεÏιέχει τη λέξη κλειδί \"\".\n"
+"Η Ï€ÏοκαθοÏισμένη τιμή είναι: \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Κανονική έκφÏαση για την έναÏξη της καταχώÏησης ιστοÏικοÏ:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"Μία καταχώÏηση ιστοÏÎ¹ÎºÎ¿Ï ÏƒÏ…Î³Ï‡ÏŽÎ½ÎµÏ…ÏƒÎ·Ï‚ αποτελείται από πολλές γÏαμμές.\n"
+"ΚαθοÏίστε την κανονική έκφÏαση για τον εντοπισμό της Ï€Ïώτης γÏαμμής (χωÏίς το "
+"σχόλιο που Ï€Ïοηγείται).\n"
+"ΧÏησιμοποιείστε παÏενθέσεις για την ομαδοποίηση των κλειδιών που επιθυμείτε για "
+"την ταξινόμηση.\n"
+"Αν οÏισθεί σαν κενή, τότε το KDiff3 θεωÏεί ότι οι καταχωÏήσεις ιστοÏÎ¹ÎºÎ¿Ï "
+"διαχωÏίζονται με κενές γÏαμμές.\n"
+"Δείτε την τεκμηÏίωση για λεπτομέÏειες."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Ταξινόμηση ιστοÏÎ¹ÎºÎ¿Ï ÏƒÏ…Î³Ï‡ÏŽÎ½ÎµÏ…ÏƒÎ·Ï‚"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Ταξινόμηση ιστοÏÎ¹ÎºÎ¿Ï ÎµÎ»Î­Î³Ï‡Î¿Ï… εκδόσεων κατά ένα κλειδί."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "ΣειÏά ταξινόμησης ιστοÏÎ¹ÎºÎ¿Ï ÎµÎ»Î­Î³Ï‡Î¿Ï… εκδόσεων:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Κάθε παÏένθεση της κανονικής έκφÏασης για την έναÏξη καταχώÏησης ιστοÏικοÏ\n"
+"δημιουÏγεί ένα κλειδί που μποÏεί να χÏησιμοποιηθεί για ταξινόμηση.\n"
+"ΟÏίστε τη λίστα των κλειδιών (τα οποία αÏιθμοÏνται με σειÏά εμφάνισης\n"
+"ξεκινώντας από το 1) χÏησιμοποιώντας το ',' ως διαχωÏιστικό (Ï€.χ. "
+"\"4,5,6,1,2,3,7\").\n"
+"Αν οÏισθεί κενό, τότε δε θα γίνει ταξινόμηση.\n"
+"Δείτε την τεκμηÏίωση για λεπτομέÏειες."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr "Συγχώνευση ιστοÏÎ¹ÎºÎ¿Ï ÎµÎ»Î­Î³Ï‡Î¿Ï… έκδοσης κατά την έναÏξη συγχώνευσης"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+"Εκτέλεση συγχώνευσης ιστοÏÎ¹ÎºÎ¿Ï ÎµÎ»Î­Î³Ï‡Î¿Ï… έκδοσης κατά την έναÏξη συγχώνευσης."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Δοκιμή των κανονικών εκφÏάσεών σας"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Εντολή συγχώνευσης με σχετικοÏ:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Αν καθοÏιστεί αυτό το σενάÏιο εκτελείται μετά την αυτόματη συγχώνευση\n"
+"όταν δεν εντοπιστοÏν άλλες σχετικές Ï„Ïοποποιήσεις.\n"
+"Καλείται με παÏαμέτÏους τα: όνομααÏχείου1 όνομααÏχείου2 όνομααÏχείου3"
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "Συγχώνευση καταλόγου"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "ΑναδÏομικά στους καταλόγους"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "Αν θα αναλυθοÏν οι υποκατάλογοι ή όχι."
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "Μοτίβα αÏχείου:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Μοτίβα αÏχείων που θα αναλυθοÏν. \n"
+"ΣÏμβολα υποκατάστασης: '*' και '?'\n"
+"ΜποÏοÏν να οÏιστοÏν πολλαπλά μοτίβα χÏησιμοποιώντας το διαχωÏιστικό: ';'"
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "ΑντίστÏοφα μοτίβα αÏχείου:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Μοτίβα αÏχείων που θα εξαιÏεθοÏν από την ανάλυση. \n"
+"ΣÏμβολα υποκατάστασης: '*' και '?'\n"
+"ΜποÏοÏν να οÏιστοÏν πολλαπλά μοτίβα χÏησιμοποιώντας το διαχωÏιστικό: ';'"
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "ΑντίστÏοφα μοτίβα καταλόγου:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Μοτίβα καταλόγων που θα εξαιÏεθοÏν από την ανάλυση. \n"
+"ΣÏμβολα υποκατάστασης: '*' και '?'\n"
+"ΜποÏοÏν να οÏιστοÏν πολλαπλά μοτίβα χÏησιμοποιώντας το διαχωÏιστικό: ';'"
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr "ΧÏήση .cvsignore"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+"Επέκταση του αντίστÏοφου μοτίβου σε οτιδήποτε που θα αγνοηθεί στο CVS.\n"
+"Μέσω των τοπικών αÏχείων \".cvsignore\" μποÏεί αυτό να είναι συγκεκÏιμένου "
+"καταλόγου."
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "Αναζήτηση κÏυφών αÏχείων και καταλόγων"
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "Αναζητεί αÏχεία και καταλόγους που είναι κÏυφά."
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "Αναζητεί αÏχεία και καταλόγους που αÏχίζουν με '.'."
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "ΑκολοÏθηση δεσμών αÏχείων"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"ΕνεÏγοποιημένο: ΣÏγκÏιση του αÏχείου στο οποίο δείχνει ο δεσμός.\n"
+"ΑπενεÏγοποιημένο: ΣÏγκÏιση των δεσμών."
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "ΑκολοÏθηση δεσμών καταλόγων"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"ΕνεÏγοποιημένο: ΣÏγκÏιση του καταλόγου στο οποίο δείχνει ο δεσμός.\n"
+"ΑπενεÏγοποιημένο: ΣÏγκÏιση των δεσμών."
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "Εμφάνιση μόνο των διαφοÏών"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "ΑÏχεία και κατάλογοι χωÏίς αλλαγές δε θα εμφανιστοÏν στη λίστα."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "ΣÏγκÏιση αÏχείων με ευαισθησία κεφαλαίων/πεζών"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"Η σÏγκÏιση καταλόγων θα εκτελέσει σÏγκÏιση των αÏχείων όταν ταιÏιάζουν τα "
+"ονόματά τους.\n"
+"ΕνεÏγοποιήστε αυτήν την επιλογή όταν τα ονόματα των αÏχείων Ï€Ïέπει να "
+"ταιÏιάζουν. (ΠÏοκαθοÏισμένο για τα Windows είναι ανενεÏγό, ενώ σε άλλη "
+"πεÏίπτωση είναι ενεÏγό.)"
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr "ΛειτουÏγία σÏγκÏισης αÏχείου"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Δυαδική σÏγκÏιση"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr "Δυαδική σÏγκÏιση του κάθε αÏχείου (ΠÏοκαθοÏισμένο)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "ΠλήÏης ανάλυση"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+"ΠÏαγματοποιεί πλήÏη ανάλυση και εμφανίζει στατιστικά σε επιπλέον στήλες.\n"
+"(Πιο αÏγό από τη δυαδική σÏγκÏιση, και Ï€Î¿Î»Ï Ï€Î¹Î¿ αÏγό για δυαδικά αÏχεία)."
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "ΕμπιστοσÏνη στην ημεÏομηνία Ï„Ïοποποίησης (μη ασφαλές)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"ΘεώÏησε ότι τα αÏχεία είναι ίσα αν η ημεÏομηνία Ï„Ïοποποίησης και το μέγεθος των "
+"αÏχείων είναι ίσα.\n"
+"ΧÏήσιμο για μεγάλους καταλόγους ή αÏγά δίκτυα."
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "ΕμπιστοσÏνη στο μέγεθος (μη ασφαλές)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"ΘεώÏησε ότι τα αÏχεία είναι ίσα αν το μέγεθος των αÏχείων είναι ίσο.\n"
+"ΧÏήσιμο για μεγάλους καταλόγους ή αÏγά δίκτυα όπου η ημεÏομηνία Ï„Ïοποποιείται "
+"κατά τη λήψη."
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "ΣυγχÏονισμός καταλόγων"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+"ΠÏοσφέÏει την αποθήκευση αÏχείων και στους δÏο καταλόγους\n"
+"ώστε στο τέλος οι δÏο κατάλογοι να είναι ίδιοι.\n"
+"ΔουλεÏει μόνο κατά τη σÏγκÏιση δÏο καταλόγων χωÏίς να έχει καθοÏιστεί "
+"Ï€ÏοοÏισμός."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Οι διαφοÏές των κενών θεωÏοÏνται ίσες"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Αν τα αÏχεία διαφέÏουν μόνο σε κενοÏÏ‚ χαÏακτήÏες θεωÏοÏνται ότι είναι ίσα.\n"
+"Αυτό είναι ενεÏγοποιημένο μόνο όταν επιλεγεί η πλήÏης ανάλυση."
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "ΑντιγÏαφή του νεότεÏου αντί για συγχώνευση (μη ασφαλές)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"Îα μη γίνει ανάλυση, αλλά απλά να ληφθεί το νεότεÏο αÏχείο.\n"
+"(ΧÏησιμοποιήστε το μόνο αν ξέÏετε τι κάνετε!)\n"
+"ΔουλεÏει μόνο όταν συγκÏίνονται δÏο κατάλογοι."
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "ΔημιουÏγία αντιγÏάφων ασφαλείας (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+"Όταν ένα αÏχείο θα αποθηκευτεί με το όνομα ενός υπάÏχοντος αÏχείου, το υπάÏχον "
+"αÏχείο θα μετονομαστεί με επέκταση '.orig' αντί να διαγÏαφεί."
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Ρυθμίσεις πεÏιοχής"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "Γλώσσα (απαιτείται επανεκκίνηση)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+"Επιλέξτε τη γλώσσα των μηνυμάτων του γÏÎ±Ï†Î¹ÎºÎ¿Ï Ï€ÎµÏιβάλλοντος ή επιλέξτε "
+"\"Αυτόματη\".\n"
+"Για να γίνει η αλλαγή της γλώσσας, επανεκκινήστε το KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "ΧÏήση της ίδιας κωδικοποίησης παντοÏ:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"ΕνεÏγοποιώντας αυτήν την επιλογή επιτÏέπει την αλλαγή όλων των κωδικοποιήσεων "
+"αλλάζοντας μόνο την Ï€Ïώτη.\n"
+"ΑπενεÏγοποιήστε αυτήν την επιλογή αν χÏειάζεστε διαφοÏετικές επί μέÏους "
+"επιλογές."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Σημείωση: Η τοπική κωδικοποίηση είναι "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Κωδικοποίηση αÏχείου για το Α:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Κωδικοποίηση αÏχείου για το Î’:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Κωδικοποίηση αÏχείου για το Γ:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Κωδικοποίηση αÏχείου για την έξοδο συγχώνευσης και την αποθήκευση:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Κωδικοποίηση για τα αÏχεία του Ï€ÏοεπεξεÏγαστή:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Γλώσσας αναγνώσιμη από δεξιά στα  αÏιστεÏά"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"ΜεÏικές γλώσσες διαβάζονται από δεξιά στα αÏιστεÏά.\n"
+"Αυτή η ÏÏθμιση θα Ï„Ïοποποίηση τον Ï€Ïοβολέα και τον επεξεÏγαστή κατάλληλα."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Ενσωμάτωση"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Ρυθμίσεις ενσωμάτωσης"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Επιλογές γÏαμμής εντολών για αγνόηση:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Λίστα τον επιλογών της γÏαμμής εντολών που θα Ï€Ïέπει να αγνοηθοÏν όταν το "
+"KDiff3 χÏησιμοποιείται από άλλα εÏγαλεία.\n"
+"ΜποÏοÏν να οÏισθοÏν πολλές τιμές διαχωÏισμένες με το ';'\n"
+"Αυτό καταστέλλει το σφάλμα \"Άγνωστης επιλογής\"."
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"Επιλέξατε μία γÏαμματοσειÏά Î¼ÎµÏ„Î±Î²Î»Î·Ï„Î¿Ï Î¼Î®ÎºÎ¿Ï…Ï‚.\n"
+"\n"
+"Επειδή το Ï€ÏόγÏαμμα δε διαχειÏίζεται σωστά γÏαμματοσειÏές Î¼ÎµÏ„Î±Î²Î»Î·Ï„Î¿Ï \n"
+"μήκους ίσως έχετε Ï€Ïοβλήματα κατά την επεξεÏγασία.\n"
+"Επιθυμείτε τη συνέχεια ή την επιλογή μιας άλλης γÏαμματοσειÏάς;"
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "Μη συμβατή γÏαμματοσειÏά"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "Συνέχεια με δικιά σας ευθÏνη"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "Επιλέξτε μία άλλη γÏαμματοσειÏά"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+"Αυτό επαναφέÏει όλες τις επιλογές. Όχι μόνο αυτές του Ï„Ïέχοντος θέματος."
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr "Εντολή Ï€ÏοεπεξεÏγαστή:"
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"Οι ακόλουθες επιλογές που κάνατε ίσως Ï„Ïοποποιήσουν δεδομένα:\n"
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+"\n"
+"Το πιθανότεÏο είναι ότι αυτό δεν είναι επιθυμητό κατά τη συγχώνευση.\n"
+"Θέλετε να απενεÏγοποιήσετε αυτές τις επιλογές ή να συνεχίσετε όπως είναι;"
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr "Μη ασφαλής επιλογή για συγχώνευση"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "ΧÏήση αυτών των επιλογών κατά τη συγχώνευση"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "ΑπενεÏγοποίηση μη ασφαλών επιλογών"
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "ΦόÏτωση του Α"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "ΦόÏτωση του Î’"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "ΔιαφοÏά: Α <-> Î’"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "ΔιαφοÏά γÏαμμής: Α <-> Î’"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "ΦόÏτωση του Γ"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "ΔιαφοÏά: Î’ <-> Γ"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "ΔιαφοÏά: Α <-> Γ"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "ΔιαφοÏά γÏαμμής: Î’ <-> Γ"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "ΔιαφοÏά γÏαμμής: Α <-> Γ"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"ΜεÏικά από τα αÏχεία εισόδου δε φαίνεται να είναι αÏχεία κειμένου.\n"
+"Σημειώστε ότι το KDiff3-merge δε φτιάχτηκε για δυαδικά δεδομένα.\n"
+"Αν συνεχίσετε θα είναι με δική σας ευθÏνη."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Εγκατάλειψη"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Άνοιγμα αÏχείων..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Σφάλμα ανοίγματος αÏχείου"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Αποκοπή επιλογής..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "ΑντιγÏαφή της επιλογής στο Ï€ÏόχειÏο..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Εισαγωγή των πεÏιεχομένων του Ï€ÏοχείÏου..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Αποθήκευση && συνέχεια"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Συνέχεια χωÏίς αποθήκευση"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Η αναζήτηση ολοκληÏώθηκε."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Η αναζήτηση ολοκληÏώθηκε"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+"ΠαÏακαλώ κάντε κλικ στις γÏαμμές που θα Ï€Ïέπει να ταιÏιάζουν σε όλα τα "
+"παÏάθυÏα."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr "Δεν έχει επιλεγεί τίποτα σε κανένα παÏάθυÏο εισαγωγής διαφοÏών."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Σφάλμα κατά την Ï€Ïοσθήκη χειÏοκίνητου εÏÏους διαφοÏών"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "ΡÏθμιση του KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Κατάλογος"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "ΛειτουÏγία συγχώνευσης του Ï„Ïέχοντος αντικειμένου"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "ΛειτουÏγία συγχÏÎ¿Î½Î¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… Ï„Ïέχοντος αντικειμένου"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Μετακίνηση"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "ΠÏοβολή &διαφοÏών"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Συγχώνευση"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&ΠαÏάθυÏο"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "Α (Βάση):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "ΑÏχείο..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Κατάλογος..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "Γ (ΠÏοαιÏετικό):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Εναλλαγή/ΑντιγÏαφή ονομάτων..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Εναλλαγή"
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "Έξοδος (Ï€ÏοαιÏετική):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "ΡÏθμιση..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Αναζήτηση κειμένου: "
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "ΔιάκÏιση πεζών/κεφαλαίων"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Αναζήτηση στο Α"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Αναζήτηση στο Β"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Αναζήτηση στο Γ"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Έξοδος αναζήτησης"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Αναζήτηση"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "καμία επιλογή"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "ΧειÏοκίνητο ταίÏιασμα γÏαμμών"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Δοκιμή κανονικής έκφÏασης"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "ΠαÏάδειγμα γÏαμμής αÏχής αυτόματης συγχώνευσης:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+"Για τη δοκιμή αυτόματης συγχώνευσης αντιγÏάψτε μια γÏαμμή όπως αυτή "
+"χÏησιμοποιείται στα αÏχεία σας."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Αποτέλεσμα ταιÏιάσματος:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "ΠαÏάδειγμα γÏαμμής αÏχής ιστοÏÎ¹ÎºÎ¿Ï (χωÏίς το σχόλιο που Ï€Ïοηγείται):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"ΑντιγÏάψτε μία γÏαμμή αÏχής ιστοÏÎ¹ÎºÎ¿Ï ÏŒÏ€Ï‰Ï‚ αυτή χÏησιμοποιείται στα αÏχεία "
+"σας,\n"
+"χωÏίς να πεÏιλάβετε το σχόλιο που Ï€Ïοηγείται."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "ΣειÏά κλειδιών ταξινόμησης ιστοÏικοÏ:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+"ΠαÏάδειγμα γÏαμμής αÏχής καταχώÏησης ιστοÏÎ¹ÎºÎ¿Ï (χωÏίς το σχόλιο που "
+"Ï€Ïοηγείται):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"ΑντιγÏάψτε μία γÏαμμή αÏχής καταχώÏησης ιστοÏÎ¹ÎºÎ¿Ï ÏŒÏ€Ï‰Ï‚ αυτή χÏησιμοποιείται στα "
+"αÏχεία σας,\n"
+"χωÏίς να πεÏιλάβετε το σχόλιο που Ï€Ïοηγείται."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Αποτέλεσμα ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï„Î±Î¾Î¹Î½ÏŒÎ¼Î·ÏƒÎ·Ï‚:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Εντάξει"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Επιτυχία ταιÏιάσματος."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Αποτυχία ταιÏιάσματος."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+"Αδυναμία ταιÏιάσματος παÏενθέσεων ανοίγματος και κλεισίματος στην κανονική "
+"έκφÏαση."
--- a/kdiff3/po/en_GB.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/en_GB.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,20 +1,20 @@
 # translation of kdiff3.po to British English
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
 # Malcolm Hunter <malcolm.hunter@gmx.co.uk>, 2003.
 # Jonathan Riddell <kde-en-gb@jriddell.org>, 2003.
-# Andrew Coles <andrew_coles@yahoo.co.uk>, 2004.
+# Andrew Coles <andrew_coles@yahoo.co.uk>, 2004, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-08 11:20+0100\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-02 11:52+0000\n"
 "Last-Translator: Andrew Coles <andrew_coles@yahoo.co.uk>\n"
 "Language-Team: British English <kde-en-gb@kde.me.uk>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
+"X-Generator: KBabel 1.9\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -28,15 +28,15 @@
 "Your emails"
 msgstr "kde-en-gb@jriddell.org"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Writing clipboard data to temp file failed."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "From Clipboard"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -50,7 +50,7 @@
 "\n"
 "The preprocessing command will be disabled now."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -64,7 +64,7 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -72,268 +72,270 @@
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Severe Internal Error"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Top line %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "End"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mix of links and normal files."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Link: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Size. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Date & Size: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Creating temp copy of %1 failed."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Opening %1 failed."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
-msgstr "Comparing file ..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Comparing file..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Error reading from %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Name"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operation"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Unsolved"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Solved"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Nonwhite"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "White"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Rescan"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Continue Merging"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Opening of directories failed:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Directory Open Error"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parameter Warning"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
-msgstr "Scanning directories ..."
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Scanning directories..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Reading Directory A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Reading Directory B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Reading Directory C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Some subdirectories were not readable in"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Check the permissions of the subdirectories."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Ready."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Directory Comparison Status"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Number of subdirectories:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Number of equal files:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Number of different files:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Number of manual merges:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "This affects all merge operations."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Changing All Merge Operations"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "C&ontinue"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Processing "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "To do."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Copy A to B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Copy B to A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Delete A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Delete B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Delete A & B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Merge to A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Merge to B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Merge to A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Delete (if exists)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Merge"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Merge (manual)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Error: Conflicting File Types"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Error: Dates are equal but files are not."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "This operation is currently not possible."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operation Not Possible"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -347,42 +349,42 @@
 "\n"
 "If you know how to reproduce this, please contact the program author."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Program Error"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "An error occurred while copying.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Merge Error"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Error."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Done."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Not saved."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Unknown merge operation. (This must never happen!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Unknown merge operation."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -402,291 +404,347 @@
 "Be aware that this program still has beta status and there is NO WARRANTY "
 "whatsoever! Make backups of your vital data!"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Starting Merge"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Do It"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simulate It"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-"This operation is currently not possible because directory merge is "
-"currently running."
-
-#: directorymergewindow.cpp:1838
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
-
-#: directorymergewindow.cpp:1840
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Continue merge after an error"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Continue With Last Item"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Skip Item"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Skipped."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "In progress..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Merge operation complete."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Merge Complete"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
-msgstr "Simulated merge complete: Check if you agree with the proposed operations."
-
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "An error occurred. Press OK to see detailed information.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Error: While deleting %1: Creating backup failed."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "delete directory recursively( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "delete( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "Error: delete dir operation failed while trying to read the directory."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Error: rmdir( %1 ) operation failed."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Error: delete operation failed."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "manual merge( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr "     Note: After a manual merge the user should continue by pressing F7."
-
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Note: After a manual merge the user should continue by pressing F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 
-#: directorymergewindow.cpp:2135
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Error: copyLink failed: Remote links are not yet supported."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Error: copyLink failed."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "copy( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "rename( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Error: Rename failed."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "Error during makeDir of %1. Cannot delete existing file."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Error while creating directory."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Dest"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dir"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Type"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Size"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attr"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Last Modification"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Link-Destination"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "not available"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Dest): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Base): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Dest): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Dest): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Dest: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Directory Merge"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Start/Continue Directory Merge"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Run Operation for Current Item"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Compare Selected File"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Merge Current File"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Fold All Subdirs"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Unfold All Subdirs"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Directory Merge"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Directory Merge"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Choose A for All Items"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Choose B for All Items"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Choose C for All Items"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Auto-Choose Operation for All Items"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "No Operation for All Items"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Synchronise directories"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copy newer instead of merging (unsafe)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Number of different files:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Compare Selected File"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Compare Selected File"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Do Nothing"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Delete (If Exists)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "Delete A and B"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Merge to A and B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Delete A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Merge to A && B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -694,7 +752,7 @@
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -702,394 +760,433 @@
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Getting file status: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Reading file: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Writing file: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Out of memory"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Making directory: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Removing directory: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Removing file: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Creating symbolic link: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Renaming file: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Copying file: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
-
-#: fileaccess.cpp:844
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
-
-#: fileaccess.cpp:859
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Error during file copy operation: Reading failed. Filename: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Error during file copy operation: Writing failed. Filename: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Reading directory: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listing directory: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Current Item Sync Operation"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "File Open Error"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Option --auto used, but no output file specified."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Option --auto ignored for directory comparison."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Saving failed."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Opening of these files failed:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "File Open Error"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Opens documents for comparison..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr "Saves the merge result. All conflicts must be solved!"
 
-#: kdiff3.cpp:333
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Saves the current document as..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Quits the application"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Cuts the selected section and puts it to the clipboard"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Copies the selected section to the clipboard"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Pastes the clipboard contents to actual position"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Search for a string"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Search again for the string"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Enables/disables the toolbar"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Enables/disables the statusbar"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Configure KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Go to Current Delta"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Go to First Delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Go to Last Delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr "(Skips white space differences when \"Show White Space\" is disabled.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Go to Previous Delta"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Go to Next Delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Go to Previous Conflict"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Go to Next Conflict"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Go to Previous Unsolved Conflict"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Go to Next Unsolved Conflict"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Select Line(s) From A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Select Line(s) From B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Select Line(s) From C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Automatically Go to Next Unsolved Conflict After Source Selection"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Show Space && Tabulator Characters for Differences"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Show White Space"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Show Line Numbers"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Choose A Everywhere"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Choose B Everywhere"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Choose C Everywhere"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr "Choose A For All Unsolved Conflicts"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr "Choose B For All Unsolved Conflicts"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr "Choose C For All Unsolved Conflicts"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr "Choose A For All Unsolved Whitespace Conflicts"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr "Choose B For All Unsolved Whitespace Conflicts"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr "Choose C For All Unsolved Whitespace Conflicts"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Choose A for All Unsolved Conflicts"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Choose B for All Unsolved Conflicts"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Choose C for All Unsolved Conflicts"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Choose A for All Unsolved Whitespace Conflicts"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Choose B for All Unsolved Whitespace Conflicts"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Choose C for All Unsolved Whitespace Conflicts"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Automatically Solve Simple Conflicts"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Set Deltas to Conflicts"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Automatically Solve Simple Conflicts"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Show Window A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Show Window B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Show Window C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Focus Next Window"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normal Overview"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A vs. B Overview"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A vs. C Overview"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B vs. C Overview"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Word Wrap Diff Windows"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Focus Prev Window"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Toggle Split Orientation"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Dir && Text Split Screen View"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Toggle Between Dir && Text View"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "The merge result hasn't been saved."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Save && Quit"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Quit Without Saving"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Saving the merge result failed."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
-msgstr "You are currently doing a directory merge. Are you sure, you want to abort?"
-
-#: kdiff3.cpp:547
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Saving file..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Saving file with a new filename..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Exiting..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Merge operation complete."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Exiting..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Toggling toolbar..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Toggle the statusbar..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Searchtext:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Case sensitive"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Search A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Search B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Search C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Search output"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Search"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Couldn't find files for comparison."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
@@ -1099,79 +1196,100 @@
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Text Diff and Merge Tool"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Tool for Comparison and Merge of Files and Directories"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Merge the input."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Explicit base file. For compatibility with certain tools."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Output file. Implies -m. E.g.: -o newfile.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "Output file, again. (For compatibility with certain tools.)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Don't solve conflicts automatically. (For compatibility...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Visible name replacement for input file 1 (base)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Visible name replacement for input file 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Visible name replacement for input file 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Alternative visible name replacement. Supply this once for every input."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Has no effect. For compatibility with certain tools."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "For compatibility with certain tools."
-
-#: main.cpp:52
+msgstr ""
+"Alternative visible name replacement. Supply this once for every input."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Number of different files:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "file1 to open (base, if not specified via --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "file2 to open"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "file3 to open"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr "+ Many thanks to those who reported bugs and contributed ideas!"
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1179,55 +1297,55 @@
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "All input files are binary equal."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "All input files contain the same text."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Files A and B are binary equal.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Files A and B have equal text. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Files A and C are binary equal.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Files A and C have equal text. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Files B and C are binary equal.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Files B and C have equal text. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Total number of conflicts: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1235,7 +1353,7 @@
 "\n"
 "Nr of automatically solved conflicts: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1243,27 +1361,31 @@
 "\n"
 "Nr of unsolved conflicts: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflicts"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<No src line>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Merge Conflict (Whitespace only)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Merge Conflict>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Output"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Modified]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1271,41 +1393,53 @@
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Conflicts Left"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"File not saved."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Creating backup failed. File not saved."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "File Save Error"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Out of memory while preparing to save."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Error while writing."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Change this if non-ASCII characters are not displayed correctly."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Editor & Diff Output Font"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Italic font for deltas"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1313,63 +1447,99 @@
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Colour"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Colours in Editor & Diff Output"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Regional Settings"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Foreground colour:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Background colour:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Diff background colour:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Colour A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Colour B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Colour C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Conflict colour:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Current range background colour:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Current range diff background colour:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Directory Comparison Status"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Editor Behaviour"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tab inserts spaces"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1377,25 +1547,25 @@
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tab size:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Auto indentation"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "On: The indentation of the previous line is used for a new line.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Auto copy selection"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1403,39 +1573,33 @@
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
-msgstr "Line End Style:"
-
-#: optiondialog.cpp:482
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Line end style:"
+
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Use locale encoding"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Change this if non-ASCII characters are not displayed correctly."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Diff & Merge"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Diff & Merge Settings"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Preserve carriage return"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1443,49 +1607,49 @@
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignore numbers"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
-msgstr "Ignore C/C++ Comments"
-
-#: optiondialog.cpp:528
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Ignore C/C++ comments"
+
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Treat C/C++ comments like white space."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignore case"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr "Treat case differences like white space changes. ('a'<=>'A')"
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Preprocessor command:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr "User defined pre-processing. (See the docs for details.)"
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Line-matching preprocessor command:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1493,11 +1657,11 @@
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Try hard (slower)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1505,11 +1669,11 @@
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Auto advance delay (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
@@ -1517,43 +1681,146 @@
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "White space 2-file merge default:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "Manual choice"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Manual Choice"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
-
-#: optiondialog.cpp:584
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "White space 3-file merge default:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Directory Merge"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Recursive directories"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Whether to analyse subdirectories or not."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "File pattern(s):"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1563,11 +1830,11 @@
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "File-anti-pattern(s):"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1577,11 +1844,11 @@
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Dir-anti-pattern(s):"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1591,11 +1858,11 @@
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Use .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1603,23 +1870,23 @@
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Find hidden files and directories"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Finds files and directories with the hidden attribute."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Finds files and directories starting with '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Follow file links"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1627,11 +1894,11 @@
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Follow directory links"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1639,31 +1906,43 @@
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "List only deltas"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Files and directories without change will not appear in the list."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "File Comparison Mode"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
-msgstr "Binary Comparison"
-
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Binary comparison"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Binary comparison of each file. (Default)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr "Full Analysis"
-
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Full analysis"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
@@ -1671,11 +1950,11 @@
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Trust the modification date (unsafe)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1685,11 +1964,11 @@
 "equal.\n"
 "Useful for big directories or slow networks."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Trust the size (unsafe)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
@@ -1699,11 +1978,11 @@
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Synchronise directories"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1713,11 +1992,23 @@
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "White space differences considered equal"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Copy newer instead of merging (unsafe)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1727,11 +2018,11 @@
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Backup files (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1739,19 +2030,15 @@
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Regional Settings"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Language (restart required)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1759,7 +2046,77 @@
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Use the same encoding for everything:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Note: Local Encoding is "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "File Encoding for A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "File Encoding for B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "File Encoding for C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "File Encoding for Merge Output and Saving:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "File Encoding for Preprocessor Files:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Right To Left Language"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operation"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Regional Settings"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1775,33 +2132,33 @@
 "\n"
 "Do you want to continue or do you want to select another font."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Incompatible Font"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Continue at Own Risk"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Select Another Font"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "This resets all options. Not only those of the current topic."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "PreprocessorCmd: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "The following option(s) you selected might change data:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1811,55 +2168,55 @@
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr "Option unsafe for merging"
-
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr "Use these options during the merge"
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr "Disable unsafe options"
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Option Unsafe for Merging"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Use These Options During Merge"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Disable Unsafe Options"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Loading A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Loading B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Diff: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Linediff: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Loading C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Diff: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Diff: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Linediff: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Linediff: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1869,102 +2226,251 @@
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Abort"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Opening files..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "File open error"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Cutting selection..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Copying selection to clipboard..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Inserting clipboard contents..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Save && Continue"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continue Without Saving"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Search complete."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Search Complete"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Error while creating directory."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configure KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Directory"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Current Item Merge Operation"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Current Item Sync Operation"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Movement"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iffview"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Merge"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Window"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Base):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "File..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Dir..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Optional):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Output (optional):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Configure..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Abort"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Opening files..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "File open error"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Cutting selection..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Copying selection to clipboard..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Inserting clipboard contents..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Save && Continue"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Continue Without Saving"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Search complete."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Search Complete"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Configure KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Directory"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Current Item Merge Operation"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Current Item Sync Operation"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Movement"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "D&iffview"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Merge"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Window"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Search text:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Case sensitive"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Search A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Search B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Search C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Search output"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Search"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Auto copy selection"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Manual Choice"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Saving failed."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Has no effect. For compatibility with certain tools."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "For compatibility with certain tools."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Colours in Editor & Diff Output"
--- a/kdiff3/po/es.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/es.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,20 +1,22 @@
-# translation of kdiff3.po to español
 # translation of kdiff3.po to Español
-# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# traducción de kdiff3.po a Español
+# Copyright (C) 2003,2004, 2005, 2006 Free Software Foundation, Inc.
+#
 # Miguel Revilla Rodríguez <yo@miguelrevilla.com>, 2003.
-# Carlos Mayo Hernández <carlos.mayo@hispalinux.es>, 2003,2004.
-#
+# Carlos Mayo Hernández <carlos.mayo@hispalinux.es>, 2003,2004, 2005.
+# santi <santi@est.unileon.es>, 2005, 2006.
+# Santiago Fernandez Sancho <santi@est.unileon.es>, 2006.
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-05-16 21:07+0200\n"
-"Last-Translator: Carlos Mayo Hernández <carlos.mayo@hispalinux.es>\n"
-"Language-Team: español <kde-es@kybs.de>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-03-28 17:23+0200\n"
+"Last-Translator: santi <santi@est.unileon.es>\n"
+"Language-Team: Español <kde-es@kybs.de>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3\n"
+"X-Generator: KBabel 1.11.2\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -28,15 +30,15 @@
 "Your emails"
 msgstr "carlos.mayo@hispalinux.es"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Error al escribir los datos del portapapeles en el archivo temporal."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Desde el portapapeles"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -44,13 +46,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-"Posiblemente falló el pre-procesamiento. Compruebe este comando:\n"
+"Posiblemente falló el pre-procesamiento. Compruebe esta orden:\n"
 "\n"
 "  %1\n"
 "\n"
-"El comando de pre-procesamiento se desactivará ahora."
-
-#: diff.cpp:425
+"La orden de pre-procesamiento se desactivará ahora."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -58,8 +60,14 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"El preprocesamiento de combinación de linea probablemente falló. Compruebe esta "
+"orden:\n"
+"\n"
+"  %1\n"
+"\n"
+"La orden de preprocesamiento de combinación de linea se desactivará."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -67,270 +75,269 @@
 "Error de pérdida de datos:\n"
 "Si se puede reproducir contacte con el autor.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Error interno grave"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Linea de arriba %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Linea superior"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Fin"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mezcla de enlaces y archivos normales."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
-msgstr "Enlace:"
-
-#: directorymergewindow.cpp:129
+msgstr "Enlace: "
+
+#: directorymergewindow.cpp:157
 msgid "Size. "
-msgstr "Tamaño:"
-
-#: directorymergewindow.cpp:142
+msgstr "Tamaño: "
+
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
-msgstr "Fecha y tamaño:"
-
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+msgstr "Fecha y tamaño: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Falló la creación de la copia temporal de %1."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Falló la apertura de %1."
 
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "Guardando archivo..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Comparando archivo..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Error al leer de %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nombre"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operación"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Estado"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
+msgstr "Sin resolver"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Resuelto"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "No blanco"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Blanco"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"Actualmente está haciendo una fusión de directorio. ¿Está seguro de que "
-"desea abortar la fusión y volver a leer el directorio?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Actualmente está haciendo una fusión de directorio. ¿Está seguro de que desea "
+"abandonar la fusión y volver a leer el directorio?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Volver a buscar"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Continuar fusionando"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Falló la apertura de directorios:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Dir A \"%1\" no existe o no es un directorio.\n"
-
-#: directorymergewindow.cpp:427
+"Dir A «%1» no existe o no es un directorio.\n"
+
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Dir B \"%1\" no existe o no es un directorio.\n"
-
-#: directorymergewindow.cpp:430
+"Dir B «%1» no existe o no es un directorio.\n"
+
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Dir C \"%1\" no existe o no es un directorio.\n"
-
-#: directorymergewindow.cpp:432
+"Dir C «%1» no existe o no es un directorio.\n"
+
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Error al abrir directorio"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"El directorio de destino no debe ser el mismo que A o B cuando tres "
-"directorio estan fusionados.\n"
+"El directorio de destino no debe ser el mismo que A o B cuando tres directorio "
+"estan fusionados.\n"
 "Compruebe de nuevo antes de continuar."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Advertencia en el parámetro"
 
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "Sincronizar directorios"
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Escaneando directorios ..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Leyendo directorio A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Leyendo directorio B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Leyendo directorio C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Algunos subdirectorios no se pudieron leer"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Comprobar los permisos de los subdirectorios."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
-msgstr "Listo"
-
-#: directorymergewindow.cpp:619
+msgstr "Listo."
+
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Estado de la comparación del directorio"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Número de subdirectorios:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Número de archivos iguales:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Número de archivos diferentes:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Número de fusiones manuales:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Esto afecta a todas las operaciones de fusión."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Cambiando todas las operaciones de fusión"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "C&ontinuar"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Procesando"
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Por hacer."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Copiar A a B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Copiar B a A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Eliminar A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Eliminar B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Eliminar A y B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Fusionar a A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Fusionar a B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Fusionar a A y B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Eliminar (si existe)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Fusionar"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Fusionar (manual)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Error: Conflicto de tipos de archivo"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Error: Las fechas son iguales pero los archivos no."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Esta operación no es posible actualmente."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operación imposible"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -344,42 +351,42 @@
 "\n"
 "Si sabe cómo reproducir esto, por favor contacte con el autor del programa."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Error de programa"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Ocurrió un error mientras se copiaba.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Error de fusión"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Error."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Hecho."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Sin guardar."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Operación de fusión desconocida. (Esto no debe ocurrir nunca)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Operación de fusión desconocida."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -392,305 +399,353 @@
 msgstr ""
 "La fusión va a comenzar.\n"
 "\n"
-"Elija \"Hacerlo\" si ha leido las instrucciones y sabe que está haciendo.\n"
-"Eligiendo \"Simularlo\" le dirá lo que ocurriría.\n"
+"Elija «Hacerlo» si ha leido las instrucciones y sabe que está haciendo.\n"
+"Eligiendo «Simularlo» le dirá lo que ocurriría.\n"
 "\n"
 "Tenga en cuenta que este programa todavía es una versión beta y no está "
 "totalmente garantizado. ¡Realice copias de seguridad de sus datos vitales!"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Comenzando fusión"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Hacerlo"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simularlo"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
 "El elemento marcado tiene un tipo diferente en los diferentes directorios. "
 "Seleccione qué hacer."
 
-#: directorymergewindow.cpp:1721
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
 "Las fechas de modificación del archivo son iguales pero los archivos no. "
 "Seleccionar qué hacer."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
-"Esta operación no es posible actualmente porque se esta ejecutando una "
-"fusión de directorios."
-
-#: directorymergewindow.cpp:1838
+"Esta operación no es posible actualmente porque se esta ejecutando una fusión "
+"de directorios."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Hubo un error en el último paso.\n"
 "¿Desea continuar con el elemento que causó el error o desea omitir este "
 "elemento?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Continuar la fusión después de un error"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Continuar con el último elemento"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Omitir elemento"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Omitido."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "En progreso..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Operación de fusión completa."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Fusión completa"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
 "Fusión simulada completa. Compruebe si está de acuerdo con las operaciones "
 "propuestas."
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Ocurrió un error. Pulse OK para ver información mas detallada.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
-msgstr "Error: Mientras se borraba %1: Falló la creación de copia de seguridad."
-
-#: directorymergewindow.cpp:2027
+msgstr ""
+"Error: Mientras se borraba %1: Falló la creación de copia de seguridad."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "eliminar directorio recursivamente( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "eliminar( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-"Error: la operación de eliminación de directorio falló al intentar leer "
-"el directorio."
-
-#: directorymergewindow.cpp:2063
+"Error: la operación de eliminación de directorio falló al intentar leer el "
+"directorio."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Error: la operación rmdir( %1 ) falló."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Error: falló la operación de eliminación."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "fusión manual ( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Nota: Después de una fusión manual el usuario puede continuar "
-"presionando F7."
-
-#: directorymergewindow.cpp:2125
+"     Nota: Después de una fusión manual el usuario puede continuar presionando "
+"F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
-msgstr "Error: falló la copia ( %1 -> %2 ). Fallo al eliminar destino existente."
-
-#: directorymergewindow.cpp:2135
+msgstr ""
+"Error: falló la copia ( %1 -> %2 ). Fallo al eliminar destino existente."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Error: falló copyLink. Enlaces remotos no están soportados todavía."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Error: falló copyLink."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "copy( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Error durante renombrar( %1 -> %2 ): No se puede eliminar un destino "
-"existente."
-
-#: directorymergewindow.cpp:2204
+"Error durante renombrar( %1 -> %2 ): No se puede eliminar un destino existente."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "renombrar( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
-msgstr "Error: Fallo al renombrar"
-
-#: directorymergewindow.cpp:2231
+msgstr "Error: Fallo al renombrar."
+
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr "Error durante makeDir de %1. No se puede eliminar un archivo existente."
-
-#: directorymergewindow.cpp:2247
+msgstr ""
+"Error durante makeDir de %1. No se puede eliminar un archivo existente."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Error al crear el directorio."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Dest"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dir"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Tipo"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Tamaño"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Atrib"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Última modificación"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Destino del enlace"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "no disponible"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
-msgstr "A (Dest):"
-
-#: directorymergewindow.cpp:2353
+msgstr "A (Dest): "
+
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
-msgstr "A (base):"
-
-#: directorymergewindow.cpp:2359
+msgstr "A (base): "
+
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
-msgstr "B (Dest):"
-
-#: directorymergewindow.cpp:2367
+msgstr "B (Dest): "
+
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
-msgstr "C (Dest):"
-
-#: directorymergewindow.cpp:2373
+msgstr "C (Dest): "
+
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
-msgstr "Dest:"
-
-#: directorymergewindow.cpp:2398
+msgstr "Dest: "
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Guardar estado del directorio de fusión como..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Comenzar/Continuar fusión de directorio"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Realizar operación para el elemento actual"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Comparar el archivo seleccionado"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Fusionar archivo actual"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Plegar todos los subdirectorios"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Desplegar todos los subdirectorios"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Guardar estado del directorio de fusión..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Cargar estado del directorio de fusión..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Elegir A para todos los elementos"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Elegir B para todos los elementos"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Elegir C para todos los elementos"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Auto-elegir operación para todos los elementos"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Ninguna operación para todos los elementos"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Sincronizar directorios"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copiar archivos más nuevos en lugar de fusionar"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Mostrar archivos idénticos"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Mostrar archivos diferentes"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Mostrar archivos solo en A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Mostrar archivos solo en B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Mostrar archivos solo en C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Comparar explícitamente los archivos seleccionados"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Fusionar explícitamente los archivos seleccionados"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "No hacer nada"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Eliminar (si existe)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Eliminar A y B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "Fusionar a A y B"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -699,7 +754,7 @@
 "eliminar una copia de seguridad anterior.\n"
 "Nombre de archivo: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -708,493 +763,550 @@
 "renombrar.\n"
 "Nombres de archivos: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Obteniendo estado de archivo: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Leyendo archivo: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Escribiendo archivo: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Fuera de memoria"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Creando directorio: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Eliminando directorio: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Eliminando archivo: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Creando enlace simbólico: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Renombrando archivo: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Copiando archivo: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Error durante la operación de copia de archivo. Falló al abrir archivo "
-"para lectura. Nombre de archivo: %1"
-
-#: fileaccess.cpp:844
+"Error durante la operación de copia de archivo. Falló al abrir archivo para "
+"lectura. Nombre de archivo: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Error durante la operación de copia de archivo. Falló al abrir archivo "
-"para escritura. Nombre de archivo: %1"
-
-#: fileaccess.cpp:859
+"Error durante la operación de copia de archivo. Falló al abrir archivo para "
+"escritura. Nombre de archivo: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
 "Error durante la operación de copia de archivo. Falló al leer. Nombre de "
 "archivo: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Error durante la operación de copia de archivo. Falló al escribir. Nombre "
-"de archivo: %1"
-
-#: fileaccess.cpp:1171
+"Error durante la operación de copia de archivo. Falló al escribir. Nombre de "
+"archivo: %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
-msgstr "Leyendo directorio:"
-
-#: fileaccess.cpp:1297
+msgstr "Leyendo directorio: "
+
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listando directorio: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Configuración actual:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Configuración de la opción de error:"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Opción --auto usada, pero sin archivo de salida especificado."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Opción --auto ignorada para comparación de directorio."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Fallo al guardar."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Fallo al abrir estos archivos:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Error de apertura de archivo"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Abre documentos para comparación..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-"Guarda el resultado de la fusión. Todos los conflictos deben estar "
-"resueltos."
-
-#: kdiff3.cpp:333
+"Guarda el resultado de la fusión ¡Todos los conflictos deben estar resueltos!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Guarda el documento actual como..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Imprimir las diferencias"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Sale de la aplicación"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Corta la sección seleccionada y la pega en el portapapeles"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Copia la sección seleccionada al portapapeles"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Pega el contenido del portapapeles en la posición actual"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Seleccionar todo en la ventana actual"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Buscar por una cadena"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Buscar de nuevo la cadena"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Activar/desactivar la barra de herramientas"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Activar/desactivar la barra de estado"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Configurar KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Ir al Delta actual"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Ir al primer Delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Ir al último Delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Omite diferencias de espacios en blanco cuando «Mostrar espacios en blanco» "
+"esta desactivado.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(No omite diferencias de espacios en blanco incluso cuando «Mostrar espacios en "
+"blanco» esta desactivado)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Ir al Delta anterior"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Ir al siguiente Delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Ir al conflicto anterior"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Ir al conflicto siguiente"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Ir al conflicto anterior sin resolver"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Ir al conflicto siguiente sin resolver"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Seleccionar linea(s) de A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Seleccionar linea(s) de B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Seleccionar linea(s) de C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Automáticamente Ir al conflicto siguiente sin resolver después de una "
-"selección origen"
-
-#: kdiff3.cpp:388
+"Automáticamente Ir al conflicto siguiente sin resolver después de una selección "
+"origen"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Mostrar carácteres espacio y tabulador por diferencias"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Mostar espacio en blanco"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Mostar número de lineas"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Elegir A en cualquier sitio"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Elegir B en cualquier sitio"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Elegir C en cualquier sitio"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Elegir A para todos los conflictos sin resolver"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Elegir B para todos los conflictos sin resolver"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Elegir C para todos los conflictos sin resolver"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Elegir A para todos los conflictos de espacios en blanco sin resolver"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Elegir B para todos los conflictos de espacios en blanco sin resolver"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Elegir C para todos los conflictos de espacios en blanco sin resolver"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Resolver automáticamente conflictos simples"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Establecer Deltas a conflictos"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Ejecutar expresión regular de fusión automática"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Resolver automáticamente conflictos históricamente"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Dividir Diff en la selección"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Mostar ventana A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Mostar ventana B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Mostar ventana C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Ir a la siguiente ventana"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
-msgstr ""
-
-#: kdiff3.cpp:410
+msgstr "Vista normal"
+
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
-msgstr ""
-
-#: kdiff3.cpp:411
+msgstr "Vista A vs. B"
+
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
+msgstr "Vista A vs. C"
+
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
+msgstr "Vista B vs. C"
+
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
+msgstr "Ventanas de diferencias con ajuste de palabra"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Añadir alineación manual de las diferencias"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Borrar todas las alineaciones de diferencias manuales"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Ir a la ventana anterior"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Cambiar orientación de división"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Vista de la división de pantalla Dir y Texto"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Cambiar entre vista Dir y Texto"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "El resultado de la fusión no ha sido guardado."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Guardar y salir"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Salir sin guardar"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Falló al guardar el resultado de la fusión."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Actualmente está haciendo una fusión de directorio. ¿Está seguro de que "
-"desea abortar?"
-
-#: kdiff3.cpp:547
+"Actualmente está haciendo una fusión de directorio. ¿Está seguro de que desea "
+"abandonar?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Guardando archivo..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Guardando archivo con un nuevo nombre..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Imprimiendo..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Impresión abandonada."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Selección"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Impresión terminada."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Saliendo..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Cambiando barra de herramientas..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Cambiar la barra de estado..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Buscar texto:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Distinción de mayúsculas"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Buscar A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Buscar B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Buscar C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Buscar salida"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "Bu&scar"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "No se pudo encontrar archivos para comparar."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "No pudo encontrar nuestra parte!\n"
-"Esto normalmente ocurre debido a un problema de instalación. Por favor lea "
-"el archivo README en el paquete fuente para mas detalles."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Herramienta de diff y fusión de texto"
+"Esto normalmente ocurre debido a un problema de instalación. Por favor lea el "
+"archivo README en el paquete fuente para mas detalles."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Herramienta para comparación y fusión de archivos y directorios"
+
+#: main.cpp:40
 msgid "Merge the input."
-msgstr "Fusionar la entrada"
-
-#: main.cpp:37
+msgstr "Fusionar la entrada."
+
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Archivo base explícito. Para compatibilidad con algunas herramientas."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Archivo de salida. Implica -m. E.g.: -o newfile.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr "Archivo de salida, de nuevo. (Para compatibilidad con algunas herramientas.)"
-
-#: main.cpp:41
+msgstr ""
+"Archivo de salida, de nuevo. (Para compatibilidad con algunas herramientas.)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
 "Ninguna interfaz si todos los conflictos son auto-resolvibles. (necesita "
 "archivo -o)"
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "No resolver conflictos automáticamente (Por compatibilidad...)"
 
-#: main.cpp:43
-#, fuzzy
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
-msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada."
-
-#: main.cpp:44
-#, fuzzy
+msgstr "Reemplazamiento visible de nombre para el archivo de entrada 1 (base)."
+
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
-msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada."
-
-#: main.cpp:45
-#, fuzzy
+msgstr "Reemplazamiento visible de nombre para el archivo de entrada 2."
+
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
-msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada."
-
-#: main.cpp:47
-#, fuzzy
+msgstr "Reemplazamiento visible de nombre para el archivo de entrada 3."
+
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada."
-
-#: main.cpp:48
-#, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Por compatibilidad con algunas herramientas."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Por compatibilidad con algunas herramientas."
-
-#: main.cpp:52
+msgstr ""
+"Reemplazamiento alternativo visible de nombre. Facilitarlo una vez por cada "
+"entrada."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Sustituir una opción de configuración. Utilícelo para cada configuración. P. "
+"ej.: --cs \"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Mostrar una lista de las configuraciones y valores actuales."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Utilizar un archivo de configuración diferente."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "archivo1 a abrir (base, si no se ha especificado via --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "archivo2 a abrir"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "archivo3 a abrir"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Ignorada (definida por el usuario)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-
-#: mergeresultwindow.cpp:254
+"+ ¡Muchas gracias a aquellos que han informado de errores y han contribuido con "
+"ideas!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Número de conflictos sin resolver: %1 (%2 de los cuales son espacios en blanco)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1202,91 +1314,95 @@
 "La salida ha sido modificada.\n"
 "Si continua, sus cambios se perderán."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Todos los archivos de entrada son binariamente iguales."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Todos los archivos de entrada contienen el mismo texto."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Los archivos A y B son binariamente iguales.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Los archivos A y B tiene el mismo texto. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Los archivos A y C son binariamente iguales.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Los archivos A y C tiene el mismo texto. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Los archivos B y C son binariamente iguales.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Los archivos B y C tiene el mismo texto. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
-msgstr "Número total de conflictos:"
-
-#: mergeresultwindow.cpp:739
+msgstr "Número total de conflictos: "
+
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
 "\n"
-"Nº de conflictos resueltos automáticamente:"
-
-#: mergeresultwindow.cpp:740
+"Nº de conflictos resueltos automáticamente: "
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
 msgstr ""
 "\n"
-"Nº de conflictos sin resolver:"
-
-#: mergeresultwindow.cpp:742
+"Nº de conflictos sin resolver: "
+
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflictos"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
-msgstr "<No src line>"
-
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+msgstr "<Sin línea fuente>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Conflicto de fusionado (Solo espacio en blanco)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
-msgstr "<Merge Conflict>"
-
-#: mergeresultwindow.cpp:1155
+msgstr "<Conflicto de fusionado>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Salida"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Modificado]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1294,41 +1410,53 @@
 "No todos los conflictos se han resuelto ya.\n"
 "Archivo sin guardar.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Conflictos que faltan"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Archivo sin guardar"
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Fallo al crear copia de seguridad. Archivo sin guardar."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Error al guardar archivo"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Fuera de memoria mientras se preparaba para guardar"
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
-msgstr "Error al escribir"
-
-#: optiondialog.cpp:330
+msgstr "Error al escribir."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Cambier esto si ningún carácter ASCII se muestra correctamente."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Fuente para el editor y salida diff"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Fuenta cursiva para deltas"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1336,63 +1464,99 @@
 "Selecciona la version cursiva de la fuente para las diferencias.\n"
 "Si la fuente no soporta carácteres cursivos, entonces esto no hace nada."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Color"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Colores en la salida diff y editor"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Preferencias de color"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Vistas del editor y las diferencias:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Color de primer plano:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Color de fondo:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Color de fondo de diff:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Color A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Color B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Color C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Color de conflicto:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Rango actual de color de fondo:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Rango actual de color de fondo de diff:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "Color para los rangos de diferencias seleccionadas manualmente:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Vista de comparación de directorio:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "Color del archivo más nuevo:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+"Cambiar este color solo será efectivo cuando inicie de nuevo la comparación de "
+"directorios."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "Color del archivo más antiguo:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "Color de los archivos intermedios:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "Color de los archivos que faltan:"
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Comportamiento del editor"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "El tabulador inserta espacios"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1400,25 +1564,25 @@
 "On: Pulsando el tabulador genera el número apropiado de espacios.\n"
 "Off: Se insertará un carácter de tabulador."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tamaño del tabulador:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Auto identación"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "On: Se usará la identación de la línea anterior para una nueva línea.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Auto-copiar selección"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1426,39 +1590,31 @@
 "On: Se copiará inmediátamente cualquier selección al portapapeles.\n"
 "Off: Debe copiar explícitamente p.e. via Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Estilo linea final:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Establece los finales de linea para cuando un archivo editado se guarde.\n"
 "DOS/Windows: CR+LF; Unix: LF; con CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Usar codificación local"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Cambier esto si ningún carácter ASCII se muestra correctamente."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
-msgstr "Diff & Fusión"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr "Configuraciones de diff y fusión"
-
-#: optiondialog.cpp:510
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr "Diferencia y fusión"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Preferencias de diferencia y fusión"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Conservar retorno de carro"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1467,50 +1623,52 @@
 "Ayuda a comparar archivos que fueron modificados bajo diferentes sistemas "
 "operativos."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorar números"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Ignorar carácteres numéricos durante la fase combinación de linea. "
-"(Similar a ignorar espacios en blanco.)\n"
+"Ignorar carácteres numéricos durante la fase combinación de linea. (Similar a "
+"ignorar espacios en blanco.)\n"
 "Puede ayudar a comparar archivos con datos numéricos."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignorar comentarios de C/C++"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Trata los comentarios de C/C++ como espacios en blanco."
 
-#: optiondialog.cpp:532
-#, fuzzy
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "Ignorar números"
-
-#: optiondialog.cpp:535
+msgstr "Ignorar mayúsculas"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
-
-#: optiondialog.cpp:539
+"Tratar las diferencias de mayúsculas como cambios de espacios en blanco ('a'<=>"
+"'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
-msgstr "Comando del preprocesador:"
-
-#: optiondialog.cpp:543
+msgstr "Orden del preprocesador:"
+
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
-msgstr "Usar pre-procesamiento definido. (Ver los documentos para mas detalles.)"
-
-#: optiondialog.cpp:546
+msgstr ""
+"Usar pre-procesamiento definido. (Ver los documentos para mas detalles.)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
-msgstr "Comando de preprocesador de combinación de línea:"
-
-#: optiondialog.cpp:550
+msgstr "Orden de preprocesador de coincidencia de línea:"
+
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1518,11 +1676,11 @@
 "Este pre-procesador sólo se usa durante la combinación de línea.\n"
 "(Ver documentos para mas detalles.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Intentar mas a fondo (mas lento)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1530,56 +1688,192 @@
 "Activa la --opción mínima para el diff externo.\n"
 "El análisis de archivos grandos será mas lento."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Retardo auto avanzado (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"Cuando en modo auto-avanzado el resultado de la selección actual se "
-"muestran para el tiempo especificado, antes de saltar al siguiente "
-"conflicto. Rango: 0-2000 ms"
-
-#: optiondialog.cpp:571
+"Cuando en modo auto-avanzado el resultado de la selección actual se muestran "
+"para el tiempo especificado, antes de saltar al siguiente conflicto. Rango: "
+"0-2000 ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
-msgstr "Fusionar por defector espacios en blanco de dos archivos:"
-
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+msgstr "Fusionar espacios en blanco de dos archivos de forma predeterminada:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Elección manual"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Permitir el algoritmo de fusión para seleccionar automáticamente una "
-"entrada para sólo los cambios de espacios en blanco."
-
-#: optiondialog.cpp:584
+"Permitir el algoritmo de fusión para seleccionar automáticamente una entrada "
+"para sólo los cambios de espacios en blanco."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
-msgstr "Fusionar por defector espacios en blanco de tres archivos:"
-
-#: optiondialog.cpp:603
+msgstr "Fusionar espacios en blanco de tres archivos de forma predeterminada:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Expresión regular de fusión automática"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Expresión regular de fusión automática:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"Expresión regular para las líneas en las que KDiff3 debería seleccionar una "
+"fuente de forma automática.\n"
+"Cuando una línea con un conflicto coincide con la expresión regular se elegirá "
+"«then/n- if available -C, otherwise B»."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+"Ejecutar la expresión regular de fusión automática al iniciar la fusión"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Ejecuta la fusión para las expresiones regulares de fusión automática\n"
+"de forma inmediata cuando se inicia la fusión.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Fusionado del historial de control de versiones"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Expresión regular de inicio del historial:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"Expresión regular para el inicio de la entrada del historial de fusión.\n"
+"Esta línea suele contener la palabra clave «$Log$
+"Esta línea suele contener la palabra clave «Revision 1.3  2006/04/10 08:33:34  joachim99
+"Esta línea suele contener la palabra clave «KDiff3 0.9.89
+"Esta línea suele contener la palabra clave «».\n"
+"El valor predeterminado es: «.*\\$Log.*\\$.*»"
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Expresión regular de inicio de la entrada del historial:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"Una entrada del historial de fusión está formada por varias líneas.\n"
+"Especifique la expresión regular utilizada para detectar la primera línea (sin "
+"el comentario inicial).\n"
+"Utilice paréntesis para agrupar las claves de ordenación que desee utilizar.\n"
+"Si lo deja vacío, KDiff3 asumirá que las líneas vacías separan las entradas del "
+"historial.\n"
+"Consulte la documentación para obtener más detalles."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Ordenación de fusión del historial"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Ordenar el historial del control de versiones con una clave."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+"Orden de la clave de ordenación del inicio de la entrada del historial:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Cada paréntesis utilizado en la expresión regular para la entrada de inicio del "
+"historial\n"
+"agrupa una clave que podrá utilizarse para la ordenación.\n"
+"Especifique la lista de claves (están numeradas por orden de aparición\n"
+"comenzando en 1) utilizando «,» como separador (p.ej. «4,5,6,1,2,3,7»).\n"
+"Si se deja vacío, no se realizará ordenación.\n"
+"Consulte la documentación para obtener más detalles."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr "Fusionar el historial de control de versiones al iniciar la fusión"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+"Ejecuta la fusión automática del historial del control de versiones al iniciar "
+"el fusionado."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Verificar sus expresiones regulares"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Orden de fusión irrelevante:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Si se especifica, este script se ejecutará después de la fusión automática\n"
+"cuando no se hayan detectado otros cambios relevantes.\n"
+"Se llama con los parámetros: nombrearchivo1 nombrearchivo2 nombrearchivo3"
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Fusión de directorio"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Introducirse en los directorios"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Analizar los subdirectorios o no."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Patron(es) de archivo(s):"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1589,11 +1883,11 @@
 "Comodines:  '*' y '?'\n"
 "Se pueden especificar muchos patrones usando el separador: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Patron(es) anti-archivo(s):"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1603,11 +1897,11 @@
 "Comodines:  '*' y '?'\n"
 "Se pueden especificar muchos patrones usando el separador: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Patron(es) anti-directorio(s):"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1617,36 +1911,35 @@
 "Comodines:  '*' y '?'\n"
 "Se pueden especificar muchos patrones usando el separador: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Usar .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
 "Extiende el antipatrón para todo lo que sería ignorado por CVS.\n"
-"Esto puede ser especificado por directorios via archivos locales "
-"\".cvsignore\"."
-
-#: optiondialog.cpp:656
+"Esto puede ser especificado por directorios via archivos locales «.cvsignore»."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Buscar archivos y directorios ocultos"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Busca archivos de directorios con el atributo de oculto."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Busca archivos y directorios que comiencen por '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Seguir enlaces de archivos"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1654,11 +1947,11 @@
 "On: Comparar el archivo que al que apunta el enlace.\n"
 "Off: Comparar los enlaces."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Seguir enlaces de directorios"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1666,56 +1959,75 @@
 "On: Comparar el directorio al que apunta el enlace.\n"
 "Off: Comparar los enlaces."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Listar sólo deltas"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Los archivos y directorios sin cambio no aparecerán en la lista."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "Comparación de nombres de archivo sensible a mayúsculas y minúsculas"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"La comparación de directorios comparará archivos o directorios cuando sus "
+"nombre coincidan.\n"
+"Active esta opción si deben compararse los nombres teniendo en cuenta "
+"mayúsculas y minúsculas (para Windows el valor predeterminado es desactivado, "
+"en otro caso, estará activado)"
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-#, fuzzy
-msgid "Binary Comparison"
-msgstr "Estado de la comparación del directorio"
-
-#: optiondialog.cpp:692
+msgstr "Modo de comparación de archivos"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Comparación binaria"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Comparación binaria de cada archivo (predeterminado)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Análisis completo"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
+"Hacer un análisis completo y mostrar información de las estadísticas en "
+"columnas extras.\n"
+"(Mas lento que una comparación binara, mucho mas lento para archivos binarios.)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Validar la fecha de modificación (inseguro)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"Asumir que los archivos son iguales si la fecha de modificación y la "
-"longitud del archivos son iguales.\n"
+"Asumir que los archivos son iguales si la fecha de modificación y la longitud "
+"del archivos son iguales.\n"
 "Útil para directorios grandes y redes lentas."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Validar el tamaño (inseguro)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
@@ -1725,11 +2037,11 @@
 "Útil para directorios grandes y redes lentas cuando la fecha se modifica "
 "durante la descarga."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Sincronizar directorios"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1739,11 +2051,23 @@
 "ambios directorios sean después el mismo.\n"
 "Sólo funciona cuando se compara dos directorios sin especificar un destino."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Las diferencias de espacios en blanco se consideran igual"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Si el archivo se diferencia sólo por espacios en blanco, considerarlo igual.\n"
+"Esto sólamente está activo cuando se elije análisis completo."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Copiar el mas nuevo en vez de fusionar (inseguro)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1753,11 +2077,11 @@
 "(¡Utilice esto sólo si sabe qué está haciendo!)\n"
 "Sólo es efectivo cuando se compara dos directorios."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Archivos de copias de seguridad (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1765,27 +2089,96 @@
 "Cuando un archivo se graba sobre otro mas antiguo, el archivo antiguo\n"
 "se renombrará con extensión '.orig' en vez de ser borrado."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Configuraciones regionales"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Idioma (requiere reiniciar)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-"Elija el idioma para las cadenas de la interfaz o \"Auto\".\n"
+"Elija el idioma para las cadenas de la interfaz o «Auto».\n"
 "Para que ocurra el cambio de lenguaje, salga y reinicie KDiff3."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Usar la misma codificación para todo:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Activar esto permite cambiar todas las codificaciónes cambiando sólo la "
+"primera.\n"
+"Desactivar esto si se necesitan configuración individuales diferentes."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Nota: Codificación local es"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Codificación de archivo para A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Codificación de archivo para B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Codificación de archivo para C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Codificación de archivo para la salida de la fusión y guardar:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Codificación de archivo para los archivos del preprocesador:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Lenguaje de derecha a izquierda"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Algunos lenguajes se leen de derecha a izquierda.\n"
+"Esta configuración cambiará el visor y el editor adaptándolo."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Integración"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Preferencias de integración"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Opciones de la línea de órdenes que se ignorarán:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Lista de las opciones de la línea de órdenes que se ignorarán cuando KDiff3 se "
+"utiliza con otras herramientas.\n"
+"Se pueden especificar varios valores separados por «;»\n"
+"Eliminará el error «Error desconocido»."
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1801,87 +2194,91 @@
 "\n"
 "¿Desea continuar o desea seleccionar otra fuente?"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Fuente incompatible"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Continuar bajo nuestro riesgo"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Seleccionar otra fuente"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Esto reestablece todas las opciones. No sólo las de tema actual."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
-msgstr "Comando del preprocesador:"
-
-#: pdiff.cpp:262
+msgstr "Orden del preprocesador: "
+
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-
-#: pdiff.cpp:263
+"La(s) siguiente(s) opcion(es) que ha seleccionado pueden cambiar datos:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr ""
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr ""
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Opción insegura para la fusión"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Utilizar estas opciones durante la fusión"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Desactivar opciones inseguras"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Cargando A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Cargando B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Dif: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Lineadiff: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Cargando C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Dif: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Dif: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Lineadiff: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Lineadiff: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1891,133 +2288,250 @@
 "Tenga en cuenta que la fusión de KDiff3 no se creó para datos binarios.\n"
 "Continúe bajo su propia cuenta."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Abandonar"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Abriendo archivos..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Error al abrir el archivo"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Cortando selección..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Copiando la selección al portapapeles..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Insertando el contenido del portapapeles..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Guardar y continuar"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continuar sin guardar"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Búsqueda completada."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Búsqueda completada"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr "Pulse sobre las líneas que debrían coincidir en todas las ventanas."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+"No hay nada seleccionado en ninguna de las ventanas de entradas de diferencias."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Error al añadir un rango de diferencia manual"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configurar KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Directorio"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Elemento actual de operación de fusión"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Elemento actual de operación de sincronización"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Movimiento"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iffview"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Fusionar"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Ventana"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Base):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Archivo..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Dir..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Opcional):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Intercambiar/copiar nombres..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Intercambiar"
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Salida (opcional):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Configurar..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Abortar"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Abriendo archivos..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Error al abrir el archivo"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Cortando selección..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Copiando la selección al portapapeles..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Insertando el contenido del portapapeles..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Guardar y continuar"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Continuar sin guardar"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Búsqueda completada"
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Búsqueda completada"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Configurar KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Directorio"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Elemento actual de operación de fusión"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Elemento actual de operación de sincronización"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Movimiento"
-
-#: rc.cpp:9
-#, fuzzy
-msgid "D&iffview"
-msgstr "KDiff3"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Fusionar"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Ventana"
-
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Error al escribir archivo temporal: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Convertir a letras mayúsculas"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Cambiar todas las minúsculas por mayúsculas en la lectura. (p.e.. 'a'-"
-#~ ">'A')"
-
-#~ msgid "Codec for file contents"
-#~ msgstr "Codec para los contenidos del archivo"
-
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Convertir a letras mayúsculas\n"
-
-#~ msgid ""
-#~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
-#~ msgstr ""
-#~ "Falló la ejecución del diff externo.\n"
-#~ "Compruebe que el diff funcione, si el programa puede escribir en la "
-#~ "carpeta temp o si el disco está lleno.\n"
-#~ "La opción de diff externo se desactivará ahora y se usará el diff interno."
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Buscar texto:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Distinción de mayúsculas"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Buscar A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Buscar B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Buscar C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Buscar salida"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "Bu&scar"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "sin selección"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Coincidencia manual de líneas"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Verificar expresión regular"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Ejemplo de línea de inicio de la fusión automática:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+"Para la copia de una prueba de fusión automática tal y como se utiliza en sus "
+"archivos."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Resultado coincidente:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+"Ejemplo de la línea de inicio del historial (con comentarios importantes):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Copia una línea de inicio de historial tal y como se utiliza en sus archivos,\n"
+"pero omite los comentarios importantes."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "Orden de la clave de ordenación del historial:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+"Ejemplo de la línea de inicio de la entrada del historial (sin comentarios "
+"importantes):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Copia una línea de inicio de la entrada del historial tal y como se utiliza en "
+"sus archivos,\n"
+"pero omite los comentarios importantes."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Resultado de la clave de ordenación:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Aceptar"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Coincidencia correcta."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Coincidencia fallida."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+"Apertura y cierre de paréntesis que no coinciden en la expresión regular."
--- a/kdiff3/po/et.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/et.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,12 +1,12 @@
 # translation of kdiff3.po to Estonian
 # Copyright (C) 2003 Free Software Foundation, Inc.
-# Marek Laane <bald@online.ee>, 2003.
+# Marek Laane <bald@online.ee>, 2003-2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2003-10-08 02:38+0300\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-07 13:24+0300\n"
 "Last-Translator: Marek Laane <bald@online.ee>\n"
 "Language-Team: Estonian <kde-et@linux.ee>\n"
 "MIME-Version: 1.0\n"
@@ -26,15 +26,15 @@
 "Your emails"
 msgstr "bald@online.ee"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Lõikepuhvri andmete kirjutamine ajutisse faili ebaõnnestus."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Lõikepuhvrist"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -48,7 +48,7 @@
 "\n"
 "Praegu lülitatakse eeltöötluse käsu rakendamine välja."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -62,7 +62,7 @@
 "\n"
 "Praegu lülitatakse reasobivuse eeltöötluse käsu rakendamine välja."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -70,267 +70,269 @@
 "Andmekaotuse viga:\n"
 "Kui see on korratav, võta palun ühendust autoriga.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Tõsine seesmine viga"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Ülarida %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Lõpp"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Viitade ja tavafailide segu."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Viit: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Suurus. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Kuupäev ja suurus: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "%1 ajutise koopia loomine ebaõnnestus-"
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "%1 avamine ebaõnnestus."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "Faili võrdlemine..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Viga %1 lugemisel"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nimi"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operatsioon"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Staatus"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Lahendamata"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Lahendatud"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Mitte-tühimärk"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Tühimärk"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"Sul on parajasti käsil kataloogi ühendamine. Kas tõesti ühendamine "
-"katkestada ja kataloog uuesti läbi uurida?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Sul on parajasti käsil kataloogi ühendamine. Kas tõesti ühendamine katkestada "
+"ja kataloog uuesti läbi uurida?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Uuri uuesti läbi"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Jätka ühendamist"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Kataloogide avamine ebaõnnestus:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Kataloogi A \"%1\" ei ole olemas või ei ole see kataloog.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Kataloogi B \"%1\" ei ole olemas või ei ole see kataloog.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Kataloogi C \"%1\" ei ole olemas või ei ole see kataloog.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Kataloogi avamise viga"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
 "Sihtkataloog ei saa kolme kataloogi ühendamisel olla sama, mis A või B.\n"
 "Kontrolli seda asja enne jätkamist."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parameetri hoiatus"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
 msgstr "Kataloogide läbiuurimine..."
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Kataloogi A lugemine"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Kataloogi B lugemine"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Kataloogi C lugemine"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Mõned alamkataloogid ei olnud loetavad:"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Kontrolli alamkataloogide õigusi."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Valmis."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Kataloogi võrdlemise olek"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Alamkataloogide arv:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Võrdsete failide arv:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Erinevate failide arv:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Käsitsiühendamiste arv:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "See mõjutab kõiki ühendamisoperatsioone."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Kõigi ühendamisoperatsioonide muutmine"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "&Jätka"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Töödeldakse "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Veel tegemata."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Kopeeri A->B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Kopeeri B->A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Kustuta A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Kustuta B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Kustuta A ja B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Ühenda A-sse"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Ühenda B-sse"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Ühenda A-sse ja B-sse"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Kustuta (kui on olemas)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Ühenda"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Ühenda (käsitsi)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Viga: failitüüpide vastuolu"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Viga: kuupäevad on samad, aga mitte failid."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "See operatsioon ei ole praegu võimalik."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operatsioon ei ole võimalik"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -344,42 +346,42 @@
 "\n"
 "Kui sa tead, kuidas seda korrata, anna sellest teada rakenduse autorile."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Rakenduse viga"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Kopeerimisel tekkis viga.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Ühendamise viga"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Viga."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Tehtud."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Ei salvestatud."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Tundmatu ühendamisoperatsioon. (Seda ei peaks kunagi ette tulema!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Tundmatu ühendamisoperatsioon."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -392,300 +394,357 @@
 msgstr ""
 "Kohe algab ühendamine.\n"
 "\n"
-"Vali \"Tee seda\", kui oled lugenud juhiseid ja tead täpselt, mida ette "
-"võtad.\n"
+"Vali \"Tee seda\", kui oled lugenud juhiseid ja tead täpselt, mida ette võtad.\n"
 "Vali \"Simuleeri\", kui soovid näha, mis juhtub.\n"
 "\n"
 "Arvesta, et rakendus on endiselt arendusjärgus ja pole MINGIT GARANTIID, et "
-"üldse midagi juhtub või et kõik õigesti juhtub! Tee kindlasti "
-"tähtsatest andmetest varukoopia!"
-
-#: directorymergewindow.cpp:1686
+"üldse midagi juhtub või et kõik õigesti juhtub! Tee kindlasti tähtsatest "
+"andmetest varukoopia!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Ühendamise alustamine"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Tee ära"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simuleeri"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
-"Esiletõstetud element on erinevates kataloogides erineva tüübiga. "
-"Otsusta, mida teha."
-
-#: directorymergewindow.cpp:1721
+"Esiletõstetud element on erinevates kataloogides erineva tüübiga. Otsusta, mida "
+"teha."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
-msgstr "Failide muutmise aeg on sama, aga failid ise mitte. Otsusta, mida teha."
-
-#: directorymergewindow.cpp:1778
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Failide muutmise aeg on sama, aga failid ise mitte. Otsusta, mida teha."
+
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
-msgstr "See operatsioon ei ole praegu võimalik, sest käib kataloogide ühendamine."
-
-#: directorymergewindow.cpp:1838
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"See operatsioon ei ole praegu võimalik, sest käib kataloogide ühendamine."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Viimasel sammul tekkis viga.\n"
 "Kas soovid jätkata elemendiga, mis vea põhjustas, või selle vahele jätta?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Jätka ühendamist pärast viga"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Jätka viimase elemendiga"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Jäta vahele"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Vahele jäetud."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Töös..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Ühendamisoperatsioon lõpetatud."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Ühendamine lõpetatud"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Ühendamise simulatsioon lõpetatud: märgi, kui oled pakutavate "
-"operatsioonidega nõus."
-
-#: directorymergewindow.cpp:1977
+"Ühendamise simulatsioon lõpetatud: märgi, kui oled pakutavate operatsioonidega "
+"nõus."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Tekkis viga. Lähema info saamiseks klõpsa 'OK'.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Viga %1 kustutamisel: varukoopia loomine ebaõnnestus."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "kustuta kataloog rekursiivselt( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "kustuta( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
-msgstr "Viga: kataloogi kustutamine ebaõnnestus juba kataloogi lugemise katsel."
-
-#: directorymergewindow.cpp:2063
+msgstr ""
+"Viga: kataloogi kustutamine ebaõnnestus juba kataloogi lugemise katsel."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Viga: operatsioon rmdir( %1 ) ebaõnnestus."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Viga: kustutamisoperatsioon ebaõnnestus."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "käsitsi ühendamine( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr "     Märkus: pärast käsitsi ühendamist tuleks jätkata klahviga F7."
 
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Viga: kopeeri( %1 ->"
-" %2) ebaõnnestus, sest olemasoleva sihtkoha kustutamine ebaõnnestus."
-
-#: directorymergewindow.cpp:2135
+"Viga: kopeeri( %1 -> %2) ebaõnnestus, sest olemasoleva sihtkoha kustutamine "
+"ebaõnnestus."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "kopeeri viit( %1 -> %2)"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
-msgstr "Viga: viida kopeerimine ebaõnnestus, sest kaugviidad ei ole veel toetatud."
-
-#: directorymergewindow.cpp:2152
+msgstr ""
+"Viga: viida kopeerimine ebaõnnestus, sest kaugviidad ei ole veel toetatud."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Viga: viida kopeerimine ebaõnnestus."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "kopeeri( %1 -> %2)"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Viga operatsioonil 'nimeta ümber( %1 -> %2)': olemasoleva sihtkoha "
-"kustutamine ebaõnnestus."
-
-#: directorymergewindow.cpp:2204
+"Viga operatsioonil 'nimeta ümber( %1 -> %2)': olemasoleva sihtkoha kustutamine "
+"ebaõnnestus."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "nimeta ümber( %1 -> %2)"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Viga: ümbernimetamine ebaõnnestus."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "Viga kataloogi %1 loomisel: olemasoleva faili kustutamine ebaõnnestus."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "loo kataloog( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Viga kataloogi loomisel."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Sihtkoht"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Kataloog"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Tüüp"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Suurus"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Atribuut"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Viimase muutmise aeg"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Viit-sihtkoht"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "pole kättesaadav"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (sihtkoht): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (baas): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (sihtkoht): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (sihtkoht): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Sihtkoht: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Kataloogi ühendamine"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Alusta/jätka kataloogi ühendamist"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Käivita operatsioon käesoleva elemendiga"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Võrdle valitud faili"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Ühenda praegune fail"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Ava kõik alamkataloogid"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Sule kõik alamkataloogid"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Kataloogi ühendamine"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Kataloogi ühendamine"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Vali A kõigile elementidele"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Vali B kõigile elementidele"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Vali C kõigile elementidele"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Automaatne valik kõigile elementidele"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Ei ühtki operatsiooni kõigile elementidele"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Kataloogide sünkroniseerimine"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Ühendamise asemel kopeeritakse uuem (ebaturvaline)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Erinevate failide arv:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Võrdle valitud faili"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Võrdle valitud faili"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Ära tee midagi"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Kustuta (kui on olemas)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Kustuta A ja B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "Ühenda A-sse ja B-sse"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -693,7 +752,7 @@
 "Varukoopia tegemisel ebaõnnestus vanema varukoopia kustutamine. \n"
 "Faili nimi: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -701,478 +760,542 @@
 "Varukoopia tegemisel ebaõnnestus ümbernimetamine. \n"
 "Failide nimed: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Faili staatuse hankimine: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Faili lugemine: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Faili kirjutamine: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Mälu napib"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Kataloogi loomine: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Kataloogi eemaldamine: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Faili eemaldamine: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Nimeviida loomine: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Faili ümbernimetamine: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Faili kopeerimine: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
 "Viga faili kopeerimise operatsioonil: faili avamine lugemiseks ebaõnnestus. "
 "Failinimi: %1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Viga faili kopeerimise operatsioonil: faili avamine kirjutamiseks "
-"ebaõnnestus. Failinimi: %1"
-
-#: fileaccess.cpp:859
+"Viga faili kopeerimise operatsioonil: faili avamine kirjutamiseks ebaõnnestus. "
+"Failinimi: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
-msgstr "Viga faili kopeerimise operatsioonil: lugemine ebaõnnestus. Failinimi: %1"
-
-#: fileaccess.cpp:868
+msgstr ""
+"Viga faili kopeerimise operatsioonil: lugemine ebaõnnestus. Failinimi: %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
-msgstr "Viga faili kopeerimise operatsioonil: kirjutamine ebaõnnestus. Failinimi: %1"
-
-#: fileaccess.cpp:1171
+msgstr ""
+"Viga faili kopeerimise operatsioonil: kirjutamine ebaõnnestus. Failinimi: %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Kataloogi lugemine: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Kataloogi uurimine: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Käesoleva elemendi sünkroniseerimisoperatsioon"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Viga faili avamisel"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Kasutati võtit --atuo, kuid väljundfail pole määratud."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Kataloogide võrdlemisel ignoreeriti võtit --auto."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Salvestamine ebaõnnestus."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Nende failide avamine ebaõnnestus:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Viga faili avamisel"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Avab dokumendid võrdlemiseks..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr "Salvestab ühendamise tulemuse. Kõik konfliktid peavad olema lahendatud!"
-
-#: kdiff3.cpp:333
+msgstr ""
+"Salvestab ühendamise tulemuse. Kõik konfliktid peavad olema lahendatud!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Salvestab käesoleva dokumendi nimega..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Väljub rakendusest"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Valitud teksti lõikamine ja asetamine lõikepuhvrisse"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopeerib valitud lõigu lõikepuhvrisse"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Lõikepuhvri sisu asetamine praegusesse asukohta"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Otsib stringi"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Otsib uuesti stringi"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Lülitab tööriistariba sisse/välja"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Lülitab staatusriba sisse/välja"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "KDiff3 seadistamine..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Liigu praegusele erinevusele"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Liigu esimesele erinevusele"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Liigu viimasele erinevusele"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Jätab tühimärkide erinevused vahele, kui \"Tühimärkide näitamine\" ei ole "
+"sees.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Tühimärkide erinevusi näidatakse isegi siis, kui \"Tühimärkide näitamine\" ei "
+"ole sees.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Liigu eelmisele erinevusele"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Liigu järgmisele erinevusele"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Liigu eelmisele konfliktile"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Liigu järgmisele konfliktile"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Liigu eelmisele lahendamata konfliktile"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Liigu järgmisele lahendamata konfliktile"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Vali rida/read A-st"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Vali rida/read B-st"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Vali rida/read C-st"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
-msgstr "Pärast allikavalikut liigu automaatselt järgmisele lahendamata konfliktile"
-
-#: kdiff3.cpp:388
+msgstr ""
+"Pärast allikavalikut liigu automaatselt järgmisele lahendamata konfliktile"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Näita erinevusi tühiku- ja tabeldusmärkides"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Näita tühimärke"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Näita reanumbreid"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Vali A kõikjal"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Vali B kõikjal"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Vali C kõikjal"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Vali A kõigi lahendamata konfliktide korral"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Vali B kõigi lahendamata konfliktide korral"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Vali C kõigi lahendamata konfliktide korral"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Vali A kõigi lahendamata tühimärgikonkfliktide korral"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Vali B kõigi lahendamata tühimärgikonkfliktide korral"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Vali C kõigi lahendamata tühimärgikonkfliktide korral"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Lahenda automaatselt lihtsad konfliktid"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Määra erinevused konfliktideks"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Lahenda automaatselt lihtsad konfliktid"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Näita akent A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Näita akent B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Näita akent C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Fokuseeri järgmisele aknale"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normaalne ülevaade"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A-B ülevaade"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A-C ülevaade"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B-C ülevaade"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Reamurdmine võrdlusakendes"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Fokuseeri eelmisele aknale"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Lülita poolitamissuund"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Kataloogi ja teksti poolitamisvaade"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Lülita kataloogi- ja tekstivaadet"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Ühendamise tulemust pole salvestatud."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Salvesta ja välju"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Välju salvestamata"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Ühendamise tulemuse salvestamine ebaõnnestus."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr "Sul on parajasti käsil kataloogide ühendamine. Kas tõesti katkestada?"
 
-#: kdiff3.cpp:547
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Faili salvestamine..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Faili salvestamine uue nimega..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Väljumine..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Ühendamisoperatsioon lõpetatud."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Väljumine..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Tööriistariba lülitamine..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Olekuriba lülitamine..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Otsitav tekst:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Tõstutundlik"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Otsi A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Otsi B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Otsi C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Otsingu väljund"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Otsi"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Faile võrdlemiseks ei leitud."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3 komponent"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "KDiff3 komponenti ei õnnestunud leida!\n"
-"Tavaliselt tähendab see paigaldusprobleemi. Palun loe lähtepaketi faili "
-"README."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Tekstierinevuste näitamise ja ühendamise vahend"
+"Tavaliselt tähendab see paigaldusprobleemi. Palun loe lähtepaketi faili README."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Failide ja kataloogide võrdlemise ning ühendamise vahend"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Liidab sisendi."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Konkreetne põhifail (ühilduvuseks teatud tööriistadega)."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Väljundfail. Eeldab -m. Nt. -o usfail.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "Taas väljundfail (ühilduvuseks teatud tööriistadega)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr "GUI puudub, kui kõik konfliktid lahenevad ise (vajalik on -o fail)"
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Konflikte ei lahendata automaatselt (jälle ühilduvuse nimel...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Nähtava nime asendus sisendfailile 1 (baas)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Nähtava nime asendus sisendfailile 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Nähtava nime asendus sisendfailile 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Nähtava nime alternatiivne asendus. See tuleb anda kord iga sisendi jaoks."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Toimeta. Ühilduvuseks teatud tööriistadega."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Ühilduvuseks teatud tööriistadega."
-
-#: main.cpp:52
+msgstr ""
+"Nähtava nime alternatiivne asendus. See tuleb anda kord iga sisendi jaoks."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Erinevate failide arv:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "avatav fail1 (põhifail, kui --base teisiti ei määra)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "avatav fail2"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "avatav fail3"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-"+ palju tänu kõigile, kes andsid teada vigadest ja pakkusid välja uusi "
-"mõtteid!"
-
-#: mergeresultwindow.cpp:254
+"+ palju tänu kõigile, kes andsid teada vigadest ja pakkusid välja uusi mõtteid!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Lahendamata konfliktide arv: %1 (neist %2 on tühimärgierinevused)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1180,55 +1303,55 @@
 "Väljundit on muudetud.\n"
 "Kui jätkad, lähevad sinu muudatused kaotsi."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Kõik sisendfailid on binaarselt võrdsed."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Kõik sisendfailid sisaldavad ühesugust teksti."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Failid A ja B on binaarselt võrdsed.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Failid A ja B on ühesuguse tekstiga. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Failid A ja C on binaarselt võrdsed.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Failid A ja C on ühesuguse tekstiga. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Failid B ja C on binaarselt võrdsed.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Failid B ja C on ühesuguse tekstiga. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Konfliktide koguarv: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1236,7 +1359,7 @@
 "\n"
 "Automaatselt lahendatud konfliktide arv: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1244,27 +1367,31 @@
 "\n"
 "Lahendamata konfliktide arv: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Konfliktid"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Lähterida puudub>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Ühendamise konflikt (ainult tühimärgid)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Ühendamise konflikt>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Väljund"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Muudetud]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1272,41 +1399,53 @@
 "Kõik konfliktid pole veel lahendatud.\n"
 "Faili ei salvestatud.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Järelejäänud konfliktid"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Faili ei salvestatud."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Varukoopia loomine ebaõnnestus. Faili ei salvestatud."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Faili salvestamise viga"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Salvestamiseks valmistumisel sai mälu otsa."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Kirjutamise viga."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode (8-bitine)"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Muuda, kui mitte-ASCII sümboleid ei näidata korrektselt."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Redaktori ja erinevuse väljundi font"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Kaldkiri erinevustele"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1314,63 +1453,99 @@
 "Valib fondi kaldkirjaversiooni erinevuste näitamiseks.\n"
 "Kui font ei toeta kaldkirja, ei tee midagi."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Värv"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Redaktori ja erinevuse väljundi värvid"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Lokaale seadistused"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Esiplaani värv:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Tausta värv:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Erinevuse tausta värv:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Värv A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Värv B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Värv C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Konflikti värv:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Praeguse vahemiku tausta värv:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Praeguse vahemiku erinevuse tausta värv:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Kataloogi võrdlemise olek"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Redaktor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Redaktori käitumine"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "TAB lisab tühikud"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1378,25 +1553,25 @@
 "Sees: TAB klahvi vajutamine tekitab sobiva hulga tühikuid.\n"
 "Väljas: lisatakse tabeldusmärk."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "TABi suurus:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Automaatne taandus"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Sees: uuel real kasutatakse eelmise rea taandust.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Valiku automaatne kopeerimine"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1404,90 +1579,83 @@
 "Sees: iga valik asetatakse otsekohe lõikepuhvrisse.\n"
 "Väljas: kopeerimiseks tuleb anda selge käsk, nt. CTRL+C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Realõpu stiil:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Määrab realõpu stiili redigeeritud faili salvestamisel.\n"
 "DOS/Windows: CR+LF; Unix: LF; sealjuures CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Kohaliku kodeeringu kasutamine"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Muuda, kui mitte-ASCII sümboleid ei näidata korrektselt."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Erinevus ja ühendamine"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Erinevuse ja ühendamise seadistused"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Säilitatakse reavahetus"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 "Näidatakse kelgutagastusmärke '\\r', kui neid on.\n"
-"See on abiks erinevatest operatsioonisüsteemidest pärit failide "
-"võrdlemisel."
-
-#: optiondialog.cpp:518
+"See on abiks erinevatest operatsioonisüsteemidest pärit failide võrdlemisel."
+
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Numbreid ignoreeritakse"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 "Reasobivuse juures ignoreeritakse numbreid (sarnane tühimärkide "
 "ignoreerimisega).\n"
 "Võib olla abiks numbrilisi andmeid sisaldavate failide võrdlemisel."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "C/C++ kommentaare ignoreeritakse"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "C/C++ kommentaare käsitletakse tühimärkidena."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Tõstu ignoreeritakse"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr "Tõstuerinevusi käsitletakse tühimärgimuutustena. ('a'<=>'A')"
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Eeltöötluse käsk"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr "Kasutaja määratud eeltöötlus (vaata lähemalt käsiraamatust)."
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Ridade sobivuse eeltöötluse käsk:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1495,11 +1663,11 @@
 "Seda eeltöötlusvahendit kasutatakse ainult ridade sobivuse leidmisel\n"
 "(vaata lähemalt käsiraamatust)."
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Karm uurimine (aeglane)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1507,56 +1675,158 @@
 "Lubab välise diff-rakenduse korral võtme --minimal.\n"
 "Suurte failide analüüs muutub palju aeglasemaks."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Automaatse edasiliikumise viivitus (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"Automaatse edasiliikumise režiimis näidatakse tulemust määratud aeg ning "
-"\n"
+"Automaatse edasiliikumise režiimis näidatakse tulemust määratud aeg ning \n"
 "siis hüpatakse järgmisele konfliktile. Vahemik: 0-2000 ms"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Tühimärkide käsitlemine kahe faili ühendamisel:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Käsitsivalik"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
 "Lubab ühendamisalgoritmil ainult tühimärkides seisneva erinevuse korral "
 "automaatselt valida sisendi."
 
-#: optiondialog.cpp:584
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Tühimärkide käsitlemine kolme faili ühendamisel:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Kataloogi ühendamine"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Rekursiivsed kataloogid"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Kas analüüsida alamkatalooge või mitte."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Failimustrid:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1566,11 +1836,11 @@
 "Metamärgid: '*' ja '?'\n"
 "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Anti-failimustrid:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1580,11 +1850,11 @@
 "Metamärgid: '*' ja '?'\n"
 "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Anti-kataloogimustrid:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1594,11 +1864,11 @@
 "Metamärgid: '*' ja '?'\n"
 "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr ".cvsignore kasutamine"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1606,23 +1876,23 @@
 "Laiendab antimustrit kõigele, mida eiraks CVS.\n"
 "Kohalike \".cvsignore\" failide abil võib see olla kataloogipõhine."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Peidetud failide ja kataloogide otsimine"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Otsitakse peidetud faile ja katalooge."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Failide ja kataloogide otsimine, mille alguses seisab '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Failiviitade järgimine"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1630,11 +1900,11 @@
 "Sees: võrreldakse faili, mille viit osutab.\n"
 "Väljas: võrreldakse viitu."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Kataloogiviitade järgimine"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1642,31 +1912,43 @@
 "Sees: võrreldakse kataloogi, mille viit osutab.\n"
 "Väljas: võrreldakse viitu."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Ainult erinevuste näitamine"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Nimekirjas ei näidata muutusteta faile ja katalooge."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Faili võrdlemise režiim"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Binaarvõrdlus"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Iga faili binaarvõrdlus. (vaikimisi)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Täielik analüüs"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
@@ -1674,11 +1956,11 @@
 "Tehakse täielik analüüs, statistikat näidatakse lisaveergudes.\n"
 "(Aeglasem kui binaarvõrdlus ja eriti aeglane binaarfailide korral.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Muutmiskuupäeva usaldamine (ebaturvaline)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1688,11 +1970,11 @@
 "võrdsed.\n"
 "Mõttekas suurte kataloogide või aeglase võrgu korral."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Suuruse usaldamine (ebaturvaline)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
@@ -1702,11 +1984,11 @@
 "Mõttekas suurte kataloogide või aeglase võrgu korral, kui kuupäev võib "
 "allalaadimise käigus olla muutunud."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Kataloogide sünkroniseerimine"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1716,11 +1998,23 @@
 "nii et need näevad pärast seda välja ühesugused.\n"
 "Toimib ainult kahe kataloogi võrdlemisel ilma sihtkohta määramata."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Tühimärkide erinevust ei arvestata"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Kui failid erinevad ainult tühimärkide poolest, peetakse neid võrdseks.\n"
+"See valik on aktiivne ainult täieliku analüüsi korral."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Ühendamise asemel kopeeritakse uuem (ebaturvaline)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1730,11 +2024,11 @@
 "(Kasuta ainult siis, kui tead, mida teed!)\n"
 "Toimib ainult kahe kataloogi võrdlemisel."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Failidest tehakse varukoopia (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1742,19 +2036,15 @@
 "Kui fail salvestatakse vana faili asemele, ei kustutata vana faili,\n"
 "vaid sellele antakse uus nimi laiendiga '.orig'."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Lokaale seadistused"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Keel (vajalik taaskäivitus)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1762,7 +2052,77 @@
 "Vali GUI stringide keel või \"Auto\".\n"
 "Keele tegelikuks muutmiseks tuleb KDiff3 sulgeda ja uuesti käivitada."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Kõikjal kasutatakse kodeeringut:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Lubab muuta kõiki kodeeringuid ainult esimest kodeeringut muutes.\n"
+"Kui vaja on erinevaid määratlusi, lülita välja."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Märkus: kohalik kodeering on "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "A kodeering:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "B kodeering:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "C kodeering"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Kodeering ühendamisväljundil ja salvestamisel:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Eelprotsessori failide kodeering:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Paremalt-vasakule keeled"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Mõningaid keeli loetakse ja kirjutatakse paremalt vasakule.\n"
+"Selle valikuga saab vastavalt muuta näitajat ja redaktorit."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operatsioon"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Lokaale seadistused"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1778,33 +2138,33 @@
 "\n"
 "Kas soovid jätkata või valid uue fondi?"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Sobimatu font"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Jätkan oma riskil"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Valin uue fondi"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "See lähtestab kõik valikud, mitte ainult praeguse teema omad."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Eeltöötluse käsk: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "Järgmised valitud võimalused võivad muuta andmeid:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1814,55 +2174,55 @@
 "Peaaegu kindlasti ei ole see ühendamisel soovitav.\n"
 "Kas soovid need seadistused tühistada või siiski nendega jätkata?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr "Ebaturvaline valik ühendamisel"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Kasuta neid valikuid ühendamisel"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Keela ebaturvalised valikud"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "A laadimine"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "B laadimine"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Erinevus:  A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Reaerinevus: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "C laadimine"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Erinevus:  B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Erinevus:  A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Reaerinevus: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Reaerinevus: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1872,125 +2232,251 @@
 "Arvesta, et KDiff3 ühendamine ei ole mõeldud binaarfailidele.\n"
 "Jätka oma riskil."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Katkesta"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Failide avamine..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Viga faili avamisel"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Valitud teksti lõikamine..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Valitud teksti kopeerimine lõikepuhvrisse..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Lõikepuhvri sisu sisestamine..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Salvesta ja jätka"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Jätka salvestamata"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Otsing lõpetatud."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Otsing lõpetatud"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Viga kataloogi loomisel."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "KDiff&3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 seadistamine"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Kataloog"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Käesoleva elemendi ühendamisoperatsioon"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Käesoleva elemendi sünkroniseerimisoperatsioon"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Liikumine"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Võrdlus&evaade"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Ü&hendamine"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "Ake&n"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (baas):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Fail..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Kataloog..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (lisavõimalus):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Väljund (lisavõimalus):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Seadista..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Katkesta"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Failide avamine..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Viga faili avamisel"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Valitud teksti lõikamine..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Valitud teksti kopeerimine lõikepuhvrisse..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Lõikepuhvri sisu sisestamine..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Salvesta ja jätka"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Jätka salvestamata"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Otsing lõpetatud."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Otsing lõpetatud"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "KDiff&3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "KDiff3 seadistamine"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Kataloog"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Käesoleva elemendi ühendamisoperatsioon"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Käesoleva elemendi sünkroniseerimisoperatsioon"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Liikumine"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "Võrdlus&evaade"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "Ü&hendamine"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "Ake&n"
-
-#~ msgid "Codec for file contents"
-#~ msgstr "Failisisu koodek"
-
-#~ msgid ""
-#~ "Choose the codec that should be used for your input files\n"
-#~ "or \"Auto\" if unsure."
-#~ msgstr ""
-#~ "Vali koodek, mida kasutada sisendfailidel\n"
-#~ "või \"Auto\", kui sa ei ole kindel."
-
-#~ msgid ""
-#~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
-#~ msgstr ""
-#~ "Välise rakenduse käivitamine ebaõnnestus.\n"
-#~ "Kontrolli, kas diff töötab, kas rakendus tohib kirjutada ajutisse "
-#~ "kataloogi ja kas kettal on piisavalt ruumi.\n"
-#~ "Välise rakenduse kasutamise võimalus lülitatakse praegu välja, "
-#~ "kasutatakse sisemisi erinevuse leidmise võimalusi."
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Otsitav tekst:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Tõstutundlik"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Otsi A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Otsi B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Otsi C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Otsingu väljund"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Otsi"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Valiku automaatne kopeerimine"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Käsitsivalik"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Salvestamine ebaõnnestus."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Toimeta. Ühilduvuseks teatud tööriistadega."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Ühilduvuseks teatud tööriistadega."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Redaktori ja erinevuse väljundi värvid"
--- a/kdiff3/po/fr.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/fr.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,17 +1,13 @@
-# traduction de kdiff3.po en Français
-# traduction de kdiff3.app.po en Français
-# translation of kdiff3.app.po to French
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Simon DEPIETS <sdepiets@hotmail.com>, 2004.
-# Delafond <gerard@delafond.org>, 2004.
-# Simon DEPIETS <2df@tuxfamily.org>, 2004.
+# traduction de kdiff3.po vers le Français
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Simon Depiets <2df@tuxfamily.org>, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-04 14:38+0200\n"
-"Last-Translator: Simon DEPIETS <2df@tuxfamily.org>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-03 21:34+0100\n"
+"Last-Translator: Simon Depiets <2df@tuxfamily.org>\n"
 "Language-Team: Français <kde-francophone@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -30,17 +26,16 @@
 "Your emails"
 msgstr "2df@tuxfamily.org"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr ""
-"L'écriture des données du presse-papiers vers un fichier temporaire a "
-"échoué."
-
-#: diff.cpp:245
+"L'écriture des données du presse-papiers vers un fichier temporaire a échoué."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Depuis le Presse-papiers"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -48,14 +43,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-"La commande préprocesseur a peut-être échoué. Vérifiez cette "
-"commande :\n"
+"La commande préprocesseur a peut-être échoué. Vérifiez cette commande :\n"
 "\n"
 "  %1\n"
 "\n"
 "La commande préprocesseur sera désactivée désormais."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -63,14 +57,13 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"Le préprocessus de comparaison de lignes a échoué. Vérifiez cette "
-"commande :\n"
+"Le préprocessus de comparaison de lignes a échoué. Vérifiez cette commande :\n"
 "\n"
 "  %1\n"
 "\n"
 "Le préprocessus de comparaison de lignes sera désormais désactivé."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -78,268 +71,270 @@
 "Données perdues :\n"
 "Si cela se reproduit, contactez l'auteur.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Erreur interne sévère"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Première Ligne %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Fin"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mélange de liens et de fichiers normaux."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Lien : "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Taille. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Date et Taille : "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "La création de la copie temporaire de %1 a échoué."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "L'ouverture de %1 a échoué."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "Comparaison du fichier..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Erreur de lecture de %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nom"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Opération"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "État"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Non résolu"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Résolu"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Non blanc"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Blanc"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
 "Vous procédez à une fusion. Confirmez-vous l'abandon de la fusion et le "
 "rafraîchissement du dossier ?"
 
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Rafraîchissement"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "La fusion continue"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "L'ouverture des dossiers a échoué :"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Le dossier A « %1 » n'existe pas ou n'est pas un dossier.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Le dossier B « %1 » n'existe pas ou n'est pas un dossier.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Le dossier B « %1 » n'existe pas ou n'est pas un dossier.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Erreur lors de l'ouverture du dossier"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
 "Le dossier de destination ne doit pas être le même que A ou B quand trois "
 "fichiers sont fusionnés.\n"
 "Vérifiez avant de continuer."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Avertissement pour les paramètres"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
-msgstr "Scan des dossiers"
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Scan des dossiers..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Lecture du dossier A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Lecture du dossier B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Lecture du dossier C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Certains sous-dossiers ne sont pas lisibles"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Vérifiez les permissions des sous-dossiers."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Prêt."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "État de la comparaison des dossiers."
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Nombre de sous-dossiers :"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Nombre de fichiers identiques :"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Nombre de fichiers différents :"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Nombre de fusions manuelles :"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Cela affecte toutes les opérations de fusion"
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Changement de toutes les opérations de fusion"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "C&ontinuer"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "En cours "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "A faire."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Copier A vers B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Copier B vers A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Supprimer A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Supprimer B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Supprimer A et B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Fusionner vers A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Fusionner vers B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Fusionner vers A et B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Supprimer (si existant)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Fusion"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Fusion (Manuelle)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Erreur : conflit de types de fichiers"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Erreur : les dates sont les mêmes, mais pas les fichiers."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Cette opération n'est pas possible actuellement."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Opération impossible"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -353,42 +348,42 @@
 "\n"
 "Si vous savez comment reproduire cela, veuillez contacter l'auteur."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Erreur du programme"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Une erreur est survenue lors de la copie.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Erreur de fusion"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Erreur."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Fait."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Non enregistré."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Opération de fusion inconnue. (Ceci ne devrait jamais arriver !)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Opération de fusion inconnue."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -401,315 +396,366 @@
 msgstr ""
 "La fusion est sur le point de commencer\n"
 "\n"
-"Choisissez « Faire » si vous avez lu les instructions et savez ce que "
-"vous faites.\n"
+"Choisissez « Faire » si vous avez lu les instructions et savez ce que vous "
+"faites.\n"
 "Choisissez « Simuler » pour simuler ce qui arrivera.\n"
 "\n"
 "Sachez que ce programme est toujours en phase bêta et qu'il n'y a AUCUNE "
-"GARANTIE en aucun cas ! Sauvegardez vos données vitales !"
-
-#: directorymergewindow.cpp:1686
+"GARANTIE en aucun cas ! Enregistrez vos données vitales !"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Lancement de la fusion"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Faire"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simuler"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
-"L'objet surligné a un format différent dans les différents dossiers. "
-"Choisissez que faire."
-
-#: directorymergewindow.cpp:1721
+"L'objet surligné a un format différent dans les différents dossiers. Choisissez "
+"que faire."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
 "Les dates de modification du fichier sont égales, mais pas les fichiers. "
 "Sélectionnez que faire."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
-"Cette opération n'est actuellement pas possible car une fusion de dossiers "
-"est en cours."
-
-#: directorymergewindow.cpp:1838
+"Cette opération n'est actuellement pas possible car une fusion de dossiers est "
+"en cours."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Il y a eu une erreur à la dernière étape.\n"
-"Voulez-vous continuer avec l'élément ayant causé l'erreur ou voulez-vous "
-"le sauter ?"
-
-#: directorymergewindow.cpp:1840
+"Voulez-vous continuer avec l'élément ayant causé l'erreur ou voulez-vous le "
+"sauter ?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Continuer la fusion après une erreur"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Continuer avec le dernier élément"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Sauter l'élément"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Elément sauté."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "En cours..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Opération de fusion complète."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Fusion complète."
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
 "Simulation de fusion complète : vérifiez si vous êtes d'accord avec les "
 "opérations proposées."
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
-"Une erreur s'est produite. Appuyez sur OK pour les informations "
-"détaillées.\n"
-
-#: directorymergewindow.cpp:2020
+"Une erreur s'est produite. Appuyez sur OK pour les informations détaillées.\n"
+
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr ""
-"Erreur : durant la suppression de %1 : échec de la création de "
-"sauvegarde."
-
-#: directorymergewindow.cpp:2027
+"Erreur : durant la suppression de %1 : échec de la création de sauvegarde."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "supprimer le dossier récursivement (%1)"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "supprimer (%1)"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-"Erreur : échec de la suppression d'un dossier durant la tentative de "
-"lecture du dossier."
-
-#: directorymergewindow.cpp:2063
+"Erreur : échec de la suppression d'un dossier durant la tentative de lecture du "
+"dossier."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Erreur : échec de la suppression du dossier (%1)"
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Erreur : échec de l'opération de suppression."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "Fusion manuelle (%1, %2, %3 vers %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Note : après une fusion manuelle, l'utilisateur peut continuer avec "
-"F7."
-
-#: directorymergewindow.cpp:2125
+"     Note : après une fusion manuelle, l'utilisateur peut continuer avec F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Erreur : la copie de %1 vers %2 a échoué. La suppression de la "
-"destination existante a échoué."
-
-#: directorymergewindow.cpp:2135
+"Erreur : la copie de %1 vers %2 a échoué. La suppression de la destination "
+"existante a échoué."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copier le lien (%1 vers %2)"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-"Erreur : la copie des liens à échoué: les liens distants ne sont pas "
-"encore gérés."
-
-#: directorymergewindow.cpp:2152
+"Erreur : la copie des liens à échoué : les liens distants ne sont pas encore "
+"gérés."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Erreur : échec de la copie du lien"
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "copie (%1 vers %2)"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
 "Erreur lors du changement de nom du fichier (%1 vers %2) : impossible de "
 "supprimer la destination."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "changement de nom (%1 vers %2)"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Erreur : échec du changement de nom."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr ""
 "Erreur durant la création du dossier %1. Impossible de supprimer le fichier "
 "existant."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "Création du Dossier (%1)"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Erreur durant la création du dossier"
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Destination"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dossier"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Type"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Taille"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attributs"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Dernière modification"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Destination du lien"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "non disponible"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Destination) : "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Base) : "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Destination) : "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Destination) : "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Destination : "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Fusion de dossiers"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Commencer/Continuer la fusion des dossiers"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Lancer l'opération pour l'élément courant"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Comparer le fichier sélectionné"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Fusionner le fichier en cours"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Inclure tous les sous-dossiers"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Ne pas suivre les sous-dossiers"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Fusion de dossiers"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Fusion de dossiers"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Choisir A pour tous les éléments"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Choisir B pour tous les éléments"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Choisir C pour tous les éléments"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Choisir automatiquement l'opération pour tous les éléments"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Pas d'opérations pour tous les éléments"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Synchroniser les dossiers"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copier le plus récent au lieu de fusionner (peu sûr)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Nombre de fichiers différents :"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Comparer le fichier sélectionné"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Comparer le fichier sélectionné"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Ne rien faire"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Supprimer (si existant)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "Supprimer A et B"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Fusionner dans A et B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Supprimer A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Fusionner vers A && B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -718,7 +764,7 @@
 "précédent a échoué.\n"
 "Nom du fichier :"
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -726,492 +772,551 @@
 "Pendant le tentative d'enregistrement, le changement de nom a échoué.\n"
 "Noms des fichiers :"
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Recherche de l'état du fichier : %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Lecture du fichier : %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Écriture du fichier : %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Plus de mémoire"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Création du dossier : %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Suppression du dossier  %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Suppression du fichier : %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Création d'un lien symbolique : %1 vers %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Changement de nom du fichier : %1 vers %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Copie du fichier : %1 vers %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Erreur durant la copie : l'ouverture du fichier pour la lecture a échoué. "
-"Nom du Fichier : %1"
-
-#: fileaccess.cpp:844
+"Erreur durant la copie : l'ouverture du fichier pour la lecture a échoué. Nom "
+"du Fichier : %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Erreur durant la copie : l'ouverture du fichier pour l'écriture a "
-"échoué. Nom du Fichier : %1"
-
-#: fileaccess.cpp:859
+"Erreur durant la copie : l'ouverture du fichier pour l'écriture a échoué. Nom "
+"du Fichier : %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"Erreur durant la copie d'un fichier : échec de la lecture. Nom du "
-"fichier : %1"
-
-#: fileaccess.cpp:868
+"Erreur durant la copie d'un fichier : échec de la lecture. Nom du fichier : %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Erreur durant la copie d'un fichier : échec de l'écriture. Nom du "
-"fichier : %1"
-
-#: fileaccess.cpp:1171
+"Erreur durant la copie d'un fichier : échec de l'écriture. Nom du fichier : %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Lecture du dossier : "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listage du dossier : %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Synchronisation de l'élément actuel"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Erreur d'ouverture d'un Fichier"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Option --auto-utilisée, mais pas de fichier résultat spécifié."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Option --auto-ignorée pour la comparaison de dossiers."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Échec de l'enregistrement."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "L'ouverture de ces fichiers a échoué :"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Erreur d'ouverture d'un Fichier"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Ouvre les documents pour comparaison..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-"Enregistre le résultat de la fusion. Tous les conflits doivent être "
-"résolus !"
-
-#: kdiff3.cpp:333
+"Enregistre le résultat de la fusion. Tous les conflits doivent être résolus !"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Enregistre le document courant sous..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Quitte l'application"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Coupe la sélection et la met dans le presse-papiers"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Copie la sélection vers le presse-papiers"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Colle le contenu du presse-papiers à la position actuelle"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Cherche un passage"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Cherche de nouveau le passage"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Active/désactive la barre d'outils"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Active/désactive la barre de état"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Configurer KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Aller à la différence actuelle"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Aller à la première différence"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Aller à la dernière différence"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Saute les différences d'espaces lorsqu'\"Afficher les différences d'espaces\" "
+"est désactivé.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Ne saute pas les différences d'espaces lorsqu'\"Afficher les espaces\" est "
+"désactivé.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Aller à la prochaine différence"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Aller à la différence suivante"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Aller au conflit précédent"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Aller au conflit suivant"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Aller au conflit conflit non résolu précédent"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Aller au conflit non résolu suivant"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Sélectionner la source depuis A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Sélectionner la source depuis B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Sélectionner la source depuis C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Aller automatiquement au conflit suivant après sélection de la source"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Montrer les espaces et les alinéas en tant que différences"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Montrer les espaces"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Montrer les numéros de Ligne"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Choisir A partout"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Choisir B Partout"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Choisir C Partout"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Choisir A pour tous les conflits non résolus"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Choisir B pour tous les conflits non résolus"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Choisir C pour tous les conflits non résolus"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Choisir A pour tous les conflits d'espaces non résolus"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Choisir B pour tous les conflits d'espaces non résolus"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Choisir C pour tous les conflits d'espaces non résolus"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Résoudre automatiquement les conflits simples"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Rendre les différences comme conflits"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Résoudre automatiquement les conflits simples"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Montrer la fenêtre A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Montrer la fenêtre B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Montrer la fenêtre C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "S'aligner sur la fenêtre suivante"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Aperçu normal"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "Aperçu A contre B"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "Aperçu A contre C"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "Aperçu B contre C"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Fenêtre de diff de la mise en page"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "S'aligner sur la fenêtre précédente"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Partage et cadrage de l'écran"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Vue partagée entre dossier et texte"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Inverser entre vue dossier et texte"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Le résultat de la fusion n'a pas été enregistré."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Enregistrer et Quitter"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Quitter sans enregistrer"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "L'enregistrement du résultat de la fusion a échoué."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Vous faites actuellement une fusion de dossiers. Voulez-vous vraiment "
-"annuler ?"
-
-#: kdiff3.cpp:547
+"Vous faites actuellement une fusion de dossiers. Voulez-vous vraiment annuler ?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Enregistrement du fichier..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Enregistrement du fichier avec un nouveau nom..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Fermeture..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Opération de fusion complète."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Fermeture..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Cadrage de la barre d'outils..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Cadrage de la barre de état..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Chercher dans le texte :"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Sensible à la casse"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Chercher dans A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Chercher dans B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Chercher dans C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Chercher dans le résultat"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Chercher"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Impossible de trouver les fichiers pour la comparaison"
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "Impossible de trouver le fichier part !\n"
-"Cela est dû la plupart du temps a un problème d'installation. Veuillez "
-"lire le fichier README dans le paquetage source pour plus de détails."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Outil de diff et de fusion de textes"
+"Cela est dû la plupart du temps a un problème d'installation. Veuillez lire le "
+"fichier README dans le paquetage source pour plus de détails."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Outil de comparaison et de fusion de fichiers et répertoires"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Fusionner les entrées."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Fichier de base explicite. Pour compatibilité avec certains outils."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Fichier de résultat. Implique -m. Ex : -o nouveaufichier.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr ""
 "Fichier de résultat, encore. (Pour raison de compatibilité avec certains "
 "outils)."
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
 "Pas de GUI si tous les conflits se résolvent automatiquement. (Besoin d'un "
 "fichier -o)"
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Ne pas résoudre les conflits automatiquement. (Par compatibilité...)."
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Remplacement visible pour le fichier d'entrée 1 (base)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Remplacement visible pour le fichier d'entrée 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Remplacement visible pour le fichier d'entrée 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
 "Remplacement du nom visible alternativement. Faire cela une fois pour chaque "
 "fichier d'entrée."
 
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "N'a pas d'effet. Pour la compatibilité avec certains outils."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Pour la compatibilité avec certains outils."
-
-#: main.cpp:52
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Nombre de fichiers différents :"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "fichier 1 à ouvrir (base, si non spécifié, via --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "fichier 2 à ouvrir"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "fichier 3 à ouvrir"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-"+ Beaucoup de remerciements à ceux qui ont rapporté des bogues et "
-"contriibué a des idées !"
-
-#: mergeresultwindow.cpp:254
+"+ Beaucoup de remerciements à ceux qui ont rapporté des bogues et contriibué a "
+"des idées !"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Nombre de conflits non résolus restants : %1 (dont %2 sont des conflits "
+"d'espaces)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1219,55 +1324,55 @@
 "Le résultat a été modifié.\n"
 "Si vous continuez, vos changement seront perdus."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Tous les fichiers d'entrées sont égaux binairement."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Tous les fichiers d'entrées contiennent le même texte."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Les fichiers A et B sont égaux binairement.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Les fichiers A et B ont le même texte.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Les fichiers A et C sont égaux binairement.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Les fichiers A et C ont le même texte.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Les fichiers B et C sont égaux binairement.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Les fichiers B et C ont le même texte.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Nombre total de conflits : "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1275,7 +1380,7 @@
 "\n"
 "Nombre de conflits résolus automatiquement : "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1283,27 +1388,31 @@
 "\n"
 "Nombre de conflits non résolus : "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflits"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Pas de ligne source>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Conflit de Fusion(Espaces seulement)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Conflit de Fusion>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Sortie"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Modifié]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1311,41 +1420,54 @@
 "Tous les conflits ne sont pas encore résolus.\n"
 "Fichier non enregistré.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Il reste des conflits"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Fichier non enregistré."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"La création de la sauvegarde a échoué. Fichier non enregistré."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Erreur d'enregistrement du fichier"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Plus de mémoire au moment de l'enregistrement."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Erreur durant l'écriture."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+"Changez cela si les caractères non-ASCII ne sont pas affichés correctement."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Police de l'éditeur et du résultat de Diff"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Police en italique pour les différences"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1353,63 +1475,99 @@
 "Sélectionne la version italique pour les différences.\n"
 "Si la police ne gère pas les caractères en italique, cela ne fait rien."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Couleur"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Couleur dans l'éditeur et le résultat d'une Diff"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Options régionales"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Couleur du premier plan :"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Couleur de l'arrière plan :"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Couleur de l'arrière plan d'un Diff :"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Couleur A :"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Couleur B :"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Couleur C :"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Couleur des conflits :"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Couleur de l'arrière plan de la sélection :"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Couleur de l'arrière plan de la sélection diff courante :"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "État de la comparaison des dossiers."
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Éditeur"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Comportement de l'éditeur"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "La tabulation insère des espaces"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1417,136 +1575,127 @@
 "Activé : actionner Tab génère le nombre approprié d'espaces.\n"
 "Désactivé : Un caractère de tabulation sera inséré."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Taille d'une tabulation :"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Indentation automatique"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"Activé : l'indentation de la ligne précédente est utilisée pour une "
-"nouvelle ligne.\n"
-
-#: optiondialog.cpp:462
+"Activé : l'indentation de la ligne précédente est utilisée pour une nouvelle "
+"ligne.\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Copie de la sélection automatique"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Activé : toute sélection sera automatiquement copiée vers le "
-"presse-papiers.\n"
-"Désactivé : vous devrez copier explicitement l'élément (ex : via "
-"Ctrl+C)."
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+"Activé : toute sélection sera automatiquement copiée vers le presse-papiers.\n"
+"Désactivé : vous devrez copier explicitement l'élément (ex : via Ctrl+C)."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Mode de fin de ligne :"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Configure la fin de ligne quand un fichier édité est enregistré.\n"
 "DOS/Windows : CR+LF ; Unix : LF ; avec CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Utiliser l'encodage local"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Changez cela si les caractères non-ASCII ne sont pas affichés correctement."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Différences et fusion"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Options de diff et fusion"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Préserver des les retours à la ligne"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 "Montre les retours à la ligne « \\r » s'ils existent.\n"
-"Aide à comparer les fichiers s'ils ont été modifiées sous des OS "
-"différents."
-
-#: optiondialog.cpp:518
+"Aide à comparer les fichiers s'ils ont été modifiées sous des OS différents."
+
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorer les nombres"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 "Ignorer les nombres durant une diff ou une fusion. (Similaire à ignorer les "
 "espaces).\n"
 "Peut vous aider à comparer les fichiers ayant des données numériques."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignorer les Commentaires C/C++"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Traiter les commentaires C/C++ comme des espaces."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignorer la case"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
-"Triater les différences de casse comme les changements d'espaces. "
-"('a'<=>'A')"
-
-#: optiondialog.cpp:539
+"Traiter les différences de casse comme les changements d'espaces. (\"a\"<=>"
+"\"A\")"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Commande de précompilation :"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"Précompilation définie par l'utilisateur. (Voir les documentations pour "
-"les détails)."
-
-#: optiondialog.cpp:546
+"Précompilation définie par l'utilisateur. (Voir les documentations pour les "
+"détails)."
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Commande de précompilation sur la comparaison de lignes :"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
-"Cette commande de précompilation n'est utilisée que durant la comparaison "
-"de lignes.\n"
+"Cette commande de précompilation n'est utilisée que durant la comparaison de "
+"lignes.\n"
 "(Voir les documentations pour les détails)."
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Essayer avec moins de mémoire (plus lent)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1554,57 +1703,160 @@
 "Active l'option -minimal pour une diff externe.\n"
 "L'analyse de gros fichiers sera plus lente."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Délai d'avance automatique (en ms) :"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"La durée, dans le mode Avancée automatique, ou le résultat de la "
-"sélection est montré \n"
-" pour la période spécifiée, avant d'aller au conflit suivant. Étendue : "
-"0-2000 ms"
-
-#: optiondialog.cpp:571
+"La durée, dans le mode Avancée automatique, ou le résultat de la sélection est "
+"montré \n"
+" pour la période spécifiée, avant d'aller au conflit suivant. Étendue : 0-2000 "
+"ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Option par défaut pour les espaces lors de la fusion de 2 fichiers :"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Choix manuel"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Autoriser l'algorithme de fusion à sélectionner une entrée pour les "
-"changements d'espaces seulement."
-
-#: optiondialog.cpp:584
+"Autoriser l'algorithme de fusion à sélectionner une entrée pour les changements "
+"d'espaces seulement."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Option par défaut pour les espaces lors de la fusion de 3 fichiers :"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.4  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Fusion de dossiers"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Fusionner les sous-dossiers"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Si vous voulez analyser les sous-dossiers ou non."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Formats acceptés :"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1612,14 +1864,13 @@
 msgstr ""
 "Format(s) des fichiers devant être analysés. \n"
 "Inconnues : « * » et «  ? » \n"
-"Les formats peuvent être spécifiés en utilisant le séparateur : "
-"« ; »"
-
-#: optiondialog.cpp:626
+"Les formats peuvent être spécifiés en utilisant le séparateur : « ; »"
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Formats refusés(s) :"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1627,14 +1878,13 @@
 msgstr ""
 "Format(s) des fichiers devant être exclus des analyses. \n"
 "Inconnues : « * » et  « ? »\n"
-"Les formats peuvent être spécifiés en utilisant le séparateur : "
-"« ; »"
-
-#: optiondialog.cpp:637
+"Les formats peuvent être spécifiés en utilisant le séparateur : « ; »"
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Formats de dossiers refusés :"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1642,40 +1892,37 @@
 msgstr ""
 "Format(s) des dossiers devant être exclus des analyses. \n"
 "Inconnues : « * » et « ? »\n"
-"Les formats peuvent être spécifiés en utilisant le séparateur : "
-"« ; »"
-
-#: optiondialog.cpp:648
+"Les formats peuvent être spécifiés en utilisant le séparateur : « ; »"
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Utiliser .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
-"Étendre l'exlusion de format à tout ce qui pourrait être ignoré par "
-"CVS.\n"
-" Via un « .cvsignore »-files local, cela pourra être le dossier "
-"spécifiquement."
-
-#: optiondialog.cpp:656
+"Étendre l'exlusion de format à tout ce qui pourrait être ignoré par CVS.\n"
+" Via un « .cvsignore »-files local, cela pourra être le dossier spécifiquement."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Trouver les fichiers et les dossiers cachés"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Trouver les fichiers et dossiers ayant l'attribut « caché »."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Trouver les fichiers et dossiers commençant par « . »."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Trouver les fichiers liens"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1683,11 +1930,11 @@
 "Activé : compare les fichiers derrières les liens.\n"
 "Désactivé : compare les liens."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Suivre les liens vers un dossier"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1695,44 +1942,58 @@
 "Activé : compare les dossiers derrière les liens.\n"
 "Désactivé : compare les liens."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Lister seulement les différences"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
-msgstr "Fichiers et dossiers sans différences n'apparaîtront pas dans la liste."
-
-#: optiondialog.cpp:687
+msgstr ""
+"Fichiers et dossiers sans différences n'apparaîtront pas dans la liste."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Mode de comparaison de fichiers"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
-msgstr "Comparaison de binaires"
-
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Comparaison binaire"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Comparaison binaire de chaque fichier. (Par défaut)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Analyse complète"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-"Effectier une analyse complète et afficher les informations statistiques "
-"dans des colonnes supplémentaires.\n"
-"(Plus lent qu'une comparaison binaire, plus lent pour les fichiers binaires.)"
-
-#: optiondialog.cpp:698
+"Effectuer une analyse complète et afficher les informations statistiques dans "
+"des colonnes supplémentaires.\n"
+"Cela est plus lent qu'une comparaison binaire, particulièrement pour les "
+"fichiers binaires."
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Se fier à la date de modification (peu sûr)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1742,40 +2003,53 @@
 "taille du fichier sont égales.\n"
 "Utile pour les gros dossiers ou les réseaux lents."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Se fier à la taille (peu sûr)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Suppose que tous les fichiers sont égaux si leur taille est égale.\n"
-"Utile pour les gros dossiers ou les réseaux lents, quand la taille est "
-"modifiée durant le téléchargement."
-
-#: optiondialog.cpp:707
+"Utile pour les gros dossiers ou les réseaux lents, quand la taille est modifiée "
+"durant le téléchargement."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Synchroniser les dossiers"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
-"Stocker les fichiers dans les deux dossiers pour que les deux dossiers "
-"soient égaux après.\n"
+"Stocker les fichiers dans les deux dossiers pour que les deux dossiers soient "
+"égaux après.\n"
 "Ne fonctionne que lors de la comparaison de dossiers sans spécification de "
 "destination."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Les différences d'espaces sont considérées comme égales"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Si les fichiers ne diffèrent que par des espaces ils sont considérés comme "
+"égaux.\n"
+"Ceci n'est actif que si l'analyse complète est choisie."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Copier le plus récent au lieu de fusionner (peu sûr)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1785,41 +2059,108 @@
 "(Ne faites cela que si vous savez ce que vous faites !)\n"
 "Effectif seulement lors de la comparaison de dossiers."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Copie de sauvegarde (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
 "Quand le fichier doit être enregistré sur un fichier plus ancien, le vieux "
-"fichier sera renommé avec une extension « .orig » au lieu d'être "
-"supprimé."
-
-#: optiondialog.cpp:753
+"fichier sera renommé avec une extension « .orig » au lieu d'être supprimé."
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Options régionales"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Langue (redémarrage nécessaire)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
 "Choisissez la langue de l'interface graphique ou \"Auto\".\n"
-"Pour que le changement de langue prenne effet, quittez puis redémarrez "
-"KDiff3."
-
-#: optiondialog.cpp:825
+"Pour que le changement de langue prenne effet, quittez puis redémarrez KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Utiliser le même encodage pour tout :"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Activer ceci vous permet de changer tous les encodages en ne changeant que le "
+"premier.\n"
+"Désactivez ceci si des configurations individuelles différentes sont "
+"nécessaires."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Note : L'encodage local est"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Encodage du fichier pour A :"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Encodage du fichier pour B :"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Encodage du fichier pour C :"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+"Encodage du fichier pour le résultat de la fusion et l'enregistrement :"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Encodage du fichier pour les fichiers préprocesseurs :"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Encodage de droite à gauche"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Certains langages sont lus de droite à gauche.\n"
+"Cette option changera le visionneur et l'éditeur."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Opération"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Options régionales"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1830,42 +2171,40 @@
 msgstr ""
 "Vous avez sélectionné une hauteur de police variable.\n"
 "\n"
-"Étant donné que ce programme ne gère pas correctement les hauteurs de "
-"police variables, vous pourriez rencontrer des problèmes lors de "
-"l'édition.\n"
+"Étant donné que ce programme ne gère pas correctement les hauteurs de police "
+"variables, vous pourriez rencontrer des problèmes lors de l'édition.\n"
 "\n"
 "Voulez-vous continuer ou voulez-vous sélectionner une autre police."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Police incompatible"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Continuez à vos risques et périls"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Sélectionnez une autre police"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr ""
 "Cela remet à zéro toutes les options. Pas seulement celles de la rubrique "
 "actuelle."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Commande de préprocessus :"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-"Les options suivantes que vous avez séléctionné peuvent changer vos "
-"données :\n"
-
-#: pdiff.cpp:263
+"Les options suivantes que vous avez sélectionné peuvent changer vos données :\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1875,55 +2214,55 @@
 "Il y a beaucoup de chances que ceci ne soit pas voulu durant une fusion.\n"
 "Voulez-vous désactiver ces options ou continuer avec ces options actives ?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr "Option non-sûre pour une fusion"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Utiliser ces options durant la fusion"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Désactiver les options non-sûres"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Chargement de A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Chargement de B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Différence entre A et B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Différence de ligne entre A et B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Chargement de C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Différence entre B et C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Différence entre A et C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Différence de ligne entre B et C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Différence de ligne entre A et C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1933,140 +2272,251 @@
 "Notez que la fusion KDiff3 n'est pas prévue pour les données binaires.\n"
 "Continuez à vos risques et périls."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Abandonner"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Ouverture des fichiers..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Erreur d'ouverture du fichier"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Coupe de la sélection..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Copie de la sélection vers le presse-papiers..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Insertion du contenu du presse-papiers..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Enregistrer et continuer"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continuer sans enregistrer"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Recherche terminée."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Recherche terminée."
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Erreur durant la création du dossier"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configurer KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Dossier"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Fusion de l'élément actuel"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Synchronisation de l'élément actuel"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Mouvement"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Vue de D&iff"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Fusion"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Fenêtre"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Base) :"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Fichier..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Dossier..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Optionnel) :"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Fichier de résultat (optionnel) :"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Configurer..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Abandonner"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Ouverture des fichiers..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Erreur d'ouverture du fichier"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Coupe de la sélection..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Copie de la sélection vers le presse-papiers..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Insertion du contenu du presse-papiers..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Enregistrer et continuer"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Continuer sans enregistrer"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Recherche terminée."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Recherche terminée."
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Configurer KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Dossier"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Fusion de l'élément actuel"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Synchronisation de l'élément actuel"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Mouvement"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "Vue de D&iff"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Fusion"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Fenêtre"
-
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Erreur lors de l'écriture du fichier temporaire : %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Convertir en majuscules"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Rendre toutes les minuscules en majuscules lors de la lecture. (ex : "
-#~ "« a » devient « A »)"
-
-#~ msgid "Codec for file contents"
-#~ msgstr "Codec pour le contenu du fichier"
-
-#~ msgid ""
-#~ "Choose the codec that should be used for your input files\n"
-#~ "or \"Auto\" if unsure."
-#~ msgstr ""
-#~ "Choisissez le codec qui devrait être utilisé pour le fichiers en entrée\n"
-#~ "ou \"Auto\" si vous n'êtes pas sûr."
-
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Convertir en majuscules\n"
-
-#~ msgid ""
-#~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
-#~ msgstr ""
-#~ "Le lancement d'une diff externe à échoué.\n"
-#~ "Vérifiez si la commande diff fonctionne, si le programme peut écrire dans "
-#~ "le dossier temporaire ou si le disque est plein.\n"
-#~ "L'option de diff externe sera désactivée désormais, et une diff interne "
-#~ "sera utilisée."
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Chercher la chaîne :"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Sensible à la casse"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Chercher dans A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Chercher dans B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Chercher dans C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Chercher dans le résultat"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Chercher"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Copie de la sélection automatique"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Choix manuel"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Échec de l'enregistrement."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "N'a pas d'effet. Pour la compatibilité avec certains outils."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Pour la compatibilité avec certains outils."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Couleur dans l'éditeur et le résultat d'une Diff"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/ga.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2285 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kdeextragear-1/kdiff3.po\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-12-03 14:52-0500\n"
+"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
+"Language-Team: ga <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Séamus Ó Ciardhuáin,Kevin Scannell"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "seoc at iolfree dot ie,scannell at slu dot edu"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Ón nGearrthaisce"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Earráid Throm Inmheánach"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Deireadh"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Nasc: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Méid. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Dáta & Méid: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Theip ar oscailt %1."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Ag cur comhad i gcomparáid..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Ainm"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Oibríocht"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Stádas"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Gan réiteach"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Réitithe"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Bán"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Athscan"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Theip ar oscailt na gcomhadlann:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Comhadlanna á scanadh..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Comhadlann A á Léamh"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Comhadlann B á Léamh"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Comhadlann C á Léamh"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Réidh."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "Líon na bhFochomhadlann:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "Líon na gcomhad difriúil:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Lean ar aghaidh"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "Ag próiseáil "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Le déanamh."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "Cóipeáil A go B"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "Cóipeáil B go A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "Scrios A"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "Scrios B"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "Scrios A & B"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "Scrios (má tá sé ann)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Cumaisc"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "Cumaisc (de láimh)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Earráid: Cineálacha Comhaid Contrártha"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Earráid Chláir"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Tharla earráid le linn cóipeála.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Earráid."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Críochnaithe."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Gan sábháil."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "Ná Bac Le Mír"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "Ar siúl..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "Earráid agus %1 á scriosadh: Theip ar chruthú cúltaca."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "scrios comhadlann go hathchúrsach( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "scrios( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Earráid: theip ar rmdir( %1 )."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Earráid: theip ar scriosadh."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "cumaisc de láimh( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "cóipeáil( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "athainmnigh( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Earráid: theip ar athainmniú."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "makeDir( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Earráid agus comhadlann á cruthú."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "Sprioc"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Cmhdlnn"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Cineál"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Méid"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Athrú Is Déanaí"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "níl ar fáil"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (Sprioc): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (Bun): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (Sprioc): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (Sprioc): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "Sprioc: "
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "Cuir Comhad Roghnaithe i gComparáid"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Cumaisc an Comhad Reatha"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Sioncrónaigh Comhadlanna"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Taispeáin Comhaid Difriúla"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Taispeáin Comhaid i A amháin"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Taispeáin Comhaid i B amháin"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Taispeáin Comhaid i C amháin"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Ná déan faic"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Scrios A && B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "Comhad á léamh: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "Comhad á scríobh: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Cuimhne ídithe"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "Comhadlann á déanamh: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "Comhadlann á baint: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "Comhad á bhaint: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "Nasc siombalach á chruthú: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Comhad á athainmniú: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "Comhad á chóipeáil: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "Comhadlann á léamh: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Cumraíocht Reatha:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "Rogha --auto in úsáid, ach níor sonraíodh aon aschomhad."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "Theip ar shábháil."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "Theip ar oscailt na comhad seo:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Earráid agus Comhad á Oscailt"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Éirigh as an bhfeidhmchlár"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Cumasaigh/díchumasaigh barra na n-uirlisí"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Cumasaigh/díchumasaigh an barra stádais"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Cumraigh KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "Roghnaigh Lín(t)e Ó A"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "Roghnaigh Lín(t)e Ó B"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "Roghnaigh Lín(t)e Ó C"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Taispeáin Spás Bán"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Taispeáin Líne-Uimhreacha"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Taispeáin Fuinneog B"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Taispeáin Fuinneog C"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Foramharc Coitianta"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Foramharc A vs. B"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Foramharc A vs. C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Foramharc B vs. C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Sábháil && Scoir"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Scoir Gan Sábháil"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "Theip ar shábháil na torthaí an chumaisc."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Comhad á shábháil..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Comhad á shábháil le hainm comhaid nua..."
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "à Phriontáil..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Priontáil tobscortha."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Roghnúchán"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Ag scor..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "Barra uirlisí á scoránú..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Scoránaigh an barra stádais..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Úsáid comhad cumraíochta eile."
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "Coinbhleachtaí"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Aschur"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[Athraithe]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Laidin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Dath"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Socruithe Datha"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Dath an tulra:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Dath an chúlra:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "Dath A:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "Dath B:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "Dath C:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "Dath na gCoinbhleachtaí:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Eagarthóir"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "Méid táib:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "UathEangú"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr "Difríochtaí & Cumaisc"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Socruithe: Difríochtaí & Cumaisc"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "Caomhnaigh aisfhilleadh carráiste"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Déan neamhaird de nótaí C/C++"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "Ordú réamhphróiseálaí:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Rogha Láimhe"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "Cumasc Comhadlann"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr "Úsáid .cvsignore"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Comparáid dénártha"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Anailís iomlán"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "Sioncrónaigh comhadlanna"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "Comhaid chúltaca (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Socruithe Réigiúnda"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "Teanga (atosú de dhíth)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Comhtháthú"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Socruithe Comhtháthaithe"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "Cló Neamh-chomhoiriúnach"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "Lean ort ar do phriacal féin"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "Roghnaigh Cló Eile"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "A á Luchtú"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "B á Luchtú"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Diff: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "C á Luchtú"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Diff: B <-> C"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Diff: A <-> C"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Tobscoir"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Comhaid á n-oscailt..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Earráid agus comhad á oscailt"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Roghnúchán á ghearradh..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Roghnúchán á chóipeáil go dtí an gearrthaisce..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Sábháil && Lean"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Lean Gan Sábháil"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Cumraigh KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Comhadlann"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Gluaiseacht"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Cu&maisc"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Fuinneog"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "A (Bun):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Comhad..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Cmhdlnn..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "C (Roghnach):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "Aschur (roghnach):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Cumraigh..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Cásíogair"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Cuardach A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Cuardach B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Cuardach C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Cuardach"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "gan roghnúchán"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Ok"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "D'éirigh le meaitseáil."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Theip ar mheaitseáil."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/hi.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2371 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-01-22 16:10+0530\n"
+"Last-Translator: Ravishankar Shrivastava <raviratlami@gmail.com>\n"
+"Language-Team: indlinux-hindi <indlinux-hindi@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Hindi\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "रविशंकर शà¥à¤°à¥€à¤µà¤¾à¤¸à¥à¤¤à¤µ"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "raviratlami@yahoo.com"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ डाटा को असà¥à¤¥à¤¾à¤ˆ फ़ाइल में लिखना असफल."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ से"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "गंभीर आंतरिक तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "शीरà¥à¤· पंकà¥à¤¤à¤¿ %1"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "अंत"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "कड़ियों की मिलावटें तथा सामानà¥à¤¯ फ़ाइलें."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "कड़ी"
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "आकार."
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "तारीख व आकार:"
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "%1 की असà¥à¤¥à¤¾à¤ˆ नक़ल बनाना असफल."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "%1 को खोलना असफल"
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "फ़ाइल की तà¥à¤²à¤¨à¤¾ की जा रही है..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "%1 से पढ़ने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "नाम"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "ऑपरेशन"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "सà¥à¤¥à¤¿à¤¤à¤¿"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "हल नहीं"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "हल कर लिया गया"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "सफेद-नहीं"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "सफेद"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "री-सà¥à¤•ैन"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "मिलाया जाना जारी रखें"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ खोलना असफल:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"डिरेकà¥à¤Ÿà¥à¤°à¥€ अ \"%1\" या तो मौजूद नहीं है या फिर वह डिरेकà¥à¤Ÿà¥à¤°à¥€ नहीं है.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"डिरेकà¥à¤Ÿà¥à¤°à¥€ ब \"%1\" या तो मौजूद नहीं है या फिर वह डिरेकà¥à¤Ÿà¥à¤°à¥€ नहीं है.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"डिरेकà¥à¤Ÿà¥à¤°à¥€ स \"%1\" या तो मौजूद नहीं है या फिर वह डिरेकà¥à¤Ÿà¥à¤°à¥€ नहीं है.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ खोलने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "पैरामीटर चेतावनी"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ सà¥à¤•ैन किया जा रहा है..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ अ को पढ़ा जा रहा है"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ ब को पढ़ा जा रहा है"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ स को पढ़ा जा रहा है"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "कà¥à¤› सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ इसमें पढ़े नहीं जा सकने वाले हैं"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ की अनà¥à¤®à¤¤à¤¿à¤¯à¤¾à¤ जाà¤à¤šà¥‡à¤‚."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "तैयार."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ तà¥à¤²à¤¨à¤¾ सà¥à¤¥à¤¿à¤¤à¤¿"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ की संखà¥à¤¯à¤¾:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "समान फ़ाइलों की संखà¥à¤¯à¤¾:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "भिनà¥à¤¨ फ़ाइलों की संखà¥à¤¯à¤¾:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने की संखà¥à¤¯à¤¾:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "यह सभी समà¥à¤®à¤¿à¤²à¤¿à¤¤ ऑपरेशन को पà¥à¤°à¤­à¤¾à¤µà¤¿à¤¤ करेगा"
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "सभी समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के ऑपरेशन को बदला जा रहा है"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "जारी रखें (&o)"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤¿à¤‚ग"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "कारà¥à¤¯-सूची"
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "अ की नक़ल ब में करें"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "ब की नक़ल अ में करें"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "अ को मिटाà¤à¤"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "ब को मिटाà¤à¤"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "अ तथा ब को मिटाà¤à¤"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "अ में समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "ब में समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "अ तथा ब में समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "मिटाà¤à¤ (यदि मौजूद है)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें (हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: परसà¥à¤ªà¤° विरोधी फ़ाइल क़िसà¥à¤®à¥‡à¤‚"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: तारीखें तो à¤à¤• समान हैं, परंतॠफ़ाइलें नहीं."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "यह ऑपरेशन वरà¥à¤¤à¤®à¤¾à¤¨ में संभव नहीं है."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "ऑपरेशन वरà¥à¤¤à¤®à¤¾à¤¨ में संभव नहीं"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"नक़ल करने के दौरान à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हà¥à¤ˆ.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "समà¥à¤ªà¤¨à¥à¤¨."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "सहेजा नहीं गया."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने का अजà¥à¤žà¤¾à¤¤ ऑपरेशन. (à¤à¤¸à¤¾ कभी नहीं होना चाहिà¤!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने का अजà¥à¤žà¤¾à¤¤ ऑपरेशन. "
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करना पà¥à¤°à¤¾à¤°à¤‚भ किया जा रहा है"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "इसे करें"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "इसे सिमà¥à¤²à¥‡à¤Ÿ करें"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿ के बाद भी समà¥à¤®à¤¿à¤²à¤¿à¤¤ करना जारी रखें"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "पिछली वसà¥à¤¤à¥ के साथ जारी रखें"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "वसà¥à¤¤à¥ छोड़ें"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "छोड़ा."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "पà¥à¤°à¤—ति पर है..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने की कà¥à¤°à¤¿à¤¯à¤¾ पूरी हà¥à¤ˆ."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करना समà¥à¤ªà¤¨à¥à¤¨"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हà¥à¤ˆ. विसà¥à¤¤à¥ƒà¤¤ जानकारी देखने के लिठठीक को दबाà¤à¤\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: %1 को मिटाने के दौरान: बैकअप बनाने में असफल."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ ( %1 ) को रिकरà¥à¤¸à¤¿à¤µà¤²à¥€ मिटाà¤à¤"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "मिटाà¤à¤‚ (%1)"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+"तà¥à¤°à¥à¤Ÿà¤¿: डिरेकà¥à¤Ÿà¥à¤°à¥€ को पढ़ने की कोशिश में डिरेकà¥à¤Ÿà¥à¤°à¥€ मिटाने का कारà¥à¤¯ असफल."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: rmdir( %1 ) कà¥à¤°à¤¿à¤¯à¤¾ असफल."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: डिरेकà¥à¤Ÿà¥à¤°à¥€ मिटाने का कारà¥à¤¯ असफल."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"टीप: हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के बाद उपयोकà¥à¤¤à¤¾ को F7 को दबाकर जारी रखना चाहिà¤."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: नक़ल ( %1 -> %2 ) असफल. मौजूदा गंतवà¥à¤¯ को मिटाना असफल."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "कापीलिंक ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: कापीलिंक असफल: रिमोट कड़ियाठअभी समरà¥à¤¥à¤¿à¤¤ नहीं हैं."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: कापीलिंक असफल."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "नक़ल( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "नाम बदलें( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "तà¥à¤°à¥à¤Ÿà¤¿: नाम-बदलना असफल."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr "%1 के मेकडिर के दौरान तà¥à¤°à¥à¤Ÿà¤¿. मौजूदा फ़ाइल मिटा नहीं सकते."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "मेकडिर( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ बनाने के दौरान तà¥à¤°à¥à¤Ÿà¤¿."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "गंतवà¥à¤¯"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "डिर."
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "क़िसà¥à¤®"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "आकार"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "à¤à¤Ÿà¥à¤°à¤¿."
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "अंतिम परिवरà¥à¤§à¤¨"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "लिंक-गंतवà¥à¤¯"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "उपलबà¥à¤§ नहीं"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (गंत.): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (आधार): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (गंत.): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (गंत.): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "गंतवà¥à¤¯:"
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करना पà¥à¤°à¤¾à¤°à¤‚भ करें/जारी रखें"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "मौज़ूदा वसà¥à¤¤à¥ के लिठऑपरेशन चलाà¤à¤"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "चयनित फ़ाइल की तà¥à¤²à¤¨à¤¾ करें"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "मौज़ूदा फ़ाइल समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "सभी सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œ फ़ोलà¥à¤¡ करें"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "सभी सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œ अनफ़ोलà¥à¤¡ करें"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "सभी वसà¥à¤¤à¥à¤“ं के लिठअ का चयन करें"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "सभी वसà¥à¤¤à¥à¤“ं के लिठब का चयन करें"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "सभी वसà¥à¤¤à¥à¤“ं के लिठस का चयन करें"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "सभी वसà¥à¤¤à¥à¤“ं के लिठकà¥à¤°à¤¿à¤¯à¤¾ सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ चयन करें"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "सभी वसà¥à¤¤à¥à¤“ं के लिठकोई कà¥à¤°à¤¿à¤¯à¤¾ नहीं"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ सिंकà¥à¤°à¥‹à¤¨à¤¾à¤‡à¤œà¤¼ करें"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के बजाठनठकी नक़ल करें (असà¥à¤°à¤•à¥à¤·à¤¿à¤¤)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "भिनà¥à¤¨ फ़ाइलों की संखà¥à¤¯à¤¾:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "चयनित फ़ाइल की तà¥à¤²à¤¨à¤¾ करें"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "चयनित फ़ाइल की तà¥à¤²à¤¨à¤¾ करें"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "कà¥à¤› नहीं करें"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "अ"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "ब"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "स"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "अ तथा ब को मिटाà¤à¤"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "अ तथा ब में समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "फ़ाइल सà¥à¤¥à¤¿à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ की जा रही है: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "फ़ाइल पढ़ा जा रहा है: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "फ़ाइल: %1 लिखा जा रहा है"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "मेमोरी कम पड़ गई"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ बनाया जा रहा है: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ मिटाया जा रहा है: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "फ़ाइल मिटाया जा रहा है: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "सिंबालिक कड़ी बनाई जा रही है: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "फ़ाइलनाम बदला जा रहा है: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "फ़ाइल नक़ल की जा रही है: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"फ़ाइल की नक़ल करने की कà¥à¤°à¤¿à¤¯à¤¾ के दौरान तà¥à¤°à¥à¤Ÿà¤¿: फ़ाइल को पढ़ने के लिठखोलने में "
+"असफल. फ़ाइल-नाम: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"फ़ाइल की नक़ल करने की कà¥à¤°à¤¿à¤¯à¤¾ के दौरान तà¥à¤°à¥à¤Ÿà¤¿: फ़ाइल को लिखने के लिठखोलने में "
+"असफल. फ़ाइल-नाम: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+"फ़ाइल की नक़ल करने की कà¥à¤°à¤¿à¤¯à¤¾ के दौरान तà¥à¤°à¥à¤Ÿà¤¿: पढ़ने में असफल. फ़ाइल-नाम: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+"फ़ाइल की नक़ल करने की कà¥à¤°à¤¿à¤¯à¤¾ के दौरान तà¥à¤°à¥à¤Ÿà¤¿: लिखने में असफल. फ़ाइल-नाम: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ को पढ़ा जा रहा है:"
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ सूचीबदà¥à¤§ की जा रही है: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "मौजूदा वसà¥à¤¤à¥ सिंक ऑपरेशन"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "फ़ाइल खोलने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+"विकलà¥à¤ª --auto का उपयोग किया गया, परंतॠकोई आउटपà¥à¤Ÿ फ़ाइल निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ नहीं."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "विकलà¥à¤ª --auto को डिरेकà¥à¤Ÿà¥à¤°à¥€ तà¥à¤²à¤¨à¤¾ करने में छोड़ा गया."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "सहेजने में असफल."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "इन फ़ाइलों को खोलना असफल:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "फ़ाइल खोलने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼à¥‹à¤‚ को तà¥à¤²à¤¨à¤¾ के लिठखोलता है..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "मौजूदा दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ à¤à¤¸à¥‡ सहेजता है..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤— से बाहर होता है"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "चà¥à¤¨à¥‡ हà¥à¤ अंश को कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ पर नक़ल करता है"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ अवयवों को सही सà¥à¤¥à¤¾à¤¨ पर चिपकाता है"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "सà¥à¤Ÿà¥à¤°à¤¿à¤‚ग के लिठढूंढें"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "सà¥à¤Ÿà¥à¤°à¤¿à¤‚ग के लिठफिर से ढूंढें"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "औज़ार-पटà¥à¤Ÿà¥€ सकà¥à¤·à¤®/अकà¥à¤·à¤® करें"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "सà¥à¤¥à¤¿à¤¤à¤¿-पटà¥à¤Ÿà¥€ सकà¥à¤·à¤®/अकà¥à¤·à¤® करें"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "के-डिफ3 को कॉनà¥à¤«à¤¼à¤¿à¤—र करें..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "मौज़ूदा डेलà¥à¤Ÿà¤¾ में जाà¤à¤"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "पà¥à¤°à¤¥à¤® डेलà¥à¤Ÿà¤¾ में जाà¤à¤"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "अंतिम डेलà¥à¤Ÿà¤¾ में जाà¤à¤"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "पिछला डेलà¥à¤Ÿà¤¾ में जाà¤à¤"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "अगला डेलà¥à¤Ÿà¤¾ में जाà¤à¤"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "पिछले परसà¥à¤ªà¤° विरोधों में जाà¤à¤"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "अगले परसà¥à¤ªà¤° विरोधों में जाà¤à¤"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "पिछले समाधान-रहित परसà¥à¤ªà¤° विरोधों में जाà¤à¤"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "अगले समाधान-रहित परसà¥à¤ªà¤° विरोधों में जाà¤à¤"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "अ से लाइन चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "ब से लाइन चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "स से लाइन चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "भिनà¥à¤¨à¤¤à¤¾à¤“ं के लिठटेबà¥à¤²à¥‡à¤Ÿà¤° अकà¥à¤·à¤° तथा जगह दिखाà¤à¤ "
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "सफेद जगह दिखाà¤à¤"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "पंकà¥à¤¤à¤¿ कà¥à¤°à¤®à¤¾à¤‚क दिखाà¤à¤"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "सभी जगह अ चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "सभी जगह ब चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "सभी जगह स चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "सभी समाधान-रहित परसà¥à¤ªà¤° विरोधों के लिठअ चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "सभी समाधान-रहित परसà¥à¤ªà¤° विरोधों के लिठब चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "सभी समाधान-रहित परसà¥à¤ªà¤° विरोधों के लिठस चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "सभी समाधान-रहित सफेद-जगह परसà¥à¤ªà¤° विरोधों के लिठअ चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "सभी समाधान-रहित सफेद-जगह परसà¥à¤ªà¤° विरोधों के लिठब चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "सभी समाधान-रहित सफेद-जगह परसà¥à¤ªà¤° विरोधों के लिठस चà¥à¤¨à¥‡à¤‚"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "सादा परसà¥à¤ªà¤° विरोधों का सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ समाधान करें"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "डेलà¥à¤Ÿà¤¾ को परसà¥à¤ªà¤° विरोधों में सेट करें"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "सादा परसà¥à¤ªà¤° विरोधों का सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ समाधान करें"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "विंडो अ दिखाà¤à¤"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "विंडो ब दिखाà¤à¤"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "विंडो स दिखाà¤à¤"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "अगले विंडो पर फोकस"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "सामानà¥à¤¯ ओवरवà¥à¤¯à¥‚"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "अ वि. ब ओवरवà¥à¤¯à¥‚"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "अ वि. स ओवरवà¥à¤¯à¥‚"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "ब वि. स ओवरवà¥à¤¯à¥‚"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "वरà¥à¤¡ वà¥à¤°à¥‡à¤ª डिफ विंडोज़"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "पिछले विंडो में फोकस"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "अलग करने की दिशा टॉगल करें"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ तथा पाठ सà¥à¤ªà¥à¤²à¤¿à¤Ÿ सà¥à¤•à¥à¤°à¥€à¤¨ दृशà¥à¤¯"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ तथा पाठ दृशà¥à¤¯ के बीच टॉगल करें"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने का परिणाम अभी सहेजा नहीं गया."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "सहेजें तथा बाहर हों"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "सहेजे बगैर बाहर हों"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ किया जाने का परिणाम सहेजना असफल."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "फ़ाइल सहेजा जा रहा है..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "फ़ाइल नठफ़ाइलनाम के साथ सहेजा जा रहा है..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "बाहर हो रहे हैं..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने की कà¥à¤°à¤¿à¤¯à¤¾ पूरी हà¥à¤ˆ."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "बाहर हो रहे हैं..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "टूलबार टॉगल किया जा रहा है..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "सà¥à¤¥à¤¿à¤¤à¤¿ पटà¥à¤Ÿà¥€ टॉगल करें..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "तà¥à¤²à¤¨à¤¾ के लिठफ़ाइलों को नहीं ढूंढ सका"
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "के-डिफ3पारà¥à¤Ÿ"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "इनपà¥à¤Ÿ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "आउटपà¥à¤Ÿ फ़ाइल. इमà¥à¤ªà¥à¤²à¤¾à¤‡à¤¸ -m. उदा.: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "आउटपà¥à¤Ÿ फ़ाइल, फिर से. (कà¥à¤› औज़ारों के साथ कमà¥à¤ªà¥‡à¤Ÿà¤¿à¤¬à¤¿à¤²à¤¿à¤Ÿà¥€ के लिà¤.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "इनपà¥à¤Ÿ फ़ाइल 1 (आधार) के लिठविजिबल नाम रीपà¥à¤²à¥‡à¤¸à¤®à¥‡à¤‚ट."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "इनपà¥à¤Ÿ फ़ाइल 2 के लिठविजिबल नाम रीपà¥à¤²à¥‡à¤¸à¤®à¥‡à¤‚ट."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "इनपà¥à¤Ÿ फ़ाइल 3 के लिठविजिबल नाम रीपà¥à¤²à¥‡à¤¸à¤®à¥‡à¤‚ट."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "भिनà¥à¤¨ फ़ाइलों की संखà¥à¤¯à¤¾:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "खोलने के लिठफ़ाइल1 (आधार, यदि इसके दà¥à¤µà¤¾à¤°à¤¾ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ नहीं --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "खोलने के लिठफ़ाइल2"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "खोलने के लिठफ़ाइल3"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "के-डिफ3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "बचे हà¥à¤ समाधान-रहित विरोधाभासों की संखà¥à¤¯à¤¾: %1"
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"आउटपà¥à¤Ÿ परिवरà¥à¤§à¤¿à¤¤ किया जा चà¥à¤•ा है.\n"
+"यदि आप जारी रखते हैं तो आपके परिवरà¥à¤¤à¤¨ खो जाà¤à¤à¤—े."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "सभी इनपà¥à¤Ÿ फ़ाइलें बाइनरी समान हैं."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "सभी इनपà¥à¤Ÿ फ़ाइलें à¤à¤• ही पाठ रखे हैं."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"फ़ाइलें अ तथा ब बाइनरी समान हैं.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"फ़ाइलें अ तथा ब में पाठ समान हैं.\n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"फ़ाइलें अ तथा स बाइनरी समान हैं.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"फ़ाइलें अ तथा स में पाठ समान हैं.\n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"फ़ाइलें ब तथा स बाइनरी समान हैं.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"फ़ाइलें ब तथा स में पाठ समान हैं.\n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "परसà¥à¤ªà¤° विरोधों की कà¥à¤² संखà¥à¤¯à¤¾:"
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ समाधान किठविरोधाभासों की संखà¥à¤¯à¤¾: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"समाधान-रहित विरोधाभासों की संखà¥à¤¯à¤¾: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "परसà¥à¤ªà¤° विरोध"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<कोई सà¥à¤°à¥‹à¤¤ पंकà¥à¤¤à¤¿ नहीं>"
+
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<विरोधाभास समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<विरोधाभास समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "आउटपà¥à¤Ÿ"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[परिवरà¥à¤§à¤¿à¤¤]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"अब तक सभी विरोधाभासों का समाधान नहीं किया गया है.\n"
+"फ़ाइल सहेजा नहीं गया.\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "विरोधाभास बायाठ"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "फ़ाइल सहेजने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "लिखने के दौरान तà¥à¤°à¥à¤Ÿà¤¿."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "संपादक तथा डिफ़ आउटपà¥à¤Ÿ फ़ॉनà¥à¤Ÿ"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "डेलà¥à¤Ÿà¤¾à¤œà¤¼ के लिठइटैलिक फ़ॉनà¥à¤Ÿ"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "रंग"
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "कà¥à¤·à¥‡à¤¤à¥à¤°à¥€à¤¯ विनà¥à¤¯à¤¾à¤¸"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "अगà¥à¤°à¤­à¥‚मि का रंगः"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "पृषà¥à¤ à¤­à¥‚मि का रंगः"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "डिफ पृषà¥à¤ à¤­à¥‚मि रंगः"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "रंग अ:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "रंग ब:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "रंग स:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "विरोधाभास के लिठरंग:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सीमा पृषà¥à¤ à¤­à¥‚मि रंग:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सीमा डिफ पृषà¥à¤ à¤­à¥‚मि रंग:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ तà¥à¤²à¤¨à¤¾ सà¥à¤¥à¤¿à¤¤à¤¿"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "संपादक"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "संपादक वà¥à¤¯à¤µà¤¹à¤¾à¤°"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "टैब जगह पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ करता है"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "टैब आकारः"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ हाशिया छोड़ना"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ नक़ल चयन"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "पंकà¥à¤¤à¤¿ ख़तà¥à¤® होने की शैलीः"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "डिफ तथा समà¥à¤®à¤¿à¤²à¤¿à¤¤"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "डिफ तथा समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने का विनà¥à¤¯à¤¾à¤¸"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "कैरिज रिटरà¥à¤¨ बनाठरखें"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "संखà¥à¤¯à¤¾à¤“ं को अनदेखा करें"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "C/C++ कमेंटà¥à¤¸ को अनदेखा करें"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "C/C++ कमेंटà¥à¤¸ को सफेद जगह के रूप में समà¤à¥‡à¤‚"
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "केस अनदेखा करें"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr "केस डिफरेंसेस को सफेद जगह परिवरà¥à¤¤à¤¨ के रूप में समà¤à¥‡à¤‚. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "पà¥à¤°à¥€-पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤° कमांड:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr "उपयोकà¥à¤¤à¤¾ पारिभाषित पà¥à¤°à¥€-पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤¿à¤‚ग. (विवरण के लिठदसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼ देखें.)"
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "लाइन-मैचिंग पà¥à¤°à¥€-पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤° कमांड:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "गंभीर कोशिश करें (धीमा)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ à¤à¤¡à¤µà¤¾à¤¨à¥à¤¸ देरी (मि.से.):"
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "सफेद जगह 2-फ़ाइल समà¥à¤®à¤¿à¤²à¤¿à¤¤ डिफ़ॉलà¥à¤Ÿ:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤ चà¥à¤¨à¤¾à¤µ"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "सफेद जगह 3-फ़ाइल समà¥à¤®à¤¿à¤²à¤¿à¤¤ डिफ़ॉलà¥à¤Ÿ:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ रिकरà¥à¤¸à¤¿à¤µ करें"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "कà¥à¤¯à¤¾ सबडिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ को विशà¥à¤²à¥‡à¤·à¤£ करना है या नहीं. "
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "फ़ाइल पैटरà¥à¤¨:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "फ़ाइल-à¤à¤¨à¥à¤Ÿà¥€-पैटरà¥à¤¨:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "डिर-à¤à¤¨à¥à¤Ÿà¥€-पैटरà¥à¤¨:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ".cvsignore का उपयोग करें"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "छà¥à¤ªà¥€ फ़ाइलों तथा डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ ढूंढें"
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "हिडन à¤à¤Ÿà¥à¤°à¤¿à¤¬à¥à¤¯à¥‚ट वाली फ़ाइल तथा डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ को ढूंढें."
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "'.'. से पà¥à¤°à¤¾à¤°à¤‚भ हो रहे फ़ाइल तथा डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ को ढूंढें"
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "फ़ाइल कड़ियों का अनà¥à¤¸à¤°à¤£ करें"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ कड़ियों का अनà¥à¤¸à¤°à¤£ करें"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "सिरà¥à¤« डेलà¥à¤Ÿà¤¾à¤œà¤¼ की सूची दें"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "बिना परिवरà¥à¤¤à¤¨à¥‹à¤‚ के फ़ाइल तथा डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ सूची में पà¥à¤°à¤•ट नहीं होंगे."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr "फ़ाइल तà¥à¤²à¤¨à¤¾ मोड"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "बाइनरी तà¥à¤²à¤¨à¤¾"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr "पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• फ़ाइल की बाइनरी तà¥à¤²à¤¨à¤¾. (डिफ़ॉलà¥à¤Ÿ)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "पूरà¥à¤£ विशà¥à¤²à¥‡à¤·à¤£"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "परिवरà¥à¤§à¤¨ तारीख पर भरोसा करें (असà¥à¤°à¤•à¥à¤·à¤¿à¤¤)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "आकार पर भरोसा करें (असà¥à¤°à¤•à¥à¤·à¤¿à¤¤)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€à¤œà¤¼ सिंकà¥à¤°à¥‹à¤¨à¤¾à¤‡à¤œà¤¼ करें"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "सफेद जगह 3-फ़ाइल समà¥à¤®à¤¿à¤²à¤¿à¤¤ डिफ़ॉलà¥à¤Ÿ:"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के बजाठनठकी नक़ल करें (असà¥à¤°à¤•à¥à¤·à¤¿à¤¤)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "बैकअप फ़ाइलें (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "कà¥à¤·à¥‡à¤¤à¥à¤°à¥€à¤¯ विनà¥à¤¯à¤¾à¤¸"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "भाषा (फिर से पà¥à¤°à¤¾à¤°à¤‚भ करना आवशà¥à¤¯à¤• है)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "सà¥à¤¥à¤¾à¤¨à¥€à¤¯ à¤à¤¨à¤•ोडिंग इसà¥à¤¤à¥‡à¤®à¤¾à¤² करें"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "ऑपरेशन"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "कà¥à¤·à¥‡à¤¤à¥à¤°à¥€à¤¯ विनà¥à¤¯à¤¾à¤¸"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "फ़ॉनà¥à¤Ÿ असंगत है"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "अपने सà¥à¤µà¤¯à¤‚ के जोखिम पर जारी रखें"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "अनà¥à¤¯ फ़ॉनà¥à¤Ÿ चà¥à¤¨à¥‡à¤‚"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+"यह सभी विकलà¥à¤ªà¥‹à¤‚ को रीसेट करता है. सिरà¥à¤« उनको ही नहीं जो मौजूदा विषय में हैं. "
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr "पà¥à¤°à¥€-पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤°-कमांड:"
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"निमà¥à¤¨ विकलà¥à¤ª जो आपने चà¥à¤¨à¥‡ हैं वे डाटा को बदल सकते हैं:\n"
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के लिठविकलà¥à¤ª असà¥à¤°à¤•à¥à¤·à¤¿à¤¤ हैं"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "इन विकलà¥à¤ªà¥‹à¤‚ का उपयोग समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने के दौरान करें"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "असà¥à¤°à¤•à¥à¤·à¤¿à¤¤ विकलà¥à¤ª अकà¥à¤·à¤® करें"
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "अ लोड किया जा रहा है"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "ब लोड किया जा रहा है"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "डिफ: अ <-> ब"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "लाइनडिफ: अ <-> ब"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "स लोड किया जा रहा है"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "डिफ: ब <-> स"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "डिफ: अ <-> स"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "लाइनडिफ: ब <-> स"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "लाइनडिफ: अ <-> स"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "छोड़ें"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "फ़ाइलें खोली जा रही हैं..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "फ़ाइल खोलने में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "चयन को काटा जा रहा है..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "चà¥à¤¨à¥‡ हà¥à¤ की नकल कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ पर बनाया जा रहा है..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ के वसà¥à¤¤à¥à¤“ं को पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ किया जा रहा है..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "सहेजें तथा जारी रखें"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "सहेजे बगैर जारी रखें"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "ढूंढना समà¥à¤ªà¤¨à¥à¤¨"
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "ढूंढना समà¥à¤ªà¤¨à¥à¤¨"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ बनाने के दौरान तà¥à¤°à¥à¤Ÿà¤¿."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "के-डिफ3 (&K)"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "के-डिफ3 को कॉनà¥à¤«à¤¼à¤¿à¤—र करें"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€ (&D)"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "मौजूदा वसà¥à¤¤à¥ समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने की कà¥à¤°à¤¿à¤¯à¤¾"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "मौजूदा वसà¥à¤¤à¥ सिंक ऑपरेशन"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "गतिविधि (&M)"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "डिफवà¥à¤¯à¥‚ (&i)"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें (&M)"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "विंडो (&W)"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "अ (बेस):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "फ़ाइल..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "डिर.:"
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "स (वैकलà¥à¤ªà¤¿à¤•):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "आउटपà¥à¤Ÿ (वैकलà¥à¤ªà¤¿à¤•):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "कॉनà¥à¤«à¤¼à¤¿à¤—र...."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "पाठ ढूंढें:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "केस सेंसिटिव"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "ढूंढें अ"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "ढूंढें ब"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "ढूंढें स"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "ढूंढने के पशà¥à¤šà¤¾à¤¤à¥ आउटपà¥à¤Ÿ"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "ढूंढें (&S)"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ नक़ल चयन"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "हसà¥à¤¤à¤šà¤¾à¤²à¤¿à¤¤ चà¥à¤¨à¤¾à¤µ"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "सहेजने में असफल."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "कोई पà¥à¤°à¤­à¤¾à¤µ नहीं. कà¥à¤› औज़ारों के साथ कमà¥à¤ªà¥‡à¤Ÿà¤¿à¤¬à¤¿à¤²à¤¿à¤Ÿà¥€ के लिà¤."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "कà¥à¤› औज़ारों के साथ कमà¥à¤ªà¥‡à¤Ÿà¤¿à¤¬à¤¿à¤²à¤¿à¤Ÿà¥€ के लिà¤."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "संपादक तथा डिफ़ आउटपà¥à¤Ÿ में रंग"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "पाठ डिफ तथा समà¥à¤®à¤¿à¤²à¤¿à¤¤ करने का औज़ार"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "फ़ाइल सहेजा नहीं गया."
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "सहेजने के लिठतैयारी करने के दौरान मेमोरी कम पड़ गई."
--- a/kdiff3/po/hu.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/hu.po	Mon Apr 10 08:40:51 2006 +0000
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: KDE 3.2\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
 "PO-Revision-Date: 2004-01-09 11:11+0100\n"
 "Last-Translator: Tamas Szanto <tszanto@mol.hu>\n"
 "Language-Team: Hungarian <kde-lista@sophia.jpte.hu>\n"
@@ -25,15 +25,15 @@
 "Your emails"
 msgstr "tszanto@mol.hu"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr ""
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "A vágólapról"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -42,7 +42,7 @@
 "The preprocessing command will be disabled now."
 msgstr ""
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -51,7 +51,7 @@
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -59,271 +59,272 @@
 "Adatvesztési hiba:\n"
 "ha a jelenség többször is előfordul, kérjük jelentse be a hibát.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Súlyos belső hiba történt"
 
-#: difftextwindow.cpp:829
-#, fuzzy, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Felső sor - %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Vég"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Linkek és normál fájlok vegyesen."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Link: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Méret. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Dátum és méret: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Nem sikerült ideiglenes másolatot készíteni a(z) %1 fájlról."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "%1 megnyitása nem sikerült."
 
-#: directorymergewindow.cpp:180
+#: directorymergewindow.cpp:208
 #, fuzzy
-msgid "Comparing file ..."
+msgid "Comparing file..."
 msgstr "A fájl mentése..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "%1 olvasása közben hiba történt"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Név"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Művelet"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Ãllapot"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr ""
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr ""
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr ""
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr ""
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"Egy könyvtárösszeolvasztás még nem fejeződött be. Biztosan félbe "
-"szeretné szakítani a műveletet és újra be szeretné olvasni a "
-"könyvtár tartalmát?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Egy könyvtárösszeolvasztás még nem fejeződött be. Biztosan félbe szeretné "
+"szakítani a műveletet és újra be szeretné olvasni a könyvtár tartalmát?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Újraolvasás"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "A művelet folytatása"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Nem sikerült beolvasni ezeket a könyvtárakat:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Az \"A\" könyvtár (\"%1\") nem létezik vagy más típusú a bejegyzés.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "A \"B\" könyvtár (\"%1\") nem létezik vagy más típusú a bejegyzés.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "A \"C\" könyvtár (\"%1\") nem létezik vagy más típusú a bejegyzés.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Könyvtármegnyitási hiba"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"A célkönyvtár nem egyezhet meg sem az A, sem a B könyvtárral, ha három "
-"könyvtár lesz összeolvasztva.\n"
+"A célkönyvtár nem egyezhet meg sem az A, sem a B könyvtárral, ha három könyvtár "
+"lesz összeolvasztva.\n"
 "Továbblépés előtt ellenőrizze az értéket."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Figyelmeztetés - paraméter"
 
-#: directorymergewindow.cpp:447
+#: directorymergewindow.cpp:488
 #, fuzzy
-msgid "Scanning directories ..."
+msgid "Scanning directories..."
 msgstr "A könyvtárak szinkronizálása"
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Az A könyvtár beolvasása"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "A B könyvtár beolvasása"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "A C könyvtár beolvasása"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Néhány alkönyvtár beolvasása nem sikerült itt:"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Ellenőrizze az alkönyvtárak jogosultságait."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Kész."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "A könyvtárak összehasonlítási állapota"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Az alkönyvtárak száma:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "A megegyező fájlok száma:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Az eltérő fájlok száma:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "A kézi összeolvasztások száma:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Ez minden összeolvasztási műveletet érint."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Az összes összeolvasztási művelet megváltoztatása"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "F&olytatás"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Feldolgozás "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Feladat."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "A másolása B-be"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "B másolása A-ba"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "A törlése"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "B törlése"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "A és B törlése"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Beolvasztás A-ba"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Beolvasztás B-be"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Beolvasztás A és B-be"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Törlés (ha létezik)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Összeolvasztás"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Összeolvasztás (kézi)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Hiba: ütköző fájltípusok"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Hiba: a dátumok megegyeznek, de a fájlok nem."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Ez a művelet jelenleg nem lehetséges."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "A művelet nem lehetséges"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -335,47 +336,46 @@
 "\n"
 "mergeResultSaved: m_pMFI=0\n"
 "\n"
-"Ha tudja, hogyan kell ezt a helyzetet reprodukálni, kérem értesítse a "
-"szerzőt."
-
-#: directorymergewindow.cpp:1554
+"Ha tudja, hogyan kell ezt a helyzetet reprodukálni, kérem értesítse a szerzőt."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Programhiba"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Hiba történt másolás közben.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Összeolvasztási hiba"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Hiba."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Kész."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Nincs elmentve."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr ""
-"Ismeretlen összeolvasztási művelet (normál körülmények között nem "
-"fordulhat elő)."
-
-#: directorymergewindow.cpp:1666
+"Ismeretlen összeolvasztási művelet (normál körülmények között nem fordulhat "
+"elő)."
+
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Ismeretlen összeolvasztási művelet."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -388,326 +388,376 @@
 msgstr ""
 "Az összeolvasztás előkészítése megtörtént.\n"
 "\n"
-"Kattintson a \"Kezdődjön\" gombra, ha elolvasta a leírást és tudja, mi "
-"fog történni.\n"
-"Kattintson a \"Szimuláció\" gombra, ha látni szeretné, mi fog "
+"Kattintson a \"Kezdődjön\" gombra, ha elolvasta a leírást és tudja, mi fog "
 "történni.\n"
+"Kattintson a \"Szimuláció\" gombra, ha látni szeretné, mi fog történni.\n"
 "\n"
-"Ez a program még béta állapotú, ezért nincs garancia a hibátlan "
-"működésre. A fontos adatokról mindenképpen készítsen biztonsági "
-"másolatot!"
-
-#: directorymergewindow.cpp:1686
+"Ez a program még béta állapotú, ezért nincs garancia a hibátlan működésre. A "
+"fontos adatokról mindenképpen készítsen biztonsági másolatot!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Az összeolvasztás megkezdése"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Kezdődjön"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Szimuláció"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"A kijelölt elem típusa eltérő a könyvtárakban. Válassza ki, mit "
-"szeretne tenni."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"A két fájl utolsó módosítási dátuma megegyezik, de a fájlok tartalma "
-"nem. Mi történjen?"
-
-#: directorymergewindow.cpp:1778
+"A kijelölt elem típusa eltérő a könyvtárakban. Válassza ki, mit szeretne tenni."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"A két fájl utolsó módosítási dátuma megegyezik, de a fájlok tartalma nem. Mi "
+"történjen?"
+
+#: directorymergewindow.cpp:2102
 #, fuzzy
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
 "Ez a művelet most nem hajtható végre, mert folyamatban van egy "
 "könyvtárösszeolvasztás."
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Hiba történt az utolsó lépsnél.\n"
-"Folytatni szeretné a műveletet a hiba ellenére vagy át szeretné ugrani "
-"a hibát okozó elemet?"
-
-#: directorymergewindow.cpp:1840
+"Folytatni szeretné a műveletet a hiba ellenére vagy át szeretné ugrani a hibát "
+"okozó elemet?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Az összeolvasztás folytatása hiba esetén is"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Folytatás az utolsó elemmel"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Az elem átlépése"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Ãtlépve."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Folyamatban..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Az összeolvasztási művelet befejeződött."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Az összeolvasztás befejeződött"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"A szimulált összeolvasztás befejeződött: ellenőrizze, hogy "
-"elfogadhatók-e a javasolt műveletek."
-
-#: directorymergewindow.cpp:1977
+"A szimulált összeolvasztás befejeződött: ellenőrizze, hogy elfogadhatók-e a "
+"javasolt műveletek."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Hiba történt. Kattintson az OK gombra részletes tájékoztatáshoz.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr ""
-"Hiba történt %1 törlése közben: nem sikerült létrehozni egy "
-"biztonsági másolatot."
-
-#: directorymergewindow.cpp:2027
+"Hiba történt %1 törlése közben: nem sikerült létrehozni egy biztonsági "
+"másolatot."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "könyvtár (%1) törlése az alkönyvtárakkal együtt"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "törlés (%1)"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-"Hiba történt: a könyvtártörlés során, a könyvtár beolvasásakor, "
-"hiba történt."
-
-#: directorymergewindow.cpp:2063
+"Hiba történt: a könyvtártörlés során, a könyvtár beolvasásakor, hiba történt."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Hiba: egy rmdir (%1) művelet nem sikerült."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Hiba történt: a törlési művelet nem sikerült."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "kézi összeolvasztás (%1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
+#: directorymergewindow.cpp:2426
 #, fuzzy
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Megjegyzés: kézi összeolvasztás esetén a felhasználónak az "
-"F7-tel kell továbblépnie."
-
-#: directorymergewindow.cpp:2125
+"     Megjegyzés: kézi összeolvasztás esetén a felhasználónak az F7-tel kell "
+"továbblépnie."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Hiba: egy másolás (%1 ->"
-" %2) nem sikerült. Nem sikerült törölni a már létező másolási "
-"célpontot."
-
-#: directorymergewindow.cpp:2135
+"Hiba: egy másolás (%1 -> %2) nem sikerült. Nem sikerült törölni a már létező "
+"másolási célpontot."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "Link másolása (%1 -> %2)"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-"Hiba: egy link másolása nem sikerült. Távoli linkeket nem lehet "
-"használni."
-
-#: directorymergewindow.cpp:2152
+"Hiba: egy link másolása nem sikerült. Távoli linkeket nem lehet használni."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Hiba történt: egy link másolása nem sikerült."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "másolás (%1 -> %2)"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr "Hiba történt átnevezés (%1 -> %2) közben: a célfájl nem törölhető."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "átnevezés (%1 -> %2)"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Hiba történt: egy átnevezés nem sikerült."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr ""
-"Hiba történt a könyvtár (%1) létrehozása közben. A már létező "
-"fájl nem törölhető."
-
-#: directorymergewindow.cpp:2247
+"Hiba történt a könyvtár (%1) létrehozása közben. A már létező fájl nem "
+"törölhető."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "Könyvtár létrehozása (%1)"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Hiba történt egy könyvtár létrehozása közben."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Cél"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Könyvtár"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Típus"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Méret"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attribútum"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Utolsó módosítás"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Link-Cél"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "nem áll rendelkezésre"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (cél):"
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (alap):"
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (cél):"
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (cél):"
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Cél: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Könyvtárösszeolvasztás"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "A könyvtárösszeolvasztás kezdése/folytatása"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "A művelet végrehajtása az aktuális elemen"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "A kiválasztott fájl összehasonlítása"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Az aktuális fájl összeolvasztása"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Az alkönyvtárak összecsukása"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Az alkönyvtárak kibontása"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Könyvtárösszeolvasztás"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Könyvtárösszeolvasztás"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Az 'A' kiválasztása az összes elemhez"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "A 'B' kiválasztása az összes elemhez"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "A 'C' kiválasztása az összes elemhez"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Automatikus kiválasztás az összes elemnél"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Nincs művelet az összes elemre"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "A könyvtárak szinkronizálása"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Az újabb másolása összeolvasztás helyett (nem megbízható!)."
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Az eltérő fájlok száma:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "A kiválasztott fájl összehasonlítása"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "A kiválasztott fájl összehasonlítása"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Nem kell semmit tenni"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Törlés (ha létezik)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
 msgstr "A és B törlése"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
 msgstr "Beolvasztás A és B-be"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Biztonsági mentés készítése közben egy régebbi biztonsági mentést "
-"nem sikerült törölni. \n"
+"Biztonsági mentés készítése közben egy régebbi biztonsági mentést nem sikerült "
+"törölni. \n"
 "Fájlnév: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -715,500 +765,566 @@
 "Biztonsági mentés készítése közben egy átnevezés nem sikerült. \n"
 "A fájlok nevei: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "A fájlállapot lekérdezése: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Fájl beolvasása: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Fájl írása: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Elfogyott a memória"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Könyvtár létrehozása: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Könyvtár törlése: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Fájl törlése: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Szimbolikus link létrehozása: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Fájl átnevezése: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Fájl másolása: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Hiba történt fájlmásolás közben: nem sikerült olvasásra megnyitni "
-"egy fájlt. A fájl neve: %1"
-
-#: fileaccess.cpp:844
+"Hiba történt fájlmásolás közben: nem sikerült olvasásra megnyitni egy fájlt. A "
+"fájl neve: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Hiba történt fájlmásolás közben: nem sikerült írásra megnyitni egy "
-"fájlt. A fájl neve: %1"
-
-#: fileaccess.cpp:859
+"Hiba történt fájlmásolás közben: nem sikerült írásra megnyitni egy fájlt. A "
+"fájl neve: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"Hiba történt fájlmásolás közben: egy olvasási művelet nem sikerült. "
-"A fájl neve: %1"
-
-#: fileaccess.cpp:868
+"Hiba történt fájlmásolás közben: egy olvasási művelet nem sikerült. A fájl "
+"neve: %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Hiba történt fájlmásolás közben: egy írási művelet nem sikerült. A "
-"fájl neve: %1"
-
-#: fileaccess.cpp:1171
+"Hiba történt fájlmásolás közben: egy írási művelet nem sikerült. A fájl neve: "
+"%1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Könyvtár beolvasása: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Könyvtár kilistázása: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Szinkronizálási művelet az aktuális elemmel"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Fájlmegnyitási hiba"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
-msgstr "Az --auto opciót használná a program, de nincs megadva a kimeneti fájl."
-
-#: kdiff3.cpp:241
+msgstr ""
+"Az --auto opciót használná a program, de nincs megadva a kimeneti fájl."
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr ""
-"Az --auto opció figyelmen kívül lesz hagyva könyvtárak "
-"összehasonlításánál."
-
-#: kdiff3.cpp:277
+"Az --auto opció figyelmen kívül lesz hagyva könyvtárak összehasonlításánál."
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "A mentés nem sikerült."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Nem sikerült megnyitni a következő fájlokat:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Fájlmegnyitási hiba"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Dokumentumok megnyitása összehasonlításhoz..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-"Az összeolvasztás eredményének elmentése. Minden ütközést fel kell "
-"oldani."
-
-#: kdiff3.cpp:333
+"Az összeolvasztás eredményének elmentése. Minden ütközést fel kell oldani."
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Az aktuális dokumentum mentése mint..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Kilépés az alkalmazásból"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Kivágja a kijelölt részt és a vágólapra helyezi"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kimásolja a kijelölt részt és a vágólapra helyezi"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Beilleszti a vágólap tartalmát az aktuális pozíciónál"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Sztring keresése"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "A sztring keresése újból"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Az eszköztár ki-be kapcsolása"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Az állapotsor ki-be kapcsolása"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "A KDiff3 beállításai..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Ugrás az aktuális deltára..."
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Ugrás az első deltára"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Ugrás az utolsó deltára"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Ugrás az előző deltára"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Ugrás a következő deltára"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Ugrás az előző ütközésre"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Ugrás a következő ütközésre"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Ugrás az előző feloldatlan ütközésre"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Ugrás a következő feloldatlan ütközésre"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Sor(ok) kiválasztása A-ból"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Sor(ok) kiválasztása B-ből"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Sor(ok) kiválasztása C-ből"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"A forrás kiválasztása után automatikus ugrás a következő feloldatlan "
-"ütközésre"
-
-#: kdiff3.cpp:388
+"A forrás kiválasztása után automatikus ugrás a következő feloldatlan ütközésre"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "A szóközök és tabulátorok megjelenítése eltéréseknél"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Az üres karakterek megjelenítése"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "A sorszámok megjelenítése"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "A kiválasztása mindenhol"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "B kiválasztása mindenhol"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "C kiválasztása mindenhol"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "A kiválasztása az összes feloldatlan ütközéshez"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "B kiválasztása az összes feloldatlan ütközéshez"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "C kiválasztása az összes feloldatlan ütközéshez"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "A kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "B kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "C kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Az egyszerű ütközések automatikus feloldása"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Delták beállítása az ütközésekhez"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Az egyszerű ütközések automatikus feloldása"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Az A ablak megjelenítése"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "A B ablak megjelenítése"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "A C ablak megjelenítése"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Fókusz a következő ablakra"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr ""
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr ""
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr ""
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr ""
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr ""
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Fókusz az előző ablakra"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "A megosztás irányának megváltoztatása"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Osztott nézet (könyvtár és szöveg)"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Váltás a könyvtár- és szöveges nézet között"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Az összeolvasztás eredménye még nincs elmentve."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Mentés és kilépés"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Kilépés mentés nélkül"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Az összeolvasztás eredményét nem sikerült elmenteni."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Éppen folyamatban van egy könyvtárösszeolvasztás. Biztosan félbe "
-"szeretné szakítani a műveletet?"
-
-#: kdiff3.cpp:547
+"Éppen folyamatban van egy könyvtárösszeolvasztás. Biztosan félbe szeretné "
+"szakítani a műveletet?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "A fájl mentése..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "A fájl elmentése más néven..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Kilépés..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Az összeolvasztási művelet befejeződött."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Kilépés..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Az eszköztár átkapcsolása..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Az állapotsor átkapcsolása..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "A keresett szöveg:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Nagybetűérzékeny"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "A keresése"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "B keresése"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "C keresése"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "A keresés kimenete"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Keresés"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Nem található összehasonlítható fájlpár."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "A keresett komponens nem található.\n"
-"Ez a hiba valószínűleg valamilyen telepítési probléma következménye. "
-"További információ a forráscsomagban található README fájlban "
-"található."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Szöveges eszköz diff készítéséhez és összeolvasztáshoz"
+"Ez a hiba valószínűleg valamilyen telepítési probléma következménye. További "
+"információ a forráscsomagban található README fájlban található."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Összeolvasztás a bemenettel."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Az alapfájl explicit kijelölése. Kompatibilitási célokat szolgál."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr ""
-"A kimeneti fájl neve. Maga után vonja a -m opciót. Például: -o "
-"újfájl.txt"
-
-#: main.cpp:40
+"A kimeneti fájl neve. Maga után vonja a -m opciót. Például: -o újfájl.txt"
+
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "A kimeneti fájl neve, még egyszer. Kompatibilitási célokat szolgál."
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
 "Nem jelenjen meg grafikus felület, ha az összes ütközés automatikusan "
 "feloldható. (A -o fájlnév opcióval használható.)"
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr ""
-"Az ütközések automatikus feloldásának kikapcsolása. Kompatibilitási "
-"célokat szolgál."
-
-#: main.cpp:43
+"Az ütközések automatikus feloldásának kikapcsolása. Kompatibilitási célokat "
+"szolgál."
+
+#: main.cpp:48
 #, fuzzy
 msgid "Visible name replacement for input file 1 (base)."
-msgstr "A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
-
-#: main.cpp:44
+msgstr ""
+"A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
+
+#: main.cpp:49
 #, fuzzy
 msgid "Visible name replacement for input file 2."
-msgstr "A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
-
-#: main.cpp:45
+msgstr ""
+"A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
+
+#: main.cpp:50
 #, fuzzy
 msgid "Visible name replacement for input file 3."
-msgstr "A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
-
-#: main.cpp:47
+msgstr ""
+"A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
+
+#: main.cpp:52
 #, fuzzy
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
-
-#: main.cpp:48
+msgstr ""
+"A megjelenített név cseréje. Minden bemenethez csak egyszer kell megadni."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
 #, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Néhány eszközzel való kompatibilitásért."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Néhány eszközzel való kompatibilitásért."
-
-#: main.cpp:52
+msgid "Use a different config file."
+msgstr "Az eltérő fájlok száma:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
-msgstr "a megnyitandó fájl (1) - ez lesz az alap, ha nincs megadva a --base opció"
-
-#: main.cpp:53
+msgstr ""
+"a megnyitandó fájl (1) - ez lesz az alap, ha nincs megadva a --base opció"
+
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "a megnyitandó fájl (2)"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "a megnyitandó fájl (3)"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"\n"
+"A fel nem oldott ütközések száma: "
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1216,55 +1332,55 @@
 "A kimenet megváltozott.\n"
 "Ha továbblép, a módosítások elvesznek."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Az összes bemeneti fájl megegyezik (bináris módban)."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Az összes bemeneti fájl megegyezik (szöveges módban)."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "A és B fájl binárisan megegyezik.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "A és B szövege megegyezik.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "A és C fájl binárisan megegyezik.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "A és C szövege megegyezik. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "B és C binárisan megegyezik.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "B és C szövege megegyezik.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Az ütközések száma: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1272,7 +1388,7 @@
 "\n"
 "Az automatikusan feloldott ütközések száma: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1280,27 +1396,32 @@
 "\n"
 "A fel nem oldott ütközések száma: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Ütközések"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Nincs forrássor>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Összeolvasztási ütközés>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Összeolvasztási ütközés>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr ""
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Módosítva]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1308,107 +1429,154 @@
 "Még nincs feloldva az összes ütközés.\n"
 "A fájl nem lesz elmentve.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Megmaradt ütközések"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-"\n"
-"\n"
-"A fájl nem lett elmentve."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Fájlmentési hiba"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "A mentés előkészítése közben elfogyott a memória."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Hiba történt írás közben."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+#, fuzzy
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+"Akkor kell esetleg bejelölni, ha a nem ASCII karakterek helytelenül jelennek "
+"meg."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "A szerkesztő és a diff-kimenet betűtípusa"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Dőlt betűk az eltéréseknél"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
-"Ennek hatására a program az eltérések megjelenítéséhez dőlt betűket "
-"fog használni.\n"
-"Ha a betűtípus nem tartalmaz dőlt betűket, akkor az opciónak nincs "
-"hatása."
-
-#: optiondialog.cpp:353
+"Ennek hatására a program az eltérések megjelenítéséhez dőlt betűket fog "
+"használni.\n"
+"Ha a betűtípus nem tartalmaz dőlt betűket, akkor az opciónak nincs hatása."
+
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Szín"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "A szerkesztő és a diff-kimenet színei"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Előtérszín:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Háttérszín:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "A diff szöveg háttérszíne:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "A szín:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "B szín:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "C szín:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Ütközési szín:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "A jelenlegi tartomány háttérszíne:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "A jelenlegi tartomány diff-jének háttérszíne:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "A könyvtárak összehasonlítási állapota"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Szerkesztő"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
 msgstr "A szerkesztő működési jellemzői"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "A Tab billentyű szóközöket szúrjon be"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1417,124 +1585,115 @@
 "szövegbe.\n"
 "Ha nincs bejelölve: a Tab lenyomásakor Tab karakter kerül a szövegbe.."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tabulátorméret:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "A behúzás megőrzése"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"Ha be van jelölve: új sor kezdésekor az előző sor behúzását "
-"használja a program.\n"
-
-#: optiondialog.cpp:462
+"Ha be van jelölve: új sor kezdésekor az előző sor behúzását használja a "
+"program.\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "A kijelölt adatok automatikus kimásolása a vágólapra"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Ha be van jelölve: a kijelölt adatok másolata mindig automatikusan a "
-"vágólapra kerül.\n"
-"Ha nincs bejelölve: a másolás csak parancsra történik meg (pl. a "
-"Ctrl+C-vel)."
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+"Ha be van jelölve: a kijelölt adatok másolata mindig automatikusan a vágólapra "
+"kerül.\n"
+"Ha nincs bejelölve: a másolás csak parancsra történik meg (pl. a Ctrl+C-vel)."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr ""
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "A helyi kódolás használata"
-
-#: optiondialog.cpp:490
+#: optiondialog.cpp:726
 #, fuzzy
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-"Akkor kell esetleg bejelölni, ha a nem ASCII karakterek helytelenül "
-"jelennek meg."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+msgid "Diff and Merge"
 msgstr "Diff és összeolvasztás"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "A diff és az összeolvasztás beállításai"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "A CR (kocsivissza) karakterek megőrzése"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 "A kocsivissza ('\\r') karakterek megjelenítése.\n"
-"Segít a különféle operációs rendszerekben megváltoztatott szövegek "
-"eltéréseinek kezelésénél."
-
-#: optiondialog.cpp:518
+"Segít a különféle operációs rendszerekben megváltoztatott szövegek eltéréseinek "
+"kezelésénél."
+
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "A számok figyelmen kívül hagyása"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"A számjegyek figyelmen kívül hagyása sorillesztésnél. (Hasonló 'Az "
-"üres karakterek figyelmen kívül hagyása' opcióhoz.)\n"
+"A számjegyek figyelmen kívül hagyása sorillesztésnél. (Hasonló 'Az üres "
+"karakterek figyelmen kívül hagyása' opcióhoz.)\n"
 "Néha szükség lehet erre az opcióra számadatokat tartalmazó fájlok "
 "összehasonlításánál."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
 msgstr "A C/C++-megjegyzések figyelmen kívül hagyása"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "A C/C++-megjegyzések üres helynek tekintése."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 #, fuzzy
 msgid "Ignore case"
 msgstr "A számok figyelmen kívül hagyása"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Előfeldolgozási parancs:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
 "A felhasználó által megadott előfeldolgozás használata (a részletek a "
 "dokumentációban találhatók)."
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Sorösszehasonlítási előparancs:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1542,11 +1701,11 @@
 "Ezt a parancsot sorillesztésnél használja a program.\n"
 "(A részletek a dokumentációban találhatók.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Alaposabb próbálkozás (lassabb)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1554,59 +1713,162 @@
 "Bekapcsolja a --minimal opciót a külső diff programnál.\n"
 "Hatására a sebesség jelentősen lecsökkenhet nagy fájlok esetén."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Automatikus léptetési késleltetés (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
 "Automatikus léptetés esetén a megadott ideig a kijelölt rész látszik,\n"
-"utána a program automatikusan a következő ütközésre lép. A "
-"megengedett értéktartomány: 0-2000 ms"
-
-#: optiondialog.cpp:571
+"utána a program automatikusan a következő ütközésre lép. A megengedett "
+"értéktartomány: 0-2000 ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Üres karakterek 2 fájl összeolvasztásánál (alapértelmezés):"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
 msgstr "Kézi választás"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Lehetővé teszi az összeolvasztási algoritmusnak, hogy automatikusan "
-"kiválassza a megfelelő bemenetet, ha az üres helyek megváltozását kell "
-"nézni."
-
-#: optiondialog.cpp:584
+"Lehetővé teszi az összeolvasztási algoritmusnak, hogy automatikusan kiválassza "
+"a megfelelő bemenetet, ha az üres helyek megváltozását kell nézni."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Üres karakterek 2 fájl összeolvasztásánál (alapértelmezés):"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Könyvtárösszeolvasztás"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Az alkönyvtárakban is"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr ""
-"Itt lehet megadni, hogy az összehasonlítás az alkönyvtárak tartalmára "
-"is kiterjedjen-e."
-
-#: optiondialog.cpp:615
+"Itt lehet megadni, hogy az összehasonlítás az alkönyvtárak tartalmára is "
+"kiterjedjen-e."
+
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Fájlminták:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1616,11 +1878,11 @@
 "Használható illesztési karakterek: '*' és '?'\n"
 "Több minta is megadható pontosvesszővel elválasztva."
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Kizáró fájlminták:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1630,11 +1892,11 @@
 "Használható illesztési karakterek: '*' és '?'\n"
 "Több minta is megadható pontosvesszővel elválasztva."
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Kizáró könyvtárminták:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1644,39 +1906,36 @@
 "Használható illesztési karakterek: '*' és '?'\n"
 "Több minta is megadható pontosvesszővel elválasztva."
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "A .cvsignore használata"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
-"A kizárási mintát kiterjeszti a CVS által figyelmen kívül hagyott "
-"fájlokra.\n"
-"A \".cvsignore\" fájlok segítségével ez minden könyvtárban külön "
-"megadható."
-
-#: optiondialog.cpp:656
+"A kizárási mintát kiterjeszti a CVS által figyelmen kívül hagyott fájlokra.\n"
+"A \".cvsignore\" fájlok segítségével ez minden könyvtárban külön megadható."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "A keresések a rejtett fájlokra és könyvtárakra is terjedjenek ki"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "A keresések terjedjenek ki a rejtett fájlokra és könyvtárakra is."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr ""
-"A keresések a ponttal kezdődő nevű fájlokra és könyvtárakra is "
-"terjedjenek ki."
-
-#: optiondialog.cpp:665
+"A keresések a ponttal kezdődő nevű fájlokra és könyvtárakra is terjedjenek ki."
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "A fájllinkek követése"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1684,83 +1943,94 @@
 "Be: összehasonlítás a link által mutatott fájllal.\n"
 "Ki: a linkek összehasonlítása."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "A linkek követése"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Ha be van jelölve: a linkek által mutatott könyvtárak lesznek "
-"összehasonlítva.\n"
+"Ha be van jelölve: a linkek által mutatott könyvtárak lesznek összehasonlítva.\n"
 "Ha nincs bejelölve: maguk a linkek lesznek összehasonlítva."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Csak az eltérések jelenjenek meg"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "A listában nem jelennek meg a nem módosult fájlok és könyvtárak."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr ""
 
-#: optiondialog.cpp:691
+#: optiondialog.cpp:1043
 #, fuzzy
-msgid "Binary Comparison"
+msgid "Binary comparison"
 msgstr "A könyvtárak összehasonlítási állapota"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr ""
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr ""
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "A módosítási dátum valósnak feltételezése (nem megbízható!)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"Két fájlt egyezőnek feltételez majd a program, ha a hosszuk és az "
-"utolsó módosítás dátuma megegyezik.\n"
+"Két fájlt egyezőnek feltételez majd a program, ha a hosszuk és az utolsó "
+"módosítás dátuma megegyezik.\n"
 "Nagy könyvtárak vagy lassú hálózat esetén lehet erre szükség."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "A méret valósnak feltételezése (nem megbízható!)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Két fájlt egyezőnek feltételez majd a program, ha a hosszuk megegyezik.\n"
-"Nagy könyvtárak vagy lassú hálózat esetén lehet erre szükség, ha "
-"letöltéskor a módosítási dátum megváltozik."
-
-#: optiondialog.cpp:707
+"Nagy könyvtárak vagy lassú hálózat esetén lehet erre szükség, ha letöltéskor a "
+"módosítási dátum megváltozik."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "A könyvtárak szinkronizálása"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1770,54 +2040,124 @@
 "összehasonlítás után a könyvtárak meg fognak egyezni.\n"
 "Csak akkor működik, ha az összehasonlításnál nincs megadva a cél."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "Üres karakterek 2 fájl összeolvasztásánál (alapértelmezés):"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Az újabb másolása összeolvasztás helyett (nem megbízható!)."
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 msgstr ""
-"Nem kell a fájlok tartalmával törődni, csak az újabb fájlt kell "
-"venni.\n"
-"Csak akkor használja, ha tudja, milyen következményekkel jár ez a "
-"művelet!\n"
+"Nem kell a fájlok tartalmával törődni, csak az újabb fájlt kell venni.\n"
+"Csak akkor használja, ha tudja, milyen következményekkel jár ez a művelet!\n"
 "Az opciónak csak két könyvtár összehasonlításakor van hatása."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Biztonsági mentések (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
-"Mielőtt a program egy régebbi fájlt felülírna az újabbal, a régi "
-"fájl\n"
+"Mielőtt a program egy régebbi fájlt felülírna az újabbal, a régi fájl\n"
 "legyen átnevezve '.orig' kiterjesztéssel (törlés helyett)."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr ""
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr ""
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "A helyi kódolás használata"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Művelet"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1833,90 +2173,89 @@
 "\n"
 "Tovább szeretne lépni vagy inkább más betűtípust választ?"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Nem kompatibilis betűtípus"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Folytatás (kockázatos)"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Válasszon egy másik betűtípust"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr ""
-"Ezzel alapállapotba hozható az összes beállítás (nem csak az aktuális "
-"témáé)."
-
-#: pdiff.cpp:257
+"Ezzel alapállapotba hozható az összes beállítás (nem csak az aktuális témáé)."
+
+#: pdiff.cpp:258
 #, fuzzy
 msgid "PreprocessorCmd: "
 msgstr "Előfeldolgozási parancs:"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr ""
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "A betöltése"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "B betöltése"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Diff: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Sordiff: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "C betöltése"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Diff: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Diff: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Linediff: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Linediff: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1926,106 +2265,280 @@
 "A KDiff3-féle összeolvasztás szöveges fájlok kezelésére való.\n"
 "Csak akkor lépjen tovább, ha valóban ezt szeretne."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Félbeszakítás"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Fájlok megnyitása..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fájlmegnyitási hiba"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "A kijelölt adatok kivágása..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "A kijelölt adatok másolása a vágólapra..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "A vágólap tartalmának beillesztése..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Mentés és folytatás"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Folytatás mentés nélkül"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "A keresés befejeződött."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "A keresés befejeződött"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Hiba történt egy könyvtár létrehozása közben."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "A KDiff3 beállításai"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "Köny&vtár"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Összevonási művelet az aktuális elemmel"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Szinkronizálási művelet az aktuális elemmel"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "Mozg&atás"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, fuzzy, no-c-format
+msgid "D&iffview"
+msgstr "KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Össze&olvasztás"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Ablak"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (alap):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Fájl..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Könyvtár..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (opcionális):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Kimenet (opcionális):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Beállítás..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Félbeszakítás"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Fájlok megnyitása..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Fájlmegnyitási hiba"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "A kijelölt adatok kivágása..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "A kijelölt adatok másolása a vágólapra..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "A vágólap tartalmának beillesztése..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Mentés és folytatás"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Folytatás mentés nélkül"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "A keresés befejeződött."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "A keresés befejeződött"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "A KDiff3 beállításai"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "Köny&vtár"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Összevonási művelet az aktuális elemmel"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Szinkronizálási művelet az aktuális elemmel"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "Mozg&atás"
-
-#: rc.cpp:9
+#: smalldialogs.cpp:332
 #, fuzzy
-msgid "D&iffview"
-msgstr "KDiff3"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "Össze&olvasztás"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Ablak"
+msgid "Search text:"
+msgstr "A keresett szöveg:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Nagybetűérzékeny"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "A keresése"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "B keresése"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "C keresése"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "A keresés kimenete"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Keresés"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "A kijelölt adatok automatikus kimásolása a vágólapra"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Kézi választás"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "A mentés nem sikerült."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Néhány eszközzel való kompatibilitásért."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Néhány eszközzel való kompatibilitásért."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "A szerkesztő és a diff-kimenet színei"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "Szöveges eszköz diff készítéséhez és összeolvasztáshoz"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "A fájl nem lett elmentve."
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "A mentés előkészítése közben elfogyott a memória."
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "Törlés (ha létezik)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "A és B törlése"
+
+#~ msgid "Merge to A and B"
+#~ msgstr "Beolvasztás A és B-be"
 
 #, fuzzy
 #~ msgid "Error writing temporary file: %1"
@@ -2034,8 +2547,7 @@
 #~ msgid "Convert to upper case"
 #~ msgstr "Konvertálás nagybetűkre"
 
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
+#~ msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
 #~ msgstr "A kisbetűk nagybetűkké alakítása olvasáskor (pl. 'a' -> 'A')"
 
 #, fuzzy
@@ -2044,13 +2556,9 @@
 
 #~ msgid ""
 #~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
+#~ "Check if the diff works, if the program can write in the temp folder or if the disk is full.\n"
+#~ "The external diff option will be disabled now and the internal diff will be used."
 #~ msgstr ""
 #~ "Nem sikerült futtatni a külső diff programot.\n"
-#~ "Ellenőrizze, hogy a program használható-e, tud-e írni az ideiglenes "
-#~ "könyvtárba és van-e elég szabad hely a lemezen.\n"
-#~ "A külső diff program le lesz tiltva, helyette a beépített diff program "
-#~ "lesz felhasználva."
+#~ "Ellenőrizze, hogy a program használható-e, tud-e írni az ideiglenes könyvtárba és van-e elég szabad hely a lemezen.\n"
+#~ "A külső diff program le lesz tiltva, helyette a beépített diff program lesz felhasználva."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/is.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2284 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr ""
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr ""
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr ""
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr ""
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr ""
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr ""
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr ""
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr ""
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr ""
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr ""
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr ""
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr ""
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr ""
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr ""
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr ""
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr ""
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr ""
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr ""
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr ""
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr ""
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr ""
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr ""
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr ""
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr ""
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr ""
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr ""
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr ""
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr ""
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/it.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/it.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,41 +1,40 @@
-# translation of kdiff3.po to Italian.
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Stelvio Rosset <srosset@satelgroup.net>, 2003.
-# Andrea Celli <a.celli@caltanet.it>, 2003.
+# translation of kdiff3.po to Italian
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Andrea Celli <a.celli@caltanet.it>, 2003, 2004, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-01-14 11:40+0100\n"
-"Last-Translator: Rosset Stelvio <srosset@satelgroup.net>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-11 22:15+0100\n"
+"Last-Translator: Andrea Celli <a.celli@caltanet.it>\n"
 "Language-Team: Italian <kde-i18n-it@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.9.5\n"
+"X-Generator: KBabel 1.3.1\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr ""
+msgstr "Andrea Celli"
 
 #: _translatorinfo.cpp:3
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr ""
-
-#: diff.cpp:241
+msgstr "a.celli@caltanet.it"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr ""
-
-#: diff.cpp:245
+msgstr "Non è riuscita la copia da appunti a file temporaneo."
+
+#: diff.cpp:249
 msgid "From Clipboard"
-msgstr ""
-
-#: diff.cpp:404
+msgstr "Dagli appunti"
+
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -43,8 +42,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:425
+"La pre-elaborazione non sembra riuscita. Controlla questo comando:\n"
+"\n"
+"  %1\n"
+"\n"
+"Ora il comando di pre-elaborazione verrà disabilitato."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -52,278 +56,284 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"La pre-ricerca di righe simili non sembra riuscita. Controlla il comando:\n"
+"\n"
+"  %1\n"
+"\n"
+"Ora il comando di pre-ricerca di righe simili verrà disabilitato."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
-
-#: diff.cpp:1270 diff.cpp:1284
+"Errore: perdita dati\n"
+"Se è riproducibile, ti prego di segnalarlo all'autore.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
-msgstr ""
-
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr ""
-
-#: difftextwindow.cpp:831
+msgstr "Grave errore interno"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "Da riga %1"
+
+#: difftextwindow.cpp:1600
 msgid "End"
-msgstr ""
-
-#: directorymergewindow.cpp:114
+msgstr "Fine"
+
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
-msgstr ""
-
-#: directorymergewindow.cpp:121
+msgstr "Collegamenti e file normali insieme."
+
+#: directorymergewindow.cpp:149
 msgid "Link: "
-msgstr ""
-
-#: directorymergewindow.cpp:129
+msgstr " Collegamento:"
+
+#: directorymergewindow.cpp:157
 msgid "Size. "
-msgstr ""
-
-#: directorymergewindow.cpp:142
+msgstr " Dimensione. "
+
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
-msgstr ""
-
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+msgstr "Data e dimensione "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
-msgstr ""
-
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+msgstr "Non ho potuto creare una copia temporanea di %1."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
-msgstr ""
-
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "Confronta 2 file:"
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+msgstr "Non ho potuto aprire %1."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Confronto file ..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
+msgstr "Errore nella lettura di %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Nome"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Operazione"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Stato"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Non risolto"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Risolto"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Non vuoto"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Vuoto"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:252
-msgid "Name"
-msgstr ""
-
-#: directorymergewindow.cpp:256
-#, fuzzy
-msgid "Operation"
-msgstr "Opzioni"
-
-#: directorymergewindow.cpp:257
-msgid "Status"
-msgstr ""
-
-#: directorymergewindow.cpp:258
-msgid "Unsolved"
-msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Stai fondendo delle cartelle. Sei sicuro? Vuoi interrompere la fusione e "
+"riesaminare la cartella?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
-msgstr ""
-
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+msgstr "Riesaminare"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
-msgstr ""
-
-#: directorymergewindow.cpp:421
-#, fuzzy
+msgstr "Continuare la fusione"
+
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
-msgstr "Compara/Fondi due directory:"
-
-#: directorymergewindow.cpp:424
-#, fuzzy
+msgstr "Apertura di cartelle non riuscita:"
+
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
-msgstr "Nero: Questo elemento non esiste in questa directory."
-
-#: directorymergewindow.cpp:427
-#, fuzzy
+msgstr ""
+"Dir A \"%1\" non esiste o non è una cartella.\n"
+
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
-msgstr "Nero: Questo elemento non esiste in questa directory."
-
-#: directorymergewindow.cpp:430
-#, fuzzy
+msgstr ""
+"Dir B \"%1\" non esiste o non è una cartella.\n"
+
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
-msgstr "Nero: Questo elemento non esiste in questa directory."
-
-#: directorymergewindow.cpp:432
-#, fuzzy
+msgstr ""
+"Dir C \"%1\" non esiste o non è una cartella.\n"
+
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
-msgstr "Fusione di directory "
-
-#: directorymergewindow.cpp:440
+msgstr "Errore nell'aprire la cartella"
+
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-
-#: directorymergewindow.cpp:442
+"Quando si fondono tre cartelle, la cartella di destinazione non può essere "
+"uguale ad A o B.\n"
+"Controlla meglio prima di continuare."
+
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
-msgstr ""
-
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "directories"
-
-#: directorymergewindow.cpp:496
+msgstr "Attenzione ai parametri"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Esame directory in corso..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
-msgstr ""
-
-#: directorymergewindow.cpp:518
+msgstr "Lettura della cartella A in corso"
+
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
-msgstr ""
-
-#: directorymergewindow.cpp:540
+msgstr "Lettura della cartella B in corso"
+
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
-msgstr ""
-
-#: directorymergewindow.cpp:566
+msgstr "Lettura della cartella C in corso"
+
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
-msgstr ""
-
-#: directorymergewindow.cpp:571
+msgstr "Alcune sotto-cartelle non erano leggibili"
+
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
-msgstr ""
-
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+msgstr "Controlla i permessi per le sotto-cartelle."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
-msgstr ""
-
-#: directorymergewindow.cpp:619
-#, fuzzy
+msgstr "Pronto."
+
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
-msgstr "Comparazione e fusione di directory con KDiff3"
-
-#: directorymergewindow.cpp:620
-#, fuzzy
+msgstr "Situazione del confronto di cartelle"
+
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
-msgstr "Compara/Fondi due directory:"
-
-#: directorymergewindow.cpp:621
+msgstr "Numero di sotto-cartelle:"
+
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
-msgstr ""
-
-#: directorymergewindow.cpp:622
+msgstr "Numero di file uguali:"
+
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
-msgstr ""
-
-#: directorymergewindow.cpp:625
+msgstr "Numero di file differenti:"
+
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
-msgstr ""
-
-#: directorymergewindow.cpp:761
+msgstr "Numero di fusioni manuali:"
+
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
-msgstr ""
-
-#: directorymergewindow.cpp:762
+msgstr "Questo riguarda tutte le operazioni di fusione."
+
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
-msgstr ""
-
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+msgstr "Modifica di tutte le operazioni di fusione"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
-msgstr ""
-
-#: directorymergewindow.cpp:1057
+msgstr "C&ontinua"
+
+#: directorymergewindow.cpp:1169
 msgid "Processing "
-msgstr ""
-
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+msgstr "Sto elaborando"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
-msgstr ""
-
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+msgstr "Da fare."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
-msgstr ""
-
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+msgstr "Copia A su B"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
-msgstr ""
-
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+msgstr "Copia B su A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
-msgstr ""
-
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+msgstr "Elimina A"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
-msgstr ""
-
-#: directorymergewindow.cpp:1476
+msgstr "Elimina B"
+
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
-msgstr ""
-
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+msgstr "Elimina A e B"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
-msgstr ""
-
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+msgstr "Fondi con A"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
-msgstr ""
-
-#: directorymergewindow.cpp:1479
+msgstr "Fondi con B"
+
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
-msgstr ""
-
-#: directorymergewindow.cpp:1483
+msgstr "Fondi A e B"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
-msgstr ""
-
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
-#, fuzzy
+msgstr "Elimina (se esiste)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
-msgstr "merge"
-
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+msgstr "Fondi"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
-msgstr ""
-
-#: directorymergewindow.cpp:1486
+msgstr "Unisci(manualmente)"
+
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
-msgstr ""
-
-#: directorymergewindow.cpp:1487
+msgstr "Errore: Tipi di file incompatibili"
+
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
-msgstr ""
-
-#: directorymergewindow.cpp:1511
+msgstr "Errore: le date coincidono ma i file sono diversi."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
-msgstr ""
-
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+msgstr "Questa operazione per ora non è implementata."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
-msgstr ""
-
-#: directorymergewindow.cpp:1554
+msgstr "Operazione non effettuabile"
+
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -331,42 +341,48 @@
 "\n"
 "If you know how to reproduce this, please contact the program author."
 msgstr ""
-
-#: directorymergewindow.cpp:1554
+"Questo non dovrebbe mai succedere:\n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"Se sai come riprodurlo, per favore comunicalo all'autore del programma."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
-msgstr ""
-
-#: directorymergewindow.cpp:1565
+msgstr "Errore nel programma"
+
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
-
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+"Si è verificato un errore durante la copia.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
-msgstr ""
-
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+msgstr "Errore nella fusione"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
-msgstr ""
-
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+msgstr "Errore."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
-msgstr ""
-
-#: directorymergewindow.cpp:1599
+msgstr "Fatto."
+
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
-msgstr ""
-
-#: directorymergewindow.cpp:1634
+msgstr "Non salvato."
+
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
-msgstr ""
-
-#: directorymergewindow.cpp:1666
+msgstr "Operazione di fusione sconosciuta. (Non deve mai succedere!) "
+
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
-msgstr ""
-
-#: directorymergewindow.cpp:1681
+msgstr "Operazione di fusione sconosciuta."
+
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -377,1344 +393,1742 @@
 "Be aware that this program still has beta status and there is NO WARRANTY "
 "whatsoever! Make backups of your vital data!"
 msgstr ""
-
-#: directorymergewindow.cpp:1686
-#, fuzzy
+"La fusione sta per iniziare.\n"
+"\n"
+"Scegli \"Procedi\" se hai letto le istruzioni e sai cosa stai facendo.\n"
+"\n"
+"Scegli \"Simulazione\" per vedere cosa succederebbe.\n"
+"\n"
+"Stai attento che questo programma è ancora una \"beta\" e non c'è NESSUNA "
+"GARANZIA che funzioni! Fai una copia di riserva dei dati importanti!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
-msgstr "Avviare una fusione"
-
-#: directorymergewindow.cpp:1686
+msgstr "Inizio della fusione"
+
+#: directorymergewindow.cpp:2016
 msgid "Do It"
-msgstr ""
-
-#: directorymergewindow.cpp:1686
+msgstr "Procedi"
+
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
-msgstr ""
-
-#: directorymergewindow.cpp:1712
+msgstr "Simulazione"
+
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-
-#: directorymergewindow.cpp:1778
+"Gli elementi evidenziati sono di tipo diverso nelle diverse cartelle. Scegli "
+"cosa fare."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-
-#: directorymergewindow.cpp:1838
+"Le date di modifica dei file sono uguali ma i file sono diversi. Scegli cosa "
+"fare."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Non si può effettuare questa operazione poiché è in corso la fusione di due "
+"directory."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
-
-#: directorymergewindow.cpp:1840
+"Si è verificato un errore nell'ultimo passaggio.\n"
+"Vuoi continuare con l'elemento che ha provocato l'errore o vuoi saltarlo?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
-msgstr ""
-
-#: directorymergewindow.cpp:1840
+msgstr "Continua fusione dopo errore"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
-msgstr ""
-
-#: directorymergewindow.cpp:1840
+msgstr "Continua con il prossimo elemento"
+
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
-msgstr ""
-
-#: directorymergewindow.cpp:1874
+msgstr "Salta l'elemento"
+
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
-msgstr ""
-
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+msgstr "Saltato."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
-msgstr ""
-
-#: directorymergewindow.cpp:1929
+msgstr "In esecuzione..."
+
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
-msgstr ""
-
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+msgstr "Operazione di fusione completata."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
-msgstr ""
-
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
-msgstr ""
-
-#: directorymergewindow.cpp:1977
+msgstr "Fusione completata"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr "Terminata fusione simulata: Ti soddisfano le operazioni proposte?"
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
-
-#: directorymergewindow.cpp:2020
+"Si è verificato un errore. Premi OK per informazioni dettagliate.\n"
+
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
-msgstr ""
-
-#: directorymergewindow.cpp:2027
-#, fuzzy
+msgstr "Errore: nell'eliminare %1: non ho potuto creare un backup."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
-msgstr "Seleziona se ricercare le directory ricorsivamente."
-
-#: directorymergewindow.cpp:2029
+msgstr "eliminare directory ricorsivamente ( %1 )"
+
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
-msgstr ""
-
-#: directorymergewindow.cpp:2044
+msgstr "Elimina ( %1 )"
+
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-
-#: directorymergewindow.cpp:2063
+"Errore: non potendo leggere la directory la sua eliminazione non è riuscita."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Errore: no è riuscita l'operazione rmdir( %1 )."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Errore: operazione di eliminazione non riuscita."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "fusione manuale ( %1, %2,%3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-
-#: directorymergewindow.cpp:2073
-msgid "Error: delete operation failed."
-msgstr ""
-
-#: directorymergewindow.cpp:2099
-msgid "manual merge( %1, %2, %3 -> %4)"
-msgstr ""
-
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr ""
-
-#: directorymergewindow.cpp:2125
+"     Nota: Dopo una fusione manuale l'utente deve dare F7 per continuare."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-
-#: directorymergewindow.cpp:2135
+"Errore: copia da %1 a %2 non riuscita. Non ho potuto eliminare la destinazione "
+"(esistente)."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
-msgstr ""
-
-#: directorymergewindow.cpp:2146
+msgstr "copyLink( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-
-#: directorymergewindow.cpp:2152
+"Errore: copyLink impossibile: i link remoti non sono ancora supportati."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
-msgstr ""
-
-#: directorymergewindow.cpp:2172
+msgstr "Errore: copyLink non riuscito."
+
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
-msgstr ""
-
-#: directorymergewindow.cpp:2198
+msgstr "copia( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-
-#: directorymergewindow.cpp:2204
+"Errore nel cambio nome ( %1 -> %2): Impossibile eliminare la destinazione già "
+"esistente."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
+msgstr "cambio nome( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Errore: cambio nome non riuscito."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr "Errore eseguendo makeDir di %1. Impossibile eliminare file esistente."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "makeDir( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Errore nel creare una directory."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "Dest"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Dir"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Tipo"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Dimensione"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "Attr"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Ultima modifica"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "Collegamento di destinazione"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "non disponibile"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (Dest): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (Base): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (Dest): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (Dest): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "Dest: "
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Fusione di directory"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "Avvia/continua fusione directory"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "Esegui operazione per questa voce"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "Confronta file selezionati"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Fondi il file attuale"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "Chiudi tutte le sottodirectory"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "Apri tutte le sottodirectory"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Fusione di directory"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Fusione di directory"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "Scegli A in tutti i casi"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "Scegli B in tutti i casi"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "Scegli C in tutti i casi"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "Scelta automatica in tutti i casi"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "Non fare nulla in tutti i casi"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Sincronizza le directory"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copia il più recente invece di fondere (non sicuro)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
 msgstr ""
 
-#: directorymergewindow.cpp:2213
-msgid "Error: Rename failed."
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Numero di file differenti:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
 msgstr ""
 
-#: directorymergewindow.cpp:2231
-msgid "Error during makeDir of %1. Cannot delete existing file."
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
 msgstr ""
 
-#: directorymergewindow.cpp:2247
-msgid "makeDir( %1 )"
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
 msgstr ""
 
-#: directorymergewindow.cpp:2257
-msgid "Error while creating directory."
-msgstr ""
-
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
-msgid "Dest"
-msgstr ""
-
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
-msgid "Dir"
-msgstr ""
-
-#: directorymergewindow.cpp:2285
-msgid "Type"
-msgstr ""
-
-#: directorymergewindow.cpp:2286
-msgid "Size"
-msgstr ""
-
-#: directorymergewindow.cpp:2287
-msgid "Attr"
-msgstr ""
-
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2877
 #, fuzzy
-msgid "Last Modification"
-msgstr "Basati sulla data di modifica:"
-
-#: directorymergewindow.cpp:2289
-msgid "Link-Destination"
-msgstr ""
-
-#: directorymergewindow.cpp:2330
-msgid "not available"
-msgstr ""
-
-#: directorymergewindow.cpp:2350
-msgid "A (Dest): "
-msgstr ""
-
-#: directorymergewindow.cpp:2353
-msgid "A (Base): "
-msgstr ""
-
-#: directorymergewindow.cpp:2359
-msgid "B (Dest): "
-msgstr ""
-
-#: directorymergewindow.cpp:2367
-msgid "C (Dest): "
-msgstr ""
-
-#: directorymergewindow.cpp:2373
-msgid "Dest: "
-msgstr ""
-
-#: directorymergewindow.cpp:2398
+msgid "Compare Explicitly Selected Files"
+msgstr "Confronta file selezionati"
+
+#: directorymergewindow.cpp:2878
 #, fuzzy
-msgid "Start/Continue Directory Merge"
-msgstr "Avviare la comparazione o la fusione di directory"
-
-#: directorymergewindow.cpp:2399
-msgid "Run Operation for Current Item"
-msgstr ""
-
-#: directorymergewindow.cpp:2400
-msgid "Compare Selected File"
-msgstr ""
-
-#: directorymergewindow.cpp:2401
-msgid "Merge Current File"
-msgstr ""
-
-#: directorymergewindow.cpp:2402
-msgid "Fold All Subdirs"
-msgstr ""
-
-#: directorymergewindow.cpp:2403
-msgid "Unfold All Subdirs"
-msgstr ""
-
-#: directorymergewindow.cpp:2405
-msgid "Choose A for All Items"
-msgstr ""
-
-#: directorymergewindow.cpp:2406
-msgid "Choose B for All Items"
-msgstr ""
-
-#: directorymergewindow.cpp:2407
-msgid "Choose C for All Items"
-msgstr ""
-
-#: directorymergewindow.cpp:2408
-msgid "Auto-Choose Operation for All Items"
-msgstr ""
-
-#: directorymergewindow.cpp:2409
-#, fuzzy
-msgid "No Operation for All Items"
-msgstr "La colonna dell'operazione"
-
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+msgid "Merge Explicitly Selected Files"
+msgstr "Confronta file selezionati"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
-msgstr ""
-
-#: directorymergewindow.cpp:2412
+msgstr "Non fare nulla"
+
+#: directorymergewindow.cpp:2881
 msgid "A"
-msgstr ""
-
-#: directorymergewindow.cpp:2413
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
 msgid "B"
-msgstr ""
-
-#: directorymergewindow.cpp:2414
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
 msgid "C"
-msgstr ""
-
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr ""
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr ""
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr ""
-
-#: fileaccess.cpp:540
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Elimina A e B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Fondi A e B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-
-#: fileaccess.cpp:547
+"Nel creare un nuovo backup, non è riuscita l'eliminazione di uno precedente.\n"
+"Nome del file: "
+
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
 msgstr ""
-
-#: fileaccess.cpp:569
+"Nel creare un backup, non è riuscito un cambio di nome.\n"
+"Nome del file: "
+
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
-msgstr ""
-
-#: fileaccess.cpp:612
-#, fuzzy, c-format
+msgstr "Cerco informazioni su stato file: %1"
+
+#: fileaccess.cpp:635
+#, c-format
 msgid "Reading file: %1"
-msgstr "Fondi 2 file:"
-
-#: fileaccess.cpp:648
-#, fuzzy, c-format
+msgstr "Lettura file: %1"
+
+#: fileaccess.cpp:671
+#, c-format
 msgid "Writing file: %1"
-msgstr "Fondi 2 file:"
-
-#: fileaccess.cpp:676
+msgstr "Scrittura file: %1"
+
+#: fileaccess.cpp:699
 msgid "Out of memory"
-msgstr ""
-
-#: fileaccess.cpp:711
+msgstr "Memoria esaurita"
+
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
-msgstr ""
-
-#: fileaccess.cpp:731
+msgstr "Creazione directory: %1"
+
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
-msgstr ""
-
-#: fileaccess.cpp:746
-#, fuzzy, c-format
+msgstr "Rimozione directory: %1"
+
+#: fileaccess.cpp:769
+#, c-format
 msgid "Removing file: %1"
-msgstr "Fondi 2 file:"
-
-#: fileaccess.cpp:762
+msgstr "Rimozione file: %1"
+
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
-msgstr ""
-
-#: fileaccess.cpp:788
+msgstr "Creazione link simbolico: %1 -> %2"
+
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
-msgstr ""
-
-#: fileaccess.cpp:824
-#, fuzzy
+msgstr "Cambiamento nome file: %1 -> %2"
+
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
-msgstr "Compara 3 file:"
-
-#: fileaccess.cpp:838
+msgstr "Copia del file: %1 -> %2"
+
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-
-#: fileaccess.cpp:844
+"Errore nel copiare un file: Non riuscita l'apertura del file %1 in lettura."
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-
-#: fileaccess.cpp:859
+"Errore nel copiare un file: Non riuscita l'apertura del file %1 in scrittura."
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
-msgstr ""
-
-#: fileaccess.cpp:868
+msgstr "Errore nel copiare un file: Lettura non riuscita. Nome del file %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
-msgstr ""
-
-#: fileaccess.cpp:1171
+msgstr "Errore nel copiare un file: Scrittura non riuscita. Nome del file %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
-msgstr ""
-
-#: fileaccess.cpp:1297
+msgstr "Lettura directory:"
+
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
-msgstr ""
-
-#: kdiff3.cpp:135
+msgstr "Elencazione directory: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Operazione di sincronizzazione su questo file/dir."
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Errore nell'aprire file"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
-msgstr ""
-
-#: kdiff3.cpp:241
+msgstr "Opzione --auto inserita, manca indicazione del file di output."
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
-msgstr ""
-
-#: kdiff3.cpp:277
-#, fuzzy
+msgstr "Opzione --auto ignorata nel confronto di directory."
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
-msgstr "Salvataggio"
-
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+msgstr "Salvataggio non riuscito."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
-msgstr ""
-
-#: kdiff3.cpp:310
+msgstr "Non è riuscita l'apertura di questi file:"
+
+#: kdiff3.cpp:390
 msgid "File Open Error"
-msgstr ""
-
-#: kdiff3.cpp:329
+msgstr "Errore nell'aprire file"
+
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
-msgstr ""
-
-#: kdiff3.cpp:331
+msgstr "Apre documenti per confronto..."
+
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-
-#: kdiff3.cpp:333
+"Salva il risultato della fusione. Tutti i conflitti devono essere stati "
+"risolti!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
+msgstr "Salva questo documento con nome..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
 msgstr ""
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:424
 msgid "Quits the application"
+msgstr "Esce dall'applicazione"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Taglia la sezione selezionata e la mette negli appunti"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Copia la sezione selezionata negli appunti"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Incolla il contenuto degli appunti in questa posizione"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
 msgstr ""
 
-#: kdiff3.cpp:337
-msgid "Cuts the selected section and puts it to the clipboard"
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Cerca una stringa"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Cerca di nuovo la stringa"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Mostra/nascondi la barra degli strumenti"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Mostra/nascondi la barra di stato"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Configura KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "Vai alla differenza attuale"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "Vai alla prima differenza"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Vai all'ultima differenza"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
 msgstr ""
-
-#: kdiff3.cpp:339
-msgid "Copies the selected section to the clipboard"
+"(Ignora le differenze di soli spazi bianchi quando \"Mostra spazi bianchi\" è "
+"disattivato)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
 msgstr ""
-
-#: kdiff3.cpp:341
-msgid "Pastes the clipboard contents to actual position"
-msgstr ""
-
-#: kdiff3.cpp:343
-msgid "Search for a string"
-msgstr ""
-
-#: kdiff3.cpp:345
-msgid "Search again for the string"
-msgstr ""
-
-#: kdiff3.cpp:347
-msgid "Enables/disables the toolbar"
-msgstr ""
-
-#: kdiff3.cpp:349
-msgid "Enables/disables the statusbar"
-msgstr ""
-
-#: kdiff3.cpp:353
-msgid "Configure KDiff3..."
-msgstr ""
-
-#: kdiff3.cpp:374
-msgid "Go to Current Delta"
-msgstr ""
-
-#: kdiff3.cpp:375
-msgid "Go to First Delta"
-msgstr ""
-
-#: kdiff3.cpp:376
-msgid "Go to Last Delta"
-msgstr ""
-
-#: kdiff3.cpp:377
+"(Segnala le differenze di soli spazi bianchi anche quando \"Mostra spazi "
+"bianchi\" è disattivato)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
-msgstr ""
-
-#: kdiff3.cpp:378
+msgstr "Vai alla differenza precedente"
+
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
-msgstr ""
-
-#: kdiff3.cpp:379
+msgstr "Vai alla differenza successiva"
+
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
-msgstr ""
-
-#: kdiff3.cpp:380
+msgstr "Vai al conflitto precedente"
+
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
-msgstr ""
-
-#: kdiff3.cpp:381
+msgstr "Vai al conflitto successivo"
+
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
-msgstr ""
-
-#: kdiff3.cpp:382
+msgstr "Vai al precedente conflitto non risolto."
+
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
-msgstr ""
-
-#: kdiff3.cpp:383
+msgstr "Vai al successivo conflitto non risolto."
+
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
-msgstr ""
-
-#: kdiff3.cpp:384
+msgstr "Scegli righe da A"
+
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
-msgstr ""
-
-#: kdiff3.cpp:385
+msgstr "Scegli righe da B"
+
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
-msgstr ""
-
-#: kdiff3.cpp:386
+msgstr "Scegli righe da C"
+
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-
-#: kdiff3.cpp:388
+"Vai automaticamente al prossimo conflitto non risolto dopo aver selezionato la "
+"fonte"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "Mostra anche le differenze date da spazi e tabulazioni"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Mostra spazi bianchi"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Mostra numeri riga"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "Scegli sempre A"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "Scegli sempre B"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "Scegli sempre C"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Scegli A per tutti i conflitti non risolti"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Scegli B per tutti i conflitti non risolti"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Scegli C per tutti i conflitti non risolti"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Scegli A per risolvere tutti i conflitti di \"spazi bianchi\""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Scegli B per risolvere tutti i conflitti di \"spazi bianchi\""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Scegli C per risolvere tutti i conflitti di \"spazi bianchi\""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Risolvi automaticamente i conflitti semplici"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "Considera le differenze come conflitti"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
 #, fuzzy
-msgid "Show Space && Tabulator Characters for Differences"
-msgstr "Mostra anche le differenze date da spazi e tabulatori:"
-
-#: kdiff3.cpp:389
+msgid "Automatically Solve History Conflicts"
+msgstr "Risolvi automaticamente i conflitti semplici"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Mostra finestra A"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Mostra finestra B"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Mostra finestra C"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "Attiva finestra succ."
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Vista globale normale"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Confronto di A con B"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Confronto di A con C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Confronto di B con C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "A capo nelle finestre delle differenze"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "Attiva finestra prec."
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "Inverti orientamento divisione"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "Separa visione di testi e directory"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "Commuta tra visualizzazione di testi e di directory"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "Il risultato della fusione non è stato salvato."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Salva e esci"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Esci senza salvare"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "Non è riuscito il salvataggio della fusione."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "È in corso la fusione di directory. Sei sicuro di voler interrompere?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Salvataggio file..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Salvataggio file con nuovo nome..."
+
+#: kdiff3.cpp:721
 #, fuzzy
-msgid "Show White Space"
-msgstr "Mostra spazio bianco:"
-
-#: kdiff3.cpp:391
+msgid "Printing..."
+msgstr "Uscita..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
 #, fuzzy
-msgid "Show Line Numbers"
-msgstr "Mostra i numeri di riga:"
-
-#: kdiff3.cpp:392
-msgid "Choose A Everywhere"
-msgstr ""
-
-#: kdiff3.cpp:393
-msgid "Choose B Everywhere"
-msgstr ""
-
-#: kdiff3.cpp:394
-msgid "Choose C Everywhere"
-msgstr ""
-
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:401
-msgid "Automatically Solve Simple Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:402
-msgid "Set Deltas to Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:404
-#, fuzzy
-msgid "Show Window A"
-msgstr "Mostra finestra A/B/C:"
-
-#: kdiff3.cpp:405
-#, fuzzy
-msgid "Show Window B"
-msgstr "Mostra finestra A/B/C:"
-
-#: kdiff3.cpp:406
-#, fuzzy
-msgid "Show Window C"
-msgstr "Mostra finestra A/B/C:"
-
-#: kdiff3.cpp:407 kdiff3.cpp:416
-msgid "Focus Next Window"
-msgstr ""
-
-#: kdiff3.cpp:409
-#, fuzzy
-msgid "Normal Overview"
-msgstr "File normale"
-
-#: kdiff3.cpp:410
-msgid "A vs. B Overview"
-msgstr ""
-
-#: kdiff3.cpp:411
-msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
-msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
-msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
-msgid "Focus Prev Window"
-msgstr ""
-
-#: kdiff3.cpp:419
-#, fuzzy
-msgid "Toggle Split Orientation"
-msgstr "Inverti orientamento divisione:"
-
-#: kdiff3.cpp:421
-msgid "Dir && Text Split Screen View"
-msgstr ""
-
-#: kdiff3.cpp:423
-msgid "Toggle Between Dir && Text View"
-msgstr ""
-
-#: kdiff3.cpp:504 pdiff.cpp:1754
-msgid "The merge result hasn't been saved."
-msgstr ""
-
-#: kdiff3.cpp:505
-msgid "Save && Quit"
-msgstr ""
-
-#: kdiff3.cpp:505
-msgid "Quit Without Saving"
-msgstr ""
-
-#: kdiff3.cpp:513 pdiff.cpp:1763
-msgid "Saving the merge result failed."
-msgstr ""
-
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
-msgstr ""
-
-#: kdiff3.cpp:547
-#, fuzzy
-msgid "Saving file..."
-msgstr "Salvataggio"
-
-#: kdiff3.cpp:563
-msgid "Saving file with a new filename..."
-msgstr ""
-
-#: kdiff3.cpp:587
+msgid "Printing completed."
+msgstr "Operazione di fusione completata."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
-msgstr ""
-
-#: kdiff3.cpp:599
+msgstr "Uscita..."
+
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
-msgstr ""
-
-#: kdiff3.cpp:619
+msgstr "(dis)attiva barra degli strumenti..."
+
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
-msgstr ""
-
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr ""
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr ""
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr ""
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr ""
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr ""
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr ""
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr ""
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+msgstr "(dis)attiva la barra di stato..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
-msgstr ""
-
-#: kdiff3_part.cpp:266
+msgstr "Non trovo i file da confrontare."
+
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
-msgstr ""
-
-#: kdiff3_shell.cpp:63
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr ""
+"Non si trova una componente!\n"
+"Questo di solito accade per problemi di installazione. Per maggiori dettagli "
+"dovresti leggere il file README nel pacchetto dei sorgenti."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Strumento per confrontare e fondere più file o directory"
+
+#: main.cpp:40
 msgid "Merge the input."
-msgstr ""
-
-#: main.cpp:37
+msgstr "Fondi l'input."
+
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
-msgstr ""
-
-#: main.cpp:39
+msgstr "File di base esplicito. Per compatibilità con certi programmi."
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
-msgstr ""
-
-#: main.cpp:40
+msgstr "File di output. Implica -m. Ad es.: -o nuovo_file.txt"
+
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr ""
-
-#: main.cpp:41
+msgstr "File di output, ancora. (Per compatibilità con certi programmi)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-
-#: main.cpp:42
+"Senza GUI se ogni conflitto è risolubile in automatico. (Serve -o file)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
-msgstr ""
-
-#: main.cpp:43
+msgstr "Non risolvere i conflitti automaticamente. (Per compatibilità...)"
+
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
-msgstr ""
-
-#: main.cpp:44
+msgstr "Mostra sostituzione nome per il file di input 1 (base)."
+
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
-msgstr ""
-
-#: main.cpp:45
+msgstr "Mostra sostituzione nome per il file di input 2."
+
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
-msgstr ""
-
-#: main.cpp:47
+msgstr "Mostra sostituzione nome per il file di input 3."
+
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
+"Sostituzione del nome visibile alternativo. Da specificare per ogni input."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
 msgstr ""
 
-#: main.cpp:50
-msgid "For compatibility with certain tools."
+#: main.cpp:54
+msgid "Show list of config settings and current values."
 msgstr ""
 
-#: main.cpp:52
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Numero di file differenti:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
+msgstr "file1 da aprire (base, se non cambiato con --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "file2 da aprire "
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "file3 da aprire "
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
 msgstr ""
 
-#: main.cpp:53
-msgid "file2 to open"
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr "+ Mille grazie a coloro che hanno segnalato errori o fornito idee!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
 msgstr ""
-
-#: main.cpp:54
-msgid "file3 to open"
-msgstr ""
-
-#: main.cpp:108 rc.cpp:3
-#, fuzzy
-msgid "KDiff3"
-msgstr "kdiff3"
-
-#: main.cpp:120
-msgid "+ Many thanks to those who reported bugs and contributed ideas!"
-msgstr ""
-
-#: mergeresultwindow.cpp:254
+"Numero di conflitti non ancora risolti: %1 (di cui %2 relativi a spazi bianchi)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 msgstr ""
-
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+"L'ouput è stato modificato.\n"
+"Se continui le modifiche andranno perse."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
-msgstr ""
-
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+msgstr "Tutti i file in input sono uguali a livello binario."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
-msgstr ""
-
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+msgstr "Tutti i file in input contengono lo stesso testo."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
-
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+"I file A e B sono uguali a livello binario.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
-
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+"I file A e B contengono lo stesso testo.\n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
-
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+"I file A e C sono uguali a livello binario.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
-
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+"I file A e C contengono lo stesso testo.\n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
-
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+"I file B e C sono uguali a livello binario.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
-
-#: mergeresultwindow.cpp:738
+"I file B e C contengono lo stesso testo.\n"
+
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
-msgstr ""
-
-#: mergeresultwindow.cpp:739
+msgstr "Numero totale di conflitti: "
+
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
-
-#: mergeresultwindow.cpp:740
+"\n"
+"N. di conflitti risolti automaticamente: "
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
 msgstr ""
-
-#: mergeresultwindow.cpp:742
-#, fuzzy
+"\n"
+"N. di conflitti non risolti: "
+
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
-msgstr "Colore per i conflitti:"
-
-#: mergeresultwindow.cpp:1081
+msgstr "Conflitti"
+
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
-msgstr ""
-
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+msgstr "<riga origine mancante>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Conflitto nel fondere (relativo solo a spazi bianchi)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
-msgstr ""
-
-#: mergeresultwindow.cpp:1155
+msgstr "<Conflitto nel fondere>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
-msgstr ""
-
-#: mergeresultwindow.cpp:1157
+msgstr "Output"
+
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
-msgstr ""
-
-#: mergeresultwindow.cpp:2067
-#, fuzzy
+msgstr "[Modificato]"
+
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
 msgstr ""
-"Perché tutti i conflitti devono essere risolti prima salvare il risultato "
-"della fusione?"
-
-#: mergeresultwindow.cpp:2069
-#, fuzzy
+"Permangono dei conflitti non risolti.\n"
+"Il file non verrà salvato.\n"
+
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
-msgstr "Colore per i conflitti:"
-
-#: mergeresultwindow.cpp:2081
+msgstr "Conflitti restanti"
+
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"\n"
+"\n"
+"Impossibile fare un backup. File non salvato."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
-msgstr ""
-
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr ""
-
-#: mergeresultwindow.cpp:2142
+msgstr "Errore nel salvare il file"
+
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
-msgstr ""
-
-#: optiondialog.cpp:330
+msgstr "Errore di scrittura"
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Cambialo se i caratteri non-ascii non vengono mostrati correttamente."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
-msgstr ""
-
-#: optiondialog.cpp:342
-#, fuzzy
+msgstr "Font per l'editor e per l'output di diff"
+
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
-msgstr "Corsivo per le differenze:"
-
-#: optiondialog.cpp:345
-#, fuzzy
+msgstr "Metti in corsivo le differenze"
+
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
-"Selezionando questo, le differenze di testo saranno rappresentate con il "
-"tipo di carattere scelto ma in stile corsivo. Se il tipo di carattere non "
-"supporta il corsivo l'opzione non avrà effetto."
-
-#: optiondialog.cpp:353
+"Imposta per le differenze la versione corsiva del font in uso.\n"
+"Se il font non supporta il corsivo, l'opzione non avrà alcun effetto."
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Colore"
+
+#: optiondialog.cpp:536
 #, fuzzy
-msgid "Color"
-msgstr "Colori"
-
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
+msgid "Colors Settings"
+msgstr "Impostazioni locali"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
 msgstr ""
 
-#: optiondialog.cpp:367
+#: optiondialog.cpp:558
 msgid "Foreground color:"
-msgstr "Colore primo piano:"
-
-#: optiondialog.cpp:373
+msgstr "Colore del testo:"
+
+#: optiondialog.cpp:564
 msgid "Background color:"
-msgstr "Colore di fondo:"
-
-#: optiondialog.cpp:380
+msgstr "Colore dello sfondo:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "Colore dello sfondo per le differenze:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "Colore per A:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "Colore per B:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "Colore per C:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "Colore per conflitti:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "Colore di sfondo per questo intervallo:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "Colore differenze per questo intervallo:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
 #, fuzzy
-msgid "Diff background color:"
-msgstr "Colore di fondo per le differenze:"
-
-#: optiondialog.cpp:387
-msgid "Color A:"
-msgstr "Colore A:"
-
-#: optiondialog.cpp:394
-msgid "Color B:"
-msgstr "Colore B:"
-
-#: optiondialog.cpp:401
-msgid "Color C:"
-msgstr "Colore C:"
-
-#: optiondialog.cpp:407
-#, fuzzy
-msgid "Conflict color:"
-msgstr "Colore per i conflitti:"
-
-#: optiondialog.cpp:414
-msgid "Current range background color:"
-msgstr "Colore di sfondo per questo intervallo corrente:"
-
-#: optiondialog.cpp:421
-msgid "Current range diff background color:"
-msgstr "Colore di sfondo per questo intervallo:"
-
-#: optiondialog.cpp:432
-#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Situazione del confronto di cartelle"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
-msgstr "editor"
-
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
-msgstr ""
-
-#: optiondialog.cpp:441
-#, fuzzy
+msgstr "Editor"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "Comportamento dell'editor"
+
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
-msgstr "I Tab inseriscono spazi:"
-
-#: optiondialog.cpp:444
+msgstr "I Tab inseriscono spazi"
+
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
-
-#: optiondialog.cpp:450
+"Attivo: premere Tab è come inserire un opportuno numero di spazi.\n"
+"Non attivo: viene inserito un carattere Tab."
+
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Dimensione di Tab:"
 
-#: optiondialog.cpp:455
-#, fuzzy
+#: optiondialog.cpp:688
 msgid "Auto indentation"
-msgstr "Rientro automatico:"
-
-#: optiondialog.cpp:458
-#, fuzzy
+msgstr "Rientro automatico"
+
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"Quando premi Invio o Return verrà utilizzata, per la nuova riga, "
-"l'indentazione della linea precedente."
-
-#: optiondialog.cpp:462
-#, fuzzy
+"Attivo: la nuova riga avrà lo stesso rientro della riga precedente.\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
-msgstr "Copia automaticamente la selezione:"
-
-#: optiondialog.cpp:465
-#, fuzzy
+msgstr "Copia automaticamente la selezione"
+
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Ogni selezione è immediatamente copiata negli appunti quando attiva e non "
-"sarà necessario esplicitare la copia."
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+"Attivo: Ogni selezione è immediatamente copiata negli appunti.\n"
+"Non attivo: Devi esplicitamente copiarla, ad es. con Ctrl-C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Tipo di fine riga:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-
-#: optiondialog.cpp:482
-msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
-msgstr ""
-
-#: optiondialog.cpp:487
+"Imposta il \"fine riga\" da usare nel salvare un file modificato:\n"
+"DOS/Windows: CR+LF; Unix: LF; dove CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
 #, fuzzy
-msgid "Use locale encoding"
-msgstr "Usa la codifica locale:"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-
-#: optiondialog.cpp:500
+msgid "Diff and Merge"
+msgstr "Differenza e fusione"
+
+#: optiondialog.cpp:726
 #, fuzzy
-msgid "Diff & Merge"
-msgstr "Avviare una fusione"
-
-#: optiondialog.cpp:500
-#, fuzzy
-msgid "Diff & Merge Settings"
-msgstr "Impostazioni di verifica &amp; fusione"
-
-#: optiondialog.cpp:510
-#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Impostazioni per confronti e fusioni"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
-msgstr "Mantieni il ritorno a capo (CR):"
-
-#: optiondialog.cpp:513
+msgstr "Mostra i \"ritorno carrello\" (CR)"
+
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
-
-#: optiondialog.cpp:518
-#, fuzzy
+"Mostra i caratteri di ritorno carrello \"\\r\"se presenti\n"
+".Aiuta a confrontare file modificati sotto sistemi operativi diversi."
+
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
-msgstr "Ignora i numeri:"
-
-#: optiondialog.cpp:521
+msgstr "Ignora i numeri"
+
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-
-#: optiondialog.cpp:526
-#, fuzzy
-msgid "Ignore C/C++ Comments"
-msgstr "Ignora commenti C/C++:"
-
-#: optiondialog.cpp:528
+"Ignora i caratteri numerici durante il confronto. (Analogo a \"Ignora spazi "
+"bianchi\".)\n"
+"Può essere utile per confrontare file con dati numerici."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Ignora i commenti C/C++"
+
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
-msgstr ""
-
-#: optiondialog.cpp:532
-#, fuzzy
+msgstr "Tratta i commenti C/C++ come spazi bianchi."
+
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "Ignora i numeri:"
-
-#: optiondialog.cpp:535
+msgstr "Ignora maiuscole"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr ""
-
-#: optiondialog.cpp:539
-#, fuzzy
+msgstr "Tratta differenze maiusc/minusc. come spazi bianchi. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
-msgstr "Comandi del preprocessore"
-
-#: optiondialog.cpp:543
+msgstr "Comando per il preprocessore:"
+
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-
-#: optiondialog.cpp:546
-#, fuzzy
+"Preprocessore definito dall'utente. Vedi il manuale per maggiori dettagli."
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Preprocessore per confronto righe:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
-
-#: optiondialog.cpp:553
+"Questo preprocessore viene utilizzato solo\n"
+"per verificare la corrispondenza di righe.\n"
+"Vedi il manuale per maggiori dettagli."
+
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
-msgstr ""
-
-#: optiondialog.cpp:556
+msgstr "Ricerca approfondita (lenta)"
+
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
-
-#: optiondialog.cpp:561
-#, fuzzy
+"Abilita l'opzione --minimal del \"diff\" esterno.\n"
+"L'analisi di grandi file sarà molto più lenta."
+
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
-msgstr "Pausa nell'avanzamento automatico (ms):"
-
-#: optiondialog.cpp:566
-#, fuzzy
+msgstr "Pause nell'avanzamento automatico(ms):"
+
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"Quando l'opzione di auto avanzamento automatico è attiva si specifica "
-"quando lungo mostrare il risultato delle selezione prima di saltare al "
-"prossimo conflitto non risolto."
-
-#: optiondialog.cpp:571
-#, fuzzy
+"Quando si è in modalità avanzamento automatico, il risultato della\n"
+"selezione attuale viene mostrato per questo tempo, prima di passare\n"
+"al prossimo conflitto. Valori ammessi: 0-2000 ms."
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Trattamento predefinito degli spazi bianchi nel fondere 2 file:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Scelta manuale"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+"Consente all'algoritmo di fusione di definire il file da cui prendere le "
+"modifiche per gli spazi bianchi."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "Trattamento predefinito degli spazi bianchi nel fondere 3 file:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
 msgstr ""
 
-#: optiondialog.cpp:584
-#, fuzzy
-msgid "White space 3-file merge default:"
-msgstr "Trattamento predefinito degli spazi bianchi nel fondere 2 file:"
-
-#: optiondialog.cpp:603
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
-msgstr "Fusione di directory "
-
-#: optiondialog.cpp:611
-#, fuzzy
+msgstr "Fusione di directory"
+
+#: optiondialog.cpp:951
 msgid "Recursive directories"
-msgstr "Sottodirectory:"
-
-#: optiondialog.cpp:613
+msgstr "Anche sottodirectory"
+
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
-msgstr ""
-
-#: optiondialog.cpp:615
-#, fuzzy
+msgstr "Per scegliere se analizzare anche le sottodirectory o no."
+
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Tipi di file:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-
-#: optiondialog.cpp:626
-#, fuzzy
+"Categorie di file da analizzare. \n"
+"Caratteri jolly ammessi: \"*\" e \"?\"\n"
+"Puoi specificare più categorie separandole con un \";\""
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
-msgstr "Tipi di file:"
-
-#: optiondialog.cpp:631
+msgstr "File da escludere:"
+
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-
-#: optiondialog.cpp:637
-#, fuzzy
+"Categorie di file da non analizzare. \n"
+"Caratteri jolly ammessi: \"*\" e \"?\"\n"
+"Puoi specificare più categorie separandole con un \";\""
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
-msgstr "File da escludere:"
-
-#: optiondialog.cpp:642
+msgstr "Directory da escludere:"
+
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-
-#: optiondialog.cpp:648
-#, fuzzy
+"Categorie di directory da non analizzare. \n"
+"Caratteri jolly ammessi: \"*\" e \"?\"\n"
+"Puoi specificare più categorie separandole con un \";\""
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
-msgstr "Utilizza CVS-Ignore:"
-
-#: optiondialog.cpp:651
+msgstr "Utilizza .cvsignore"
+
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
-
-#: optiondialog.cpp:656
-#, fuzzy
+"Escludi anche tutto quello che sarebbe ignorato dal CVS.\n"
+"Puoi usare un file \".cvsignore\" diverso per ogni directory."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
-msgstr "Esamina file e directory nascosti:"
-
-#: optiondialog.cpp:659
+msgstr "Esamina file e directory nascosti"
+
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
-msgstr ""
-
-#: optiondialog.cpp:661
-#, fuzzy
+msgstr "Esamina file e directory con l'attributo \"nascosto\"."
+
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
-msgstr "Esamina file e directory nascosti:"
-
-#: optiondialog.cpp:665
-#, fuzzy
+msgstr "Esamina file e directory che iniziano con \".\"."
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
-msgstr "Segui i link dei file:"
-
-#: optiondialog.cpp:668
+msgstr "Segui i link dei file"
+
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-
-#: optiondialog.cpp:673
-#, fuzzy
+"Attivo: Confronta il file a cui punta il link.\n"
+"Non attivo: Confronta i link."
+
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
-msgstr "Segui i link delle directory:"
-
-#: optiondialog.cpp:676
+msgstr "Segui i link delle directory"
+
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-
-#: optiondialog.cpp:681
-#, fuzzy
+"Attivo: Confronta la directory a cui punta il link.\n"
+"Non attivo: Confronta i link."
+
+#: optiondialog.cpp:1021
 msgid "List only deltas"
-msgstr "Elenca solo le differenze:"
-
-#: optiondialog.cpp:684
+msgstr "Elenca solo le differenze"
+
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
+msgstr "Non compariranno nell'elenco i file e le directory non modificati."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
 msgstr ""
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
-msgstr ""
-
-#: optiondialog.cpp:692
+msgstr "Modalità di confronto file"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Confronto binario"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Confronto binario per ogni file. (predefinito)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Analisi completa"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
-#, fuzzy
+"Esegue analisi completa e mostra informazioni statistiche in nuove colonne.\n"
+"(Più lento del confronto binario, lentissimo su file binari.)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
-msgstr "Basati sulla data di modifica:"
-
-#: optiondialog.cpp:699
+msgstr "Basati sulla data di modifica (non sicuro)"
+
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-
-#: optiondialog.cpp:702
-#, fuzzy
+"Assumi che i file sono uguali se hanno la stessa data e dimensione.\n"
+"Utile per confrontare grandi directory o per connessioni lente."
+
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
-msgstr "Basati sulla dimensione:"
-
-#: optiondialog.cpp:703
+msgstr "Basati sulla dimensione (non sicuro)"
+
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
-
-#: optiondialog.cpp:707
-#, fuzzy
+"Assumi che i file sono uguali se hanno la stessa dimensione.\n"
+"Utile per confrontare grandi directory o per connessioni lente,\n"
+"quando la data viene modificata durante il download."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
-msgstr "Sincronizza le directory:"
-
-#: optiondialog.cpp:710
+msgstr "Sincronizza le directory"
+
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
-
-#: optiondialog.cpp:715
-#, fuzzy
+"Permette di memorizzare i file in entrambe le\n"
+"directory, che poi risulteranno uguali.\n"
+"Funziona solo quando si confrontano due directory\n"
+"senza specificare una destinazione."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Se diversi per spazi bianchi sono considerati uguali"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Considera uguali i file diversi solo per spazi bianchi.\n"
+"Funziona solo quando si effettua un'analisi completa."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
-msgstr "Copia il più recente invece di fondere:"
-
-#: optiondialog.cpp:718
+msgstr "Copia il più recente invece di fondere (non sicuro)"
+
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 msgstr ""
-
-#: optiondialog.cpp:723
-#, fuzzy
+"Non guarda i contenuti, prende il più recente.\n"
+"(Utilizza questo metodo solo a ragion veduta!)\n"
+"Ha effetto solo quando si confrontano due directory."
+
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
-msgstr "File di backup:"
-
-#: optiondialog.cpp:726
+msgstr "File di backup (.orig)"
+
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
-
-#: optiondialog.cpp:753
-#, fuzzy
+"Quando decidi di salvare un file sovrascrivendone\n"
+"uno precedente, quello vecchio non verrà cancellato,\n"
+"ma salvato con l'estensione \".orig\"."
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
-msgstr "Impostazioni dell'editor"
-
-#: optiondialog.cpp:762
+msgstr "Impostazioni locali"
+
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
-msgstr ""
-
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+msgstr "Lingua (bisogna riavviare kdiff3)"
+
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-
-#: optiondialog.cpp:825
+"Scegli una lingua dell'interfaccia grafica o \"Auto\".\n"
+"Affinché la lingua venga cambiata, devi uscire e riavviare KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Usa la stessa codifica per tutto:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Permette di cambiare tutte le codifiche cambiando solo la prima.\n"
+"Disattivala se servono impostazioni differenziate."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Nota: La codifica locale è "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Codifica per file A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Codifica per file B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Codifica per file C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Codifica per i file fusione e salvataggio:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Codifica per i file sottoposti al preprocessore:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Lingue scritte da destra a sin."
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Alcune lingue si scrivono da destra a sinistra.\n"
+"Questa opzione cambia editor e visualizzazione per adattarvisi."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operazione"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Impostazioni locali"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1723,2789 +2137,354 @@
 "\n"
 "Do you want to continue or do you want to select another font."
 msgstr ""
-
-#: optiondialog.cpp:829
+"Hai selezionato un font a spaziatura variabile.\n"
+"\n"
+"Poiché questo programma non gestisce correttamente questo\n"
+"tipo di font, potresti avere problemi nel modificare i file.\n"
+"\n"
+"Vuoi continuare o preferisci cambiare font?"
+
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
-msgstr ""
-
-#: optiondialog.cpp:830
+msgstr "Font incompatibile "
+
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
-msgstr ""
-
-#: optiondialog.cpp:830
-#, fuzzy
+msgstr "Continua a tuo rischio"
+
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
-msgstr "Un'altra interfaccia per comparare file?"
-
-#: optiondialog.cpp:858
+msgstr "Scegli un altro font"
+
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr ""
-
-#: pdiff.cpp:257
-#, fuzzy
+"Verranno ripristinate tutte le opzioni.\n"
+"Non solo quelle relative a questo argomento."
+
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
-msgstr "Comandi del preprocessore"
-
-#: pdiff.cpp:262
+msgstr "Cmd-Preprocess.:"
+
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-
-#: pdiff.cpp:263
+"Tra le opzioni selezionate, queste potrebbero modificare dei dati:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr ""
+"\n"
+"Di solito non si desidera che ciò accada durante una fusione.\n"
+"Vuoi disabilitare queste opzioni o continuare mantenendole in funzione?"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr ""
-
-#: pdiff.cpp:266
-#, fuzzy
-msgid "Disable unsafe options"
-msgstr "Mostra informazioni"
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Opzioni non sicure per fusione"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Utilizza queste opzioni durante la fusione"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Disattiva opzioni non sicure"
+
+#: pdiff.cpp:297
 msgid "Loading A"
-msgstr ""
-
-#: pdiff.cpp:297
+msgstr "Sto caricando A"
+
+#: pdiff.cpp:301
 msgid "Loading B"
-msgstr ""
-
-#: pdiff.cpp:306 pdiff.cpp:329
+msgstr "Sto caricando B"
+
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
-msgstr ""
-
-#: pdiff.cpp:312 pdiff.cpp:349
+msgstr "Diff: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
-msgstr ""
-
-#: pdiff.cpp:321
+msgstr "Diff. righe: A <-> B"
+
+#: pdiff.cpp:335
 msgid "Loading C"
-msgstr ""
-
-#: pdiff.cpp:332
+msgstr "Sto caricando C"
+
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
-msgstr ""
-
-#: pdiff.cpp:335
+msgstr "Diff: B <-> C"
+
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
-msgstr ""
-
-#: pdiff.cpp:352
+msgstr "Diff: A <-> C"
+
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
-msgstr ""
-
-#: pdiff.cpp:355
+msgstr "Diff. righe: B <-> C"
+
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
-msgstr ""
-
-#: pdiff.cpp:502
+msgstr "Diff. righe: A <-> C"
+
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
-
-#: pdiff.cpp:929
+"Alcuni file di input non sembrano file di testo puri.\n"
+"Tieni conto che la fusione di KDiff3 non ha senso per file binari.\n"
+"Se vuoi continuare, lo fai a tuo rischio e pericolo."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Interrompi"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Apertura dei file..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Errore nell'apertura del file"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Taglio selezione..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Copia selezione negli appunti..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Inserimento dagli appunti..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Salva e continua"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continua senza salvare"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Ricerca completata."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Ricerca completata."
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Errore nel creare una directory."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configura KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Directory"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Operazione di fusione su questo file/dir."
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Operazione di sincronizzazione su questo file/dir."
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Va"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "VistaD&iff"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "F&usione"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "Fine&stra"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
+msgstr "A (Base):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "File..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Directory..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "C (Opzionale):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
 msgstr ""
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
-msgid "File..."
+#: smalldialogs.cpp:114
+msgid "Swap"
 msgstr ""
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
-msgid "Dir..."
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "Output (Opzionale):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Configura..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Testo da cercare:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Maiuscole/minuscole"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Cerca in A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Cerca in B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Cerca in C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Cerca nell'output"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Cerca"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Copia automaticamente la selezione"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Scelta manuale"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
 #, fuzzy
-msgid "C (Optional):"
-msgstr "Opzioni"
-
-#: pdiff.cpp:981
-msgid "Output (optional):"
+msgid "Match failed."
+msgstr "Salvataggio non riuscito."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
 msgstr ""
 
-#: pdiff.cpp:1010
-msgid "Configure..."
-msgstr ""
-
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr ""
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-#, fuzzy
-msgid "Opening files..."
-msgstr "Fondi 2 file:"
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr ""
-
-#: pdiff.cpp:1298
-#, fuzzy
-msgid "Cutting selection..."
-msgstr "Copia automaticamente la selezione:"
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr ""
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr ""
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr ""
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr ""
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr ""
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr ""
-
-#: rc.cpp:1
-#, fuzzy
-msgid "&KDiff3"
-msgstr "kdiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr ""
-
-#: rc.cpp:5
-#, fuzzy
-msgid "&Directory"
-msgstr "Fusione di directory "
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr ""
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr ""
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr ""
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr ""
-
-#: rc.cpp:10
-#, fuzzy
-msgid "&Merge"
-msgstr "merge"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr ""
-
-#~ msgid "The &kdiff3; Handbook"
-#~ msgstr "Manuale di &kdiff3;"
-
-#~ msgid "<firstname>Joachim</firstname> <surname>Eibl</surname>"
-#~ msgstr "<firstname>Joachim</firstname> <surname>Eibl</surname>"
-
-#~ msgid "joachim.eibl@gmx.de"
-#~ msgstr "joachim.eibl@gmx.de"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr ""
-#~ "<othercredit role=\"translator\"><firstname>Stelvio</"
-#~ "firstname><surname>Rosset</"
-#~ "surname><affiliation><address><email>srosset@satelgroup.net</email></"
-#~ "address></affiliation><contrib>Traduzione della documentazione</contrib></"
-#~ "othercredit> <othercredit role=\"translator\"><firstname>Stelvio</"
-#~ "firstname><surname>Rosset</"
-#~ "surname><affiliation><address><email>srosset@satelgroup.net</email></"
-#~ "address></affiliation><contrib>Correzione della traduzione </contrib></"
-#~ "othercredit> "
-
-#~ msgid "Joachim Eibl"
-#~ msgstr "Joachim Eibl"
-
-#~ msgid "&kdiff3; is a file and directory diff and merge tool which"
-#~ msgstr ""
-#~ "&kdiff3; è uno strumento per verificare differenze ed eseguire fusioni "
-#~ "tra file e directory, il quale"
-
-#~ msgid "compares and merges two or three text input files or directories,"
-#~ msgstr "confronta e fonde due o tre file di testo o directory in ingresso, "
-
-#~ msgid "shows the differences line by line and character by character(!),"
-#~ msgstr ""
-#~ "mostra la loro differenza linea per linea o carattere per carattere(!), "
-
-#~ msgid "provides an automatic merge-facility,"
-#~ msgstr "fornendo semplici automatismi per la fusione,"
-
-#~ msgid "has an editor for comfortable solving of merge-conflicts,"
-#~ msgstr "possiede un editor per la risoluzione dei conflitti di fusione,"
-
-#~ msgid "provides networktransparency via KIO,"
-#~ msgstr "rendendo trasparente la rete con l'uso di KIO,"
-
-#~ msgid "has options to highlight or hide changes in white-space or comments."
-#~ msgstr ""
-#~ "ha opzioni per mostrare o nascondere le variazioni di spazi bianchi o di "
-#~ "commenti."
-
-#~ msgid "This document describes KDiff3-version 0.9.80."
-#~ msgstr "Questo documento descrive la versione 0.9.80 di KDiff3."
-
-#~ msgid "<keyword>KDE</keyword>"
-#~ msgstr "<keyword>KDE</keyword>"
-
-#~ msgid "kdeextragear"
-#~ msgstr "kdeextragear"
-
-#~ msgid "diff"
-#~ msgstr "diff"
-
-#~ msgid "<keyword>CVS</keyword>"
-#~ msgstr "<keyword>CVS</keyword>"
-
-#~ msgid "triplediff"
-#~ msgstr "triplediff"
-
-#~ msgid "compare"
-#~ msgstr "compare"
-
-#~ msgid "files"
-#~ msgstr "files"
-
-#~ msgid "version control"
-#~ msgstr "version control"
-
-#~ msgid "three-way-merge"
-#~ msgstr "three-way-merge"
-
-#~ msgid "in-line-differences"
-#~ msgstr "in-line-differences"
-
-#~ msgid "synchronise"
-#~ msgstr "synchronise"
-
-#~ msgid "kpart"
-#~ msgstr "kpart"
-
-#~ msgid "<keyword>kio</keyword>"
-#~ msgstr "<keyword>kio</keyword>"
-
-#~ msgid "networktransparent"
-#~ msgstr "networktransparent"
-
-#~ msgid "white space"
-#~ msgstr "spazio bianco"
-
-#~ msgid "comments"
-#~ msgstr "commenti"
-
-#~ msgid "Introduction"
-#~ msgstr "Introduzione"
-
-#~ msgid ""
-#~ "Several graphical diff tools exist. Why choose KDiff3? Let me say, why I "
-#~ "wrote it."
-#~ msgstr ""
-#~ "Per la comparazione dei file esistono numerosi strumenti grafici. Perché "
-#~ "scegliere KDiff3? Lascia che ti dica perché l'ho scritto."
-
-#~ msgid ""
-#~ "KDiff3 started because I had to do a difficult merge. Merging is "
-#~ "necessary when several people work on the same files in a project. A "
-#~ "merge can be somewhat automated, when the merge-tool not only has the new "
-#~ "modified files (called \"branches\"), but also the original file (called "
-#~ "\"base\"). The merge tool will automatically choose any modification that "
-#~ "was only done in one branch. When several contributors change the same "
-#~ "lines, then the merge tool detects a conflict which must be solved "
-#~ "manually."
-#~ msgstr ""
-#~ "KDiff3 è nato perché dovevo eseguire una difficile fusione tra file. La "
-#~ "fusione è necessaria quando molte persone, in un progetto, lavorano sugli "
-#~ "stessi file. La fusione può essere piuttosto automatica, quando gli "
-#~ "strumenti di fusione non solo permettono la modifica dei nuovi file "
-#~ "(\"rami\") ma anche del file originale (\"base\"). Lo strumento per la "
-#~ "fusione sceglierà automaticamente solo le modifiche eseguite all'interno "
-#~ "di un ramo. Quando più persone cambiano le stesse righe, allora lo "
-#~ "strumento di fusione trova un conflitto che dovrà essere risolto "
-#~ "manualmente."
-
-#~ msgid ""
-#~ "The merge then was difficult because one contributor had changed many "
-#~ "things and corrected the indentation in many places. Another contributor "
-#~ "also had changed much text in the same file, which resulted in several "
-#~ "merge conflicts."
-#~ msgstr ""
-#~ "La fusione era quindi difficile in quanto uno aveva cambiato molte cose e "
-#~ "corretto l'indentazione in molti punti. Un altro aveva inoltre variato "
-#~ "molto testo in alcuni file, i quali risultavano in conflitto "
-#~ "nell'operazione di fusione."
-
-#~ msgid ""
-#~ "The tool I used then, only showed the changed lines, but not what had "
-#~ "changed within these lines. And there was no information about where only "
-#~ "the indentation was changed. The merge was a little nightmare."
-#~ msgstr ""
-#~ "Lo strumento che utilizzai mostrava solamente le linee variate, ma non "
-#~ "cosa era cambiato all'interno di esse. Inoltre non c'era nessuna "
-#~ "informazione riguardo la variazione di indentazione. La fusione era un "
-#~ "piccolo incubo."
-
-#~ msgid ""
-#~ "So this was the start. The first version could show differences within a "
-#~ "line and showed white space differences. Later many other features were "
-#~ "added to increase the usefulness."
-#~ msgstr ""
-#~ "Così fu l'inizio. La prima versione poteva mostrare le differenze "
-#~ "all'interno di una riga e la differenza degli spazi bianchi. "
-#~ "Successivamente molte altre caratteristiche furono introdotte per "
-#~ "aumentarne l'utilità."
-
-#~ msgid ""
-#~ "For example if you want to compare some text quickly, then you can copy "
-#~ "it to the clipboard and paste it into either diff window."
-#~ msgstr ""
-#~ "Per esempio se vuoi comparare velocemente alcuni testi, è possibile "
-#~ "copiarne il contenuto negli appunti, quindi incollarlo in una finestra di "
-#~ "KDiff3."
-
-#~ msgid ""
-#~ "A feature that required a big effort was the directory comparison and "
-#~ "merge facility, which turned the program almost into a full file browser."
-#~ msgstr ""
-#~ "Una caratteristica che ha richiesto un grosso sforzo è stata la "
-#~ "comparazione tra directory e la funzione di fusione, le quali hanno "
-#~ "trasformato il programma in un vero e proprio navigatore di file."
-
-#~ msgid "I hope KDiff3 works for you too. Have fun!"
-#~ msgstr "Spero che KDiff3 sia utile anche a te. Divertiti!"
-
-#~ msgid "Joachim Eibl (2003)"
-#~ msgstr "Joachim Eibl (2003)"
-
-#~ msgid "Screenshots and Features"
-#~ msgstr "Schermate e caratteristiche"
-
-#~ msgid "This screenshot shows the difference between two text files"
-#~ msgstr "Questa schermata mostra la differenza tra due file di testo"
-
-#~ msgid "(Using an early version of KDiff3):"
-#~ msgstr "(Usando una versione recente di KDiff3):"
-
-#~ msgid ""
-#~ "3-way-merging is fully supported. This is useful if two people change "
-#~ "code independently. The original file (the base) is used to help KDiff3 "
-#~ "to automatically select the correct changes. The merge-editor below the "
-#~ "diff-windows allows you to solve conflicts, while showing you the output "
-#~ "you will get. You can even edit the output. This screenshot shows three "
-#~ "input files being merged:"
-#~ msgstr ""
-#~ "È supportata la fusione di tre file. Questa è particolarmente utile se "
-#~ "due persone variano indipendentemente il codice. Il file originale (il "
-#~ "file base) è utilizzato per aiutare KDiff3 a selezionare automaticamente "
-#~ "i corretti cambiamenti. Sotto le finestre che evidenziano le differenze "
-#~ "una finestra di modifica ti permetterà di risolvere i conflitti "
-#~ "riscontrati, mostrandone il risultato ottenuto. Potrai inoltre modificare "
-#~ "il risultato delle operazioni. Questa schermata mostra il risultato di "
-#~ "fusione di tre file in ingresso:"
-
-#~ msgid ""
-#~ "KDiff3 also helps you to compare and merge complete directories. This "
-#~ "screenshot shows KDiff3 during a directory merge:"
-#~ msgstr ""
-#~ "KDiff3 aiuta anche a comparare e fondere intere directory. Questa "
-#~ "schermata mostra KDiff3 durante una fusione di directory:"
-
-#~ msgid "More Features"
-#~ msgstr "Altre caratteristiche"
-
-#~ msgid "Line-By-Line And Char-By-Char Diff-Viewer"
-#~ msgstr "Indicazione delle differenze per riga e per carattere"
-
-#~ msgid ""
-#~ "By using the possiblities of a graphical color display KDiff3 shows "
-#~ "exactly what the difference is. When you have to do many code-reviews, "
-#~ "you will like this."
-#~ msgstr ""
-#~ "Utilizzando tutte le visualizzazioni grafiche a colori, KDiff3 visualizza "
-#~ "esattamente qual'è la differenza. Quando hai la necessità di fare molte "
-#~ "revisioni di codice, gradirai questo."
-
-#~ msgid "See White-Space Differences At One Glance"
-#~ msgstr "Vedere le differenze di spazi bianchi a colpo d'occhio"
-
-#~ msgid ""
-#~ "Spaces and tabs that differ appear visibly. When lines differ only in the "
-#~ "amount of white space this can be seen at one look in the summary column "
-#~ "on the left side. (No more worries when people change the indentation.)"
-#~ msgstr ""
-#~ "Saranno visibili spazi e tabulatori che risultano diversi. Quando le "
-#~ "linee differiscono solamente di uno spazio bianco questo potrà essere "
-#~ "subito visibile nella colonna di sommario posizionata sul lato sinistro. "
-#~ "(Non preoccuparti più quando le persone cambieranno l'indentazione.)"
-
-#~ msgid "Triple-Diff"
-#~ msgstr "Verifica con tre file"
-
-#~ msgid "Analyze three files and see where they differ."
-#~ msgstr "Analizza tre file e verifica dove differiscono."
-
-#~ msgid ""
-#~ "The left/middle/right windows are named A/B/C and have the blue/green/"
-#~ "magenta color respectively."
-#~ msgstr ""
-#~ "Le finestre sinistra/centrale/destra si chiamano A/B/C ed hanno "
-#~ "rispettivamente il colore /blu/verde/magenta."
-
-#~ msgid ""
-#~ "If one file is the same and one file is different on a line then the "
-#~ "color shows which file is different. The red color means that both other "
-#~ "files are different."
-#~ msgstr ""
-#~ "Se un file è uguale ed un altro è diverso in una linea allora il colore "
-#~ "mostrerà come è diverso. Il colore rosso significa che entrambi gli altri "
-#~ "file sono diversi."
-
-#~ msgid "Comfortable Merge Of Two Or Three Input Files"
-#~ msgstr "Comoda fusione di due o tre file di input"
-
-#~ msgid ""
-#~ "KDiff3 can be used to merge two or three input files and automatically "
-#~ "merges as much as possible. The result is presented in an editable window "
-#~ "where most conflicts can be solved with a single mouseclick: Select the "
-#~ "buttons A/B/C from the button-bar to select the source that should be "
-#~ "used. You can also select more than one source. Since this output window "
-#~ "is an editor even conflicts which need further corrections can be solved "
-#~ "here without requiring another tool."
-#~ msgstr ""
-#~ "KDiff3 può essere usato per fondere due o tre file di ingresso ed "
-#~ "automaticamente fonde quanto è possibile. Il risultato è presentato in "
-#~ "una finestra di modifica dove molti conflitti possono essere risolti con "
-#~ "un semplice clic del mouse: Selezionando i pulsanti A/B/C dalla barra si "
-#~ "seleziona la sorgente che deve essere utilizzata. È possibile selezionare "
-#~ "più di un file sorgente. Dato che questa finestra è un editor anche i "
-#~ "conflitti che hanno bisogno di ulteriori correzioni possono essere qui "
-#~ "risolti senza bisogno di un altro strumento."
-
-#~ msgid "And ..."
-#~ msgstr "Inoltre ..."
-
-#~ msgid "Fast navigation via buttons."
-#~ msgstr "Pulsanti per la navigazione veloce."
-
-#~ msgid ""
-#~ "A mouse-click into a summary column sync's all windows to show the same "
-#~ "position."
-#~ msgstr ""
-#~ "Un clic del mouse nella colonna di sommario sincronizzerà tutte le "
-#~ "finestre per mostrare la stessa posizione."
-
-#~ msgid ""
-#~ "Select and copy from any window and paste into the merge result window."
-#~ msgstr ""
-#~ "Seleziona e copia da una qualsiasi finestra ed incolla nella finestra del "
-#~ "risultato di fusione."
-
-#~ msgid "Overview column that shows where the changes and conflicts are."
-#~ msgstr "Colonna che mostra dove sono i cambiamenti ed i conflitti."
-
-#~ msgid "The colors are adjustable to your specific preferences."
-#~ msgstr ""
-#~ "È possibile impostare i diversi colori secondo le tue specifiche esigenze."
-
-#~ msgid "Adjustable Tab size."
-#~ msgstr "Dimensione della tabulazione modificabile."
-
-#~ msgid "Option to insert spaces instead of tabs."
-#~ msgstr "Opzione per inserire spazi invece che tabulatori."
-
-#~ msgid ""
-#~ "Open files comfortably via dialog or specify files on the command line."
-#~ msgstr ""
-#~ "È possibile aprire i file comodamente dalla finestra di dialogo oppure "
-#~ "specificandoli sulla riga di comando."
-
-#~ msgid ""
-#~ "Search for strings in all text windows. Find (Ctrl-F) and Find Next (F3)"
-#~ msgstr ""
-#~ "Ricerca stringhe in tutto il testo della finestra. Trova (Ctrl-F) e Trova "
-#~ "Successivo (F3)"
-
-#~ msgid "Show the line numbers for each line."
-#~ msgstr "Mostra il numero di riga per ogni riga."
-
-#~ msgid "Paste clipboard or drag text into a diff input window."
-#~ msgstr "Incolla dagli appunti o trascina il testo nella finestra di KDiff3."
-
-#~ msgid "Networktransparency via KIO."
-#~ msgstr "Trasparenza di rete tramite KIO."
-
-#~ msgid "Can be used as diff-viewer in KDevelop 3."
-#~ msgstr ""
-#~ "Può essere utilizzato come visualizzatore delle differenze in Kdevelop 3."
-
-#~ msgid "<para>...</para>"
-#~ msgstr "<para>...</para>"
-
-#~ msgid "Documentation of File Comparison And Merge"
-#~ msgstr "Documentazione della comparazione e fusione del file"
-
-#~ msgid "Command-Line Options"
-#~ msgstr "Opzioni della riga di comando"
-
-#~ msgid "<command>kdiff3</command> <replaceable>file1 file2</replaceable>"
-#~ msgstr "<command>kdiff3</command> <replaceable>file1 file2</replaceable>"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2</replaceable> -m\n"
-#~ "   <command>kdiff3</command> <replaceable>file1 file2</replaceable> -o "
-#~ "<replaceable>outputfile</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2</replaceable> -m\n"
-#~ "   <command>kdiff3</command> <replaceable>file1 file2</replaceable> -o "
-#~ "<replaceable>outputfile</replaceable>"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2 file3</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2 file3</replaceable>"
-
-#~ msgid "Merging 3 files:"
-#~ msgstr "Fondi 3 file:"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2 file3</replaceable> -"
-#~ "m\n"
-#~ "   <command>kdiff3</command> <replaceable>file1 file2 file3</replaceable> "
-#~ "-o <replaceable>outputfile</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>file1 file2 file3</replaceable> -"
-#~ "m\n"
-#~ "   <command>kdiff3</command> <replaceable>file1 file2 file3</replaceable> "
-#~ "-o <replaceable>outputfile</replaceable>"
-
-#~ msgid ""
-#~ "Note that <replaceable>file1</replaceable> will be treated as base of "
-#~ "<replaceable>file2</replaceable> and <replaceable>file3</replaceable>."
-#~ msgstr ""
-#~ "Da notare che <replaceable>file1</replaceable> potrebbe essere trattato "
-#~ "come base di <replaceable>file2</replaceable> e <replaceable>file3</"
-#~ "replaceable>."
-
-#~ msgid "Special case: Files with the same name"
-#~ msgstr "Caso particolare: File con lo stesso nome"
-
-#~ msgid ""
-#~ "If all files have the same name but are in different directories, you can "
-#~ "reduce typework by specifying the filename only for the first file. E.g.:"
-#~ msgstr ""
-#~ "Se tutti i file hanno lo stesso nome ma si trovano in posizioni diverse, "
-#~ "è possibile specificare solamente il nome del primo file. Es.:"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>dir1/filename dir2 dir3</"
-#~ "replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>dir1/filename dir2 dir3</"
-#~ "replaceable>"
-
-#~ msgid "Commandline for starting a directory comparison or merge:"
-#~ msgstr ""
-#~ "Linea di comando per avviare il confronto e la fusione di una directory:"
-
-#~ msgid "This is very similar, but now it's about directories."
-#~ msgstr "Questo è molto simile, ma ora trattiamo directory."
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-
-#~ msgid ""
-#~ "For directory comparison and merge you can continue to read <link linkend="
-#~ "\"dirmerge\">here</link>."
-#~ msgstr ""
-#~ "Per maggiori informazioni sulla comparazione e fusione di direcory "
-#~ "leggere <link linkend=\"dirmerge\">qui</link>."
-
-#~ msgid "For more information on command line options use:"
-#~ msgstr "Per maggiori informazioni sulle opzioni dalla riga di comando usa:"
-
-#~ msgid "<command>kdiff3</command> --help"
-#~ msgstr "<command>kdiff3</command> --help"
-
-#~ msgid "Open-Dialog"
-#~ msgstr "Dialogo di apertura file"
-
-#~ msgid ""
-#~ "Since many input files must be selectable, the program has a special open "
-#~ "dialog:"
-#~ msgstr ""
-#~ "Poiché devono essere selezionati molti file, il programma ha un "
-#~ "particolare dialogo di apertura file:"
-
-#~ msgid ""
-#~ "The open dialog allows to edit the filenames by hand, selecting a file "
-#~ "via the file-browser (\"File...\") or allows to choose recent files from "
-#~ "the drop-down lists. If you open the dialog again, then the current names "
-#~ "still remain there. The third input file is not required. If the entry "
-#~ "for \"C\" remains empty, then only a two file diff analysis will be done."
-#~ msgstr ""
-#~ "Il dialogo di apertura file permette di digitare il nome del file, "
-#~ "selezionare un file con il navigatore (\"File...\") o di scegliere i file "
-#~ "più recenti da una lista a comparsa. Quando aprirai nuovamente il dialogo "
-#~ "di selezione file verrà mantenuto l'ultimo file selezionato. Il nome del "
-#~ "terzo file non è richiesto. Se il campo per \"C\" rimane vuoto, le "
-#~ "operazioni di comparazione implicheranno solamente i primi due."
-
-#~ msgid ""
-#~ "You can also select a directory via \"Dir...\". If for A a directory is "
-#~ "specified then a directory-comparison/merge starts. If A specifies a file "
-#~ "but B, C or the output specify a directory, then KDiff3 uses the filename "
-#~ "from A in the specified directories."
-#~ msgstr ""
-#~ "Puoi anche selezionare una directory con \"Directory...\". Se per A è "
-#~ "specificata una directory allora sarà automaticamente attivata la "
-#~ "comparazione/fusione di directory. Se A specifica un file ma B e C o "
-#~ "l'output specifica una directory, allora KDiff3 utilizza il nome del file "
-#~ "di A nella directory specificata."
-
-#~ msgid ""
-#~ "If \"Merge\" is selected, then the \"Output\"-line becomes editable. But "
-#~ "it is not required to specify the output filename immediately. You can "
-#~ "also postpone this until saving."
-#~ msgstr ""
-#~ "Se viene selezionato \"Fusione\" allora l'opzione \"Output\" diverrà "
-#~ "modificabile. Ma non è richiesto di specificare subito il nome del file "
-#~ "in uscita. Potrai specificarlo successivamente."
-
-#~ msgid ""
-#~ "The \"Configure...\"-button opens the options-dialog, so that you can set "
-#~ "the options before running the analysis."
-#~ msgstr ""
-#~ "L'opzione \"Configura...\" apre un dialogo di opzioni, in modo che tu "
-#~ "possa impostare le varie opzioni prima di avviare l'analisi."
-
-#~ msgid "Paste and Drop Input"
-#~ msgstr "Incolla e trascina l'input"
-
-#~ msgid ""
-#~ "Sometimes you want to compare parts of a text that is not an own file. "
-#~ "KDiff3 also allows you to paste text from the clipboard into the diff "
-#~ "input window that has the focus. The diff analysis happens immediately "
-#~ "then. In the open dialog you need not specify files then, but just close "
-#~ "it via \"Cancel\"."
-#~ msgstr ""
-#~ "Molte volte vuoi comparare parti di testo che non sono di tua proprietà. "
-#~ "KDiff3 permette anche di incollare testo dagli appunti nella finestra di "
-#~ "verifica delle differenze selezionata. L'analisi delle differenze "
-#~ "apparirà immediatamente. Nel dialogo di selezione file non avrai la "
-#~ "necessità di specificare i file, potrai semplicemente chiudere con "
-#~ "l'opzione \"Annulla\"."
-
-#~ msgid ""
-#~ "You can also use drag and drop: Drag a file from a file manager or "
-#~ "selected text from an editor and drop it onto a diff input window."
-#~ msgstr ""
-#~ "È possibile utilizzare il trascinamento: prendi un file dal filemanager o "
-#~ "seleziona un testo da un editor e trascinalo dentro la finestra di "
-#~ "verifica."
-
-#~ msgid ""
-#~ "What's the idea? Sometimes a file contains two similar functions, but "
-#~ "checking how similar they really are is a big effort if you first must "
-#~ "create two files and then load them. Now you can simply copy, paste and "
-#~ "compare the relevant sections."
-#~ msgstr ""
-#~ "Qual'è l'idea? Alcune volte un file contiene due funzioni simili, ma per "
-#~ "controllarne il grado di similitudine sarebbe dispendioso se tu dovessi "
-#~ "prima creare due file e quindi ricaricarli. Ora puoi semplicemente "
-#~ "copiare, incollare e comparare la sola parte di interesse."
-
-#~ msgid ""
-#~ "Note: Currently you can't drag anything from KDiff3. Only dropping in the "
-#~ "diff input is supported."
-#~ msgstr ""
-#~ "Nota: Attualmente non è possibile trascinare qualsiasi file da KDiff3. È "
-#~ "supportato solamente il trascinamento del file nella finestra di verifica "
-#~ "delle differenze."
-
-#~ msgid ""
-#~ "Warning: Some editors still interpret the drag and drop into another "
-#~ "program like cut (instead of copy) and paste. Your original data might be "
-#~ "lost then."
-#~ msgstr ""
-#~ "Attenzione: Alcuni editor interpretano il trascinamento in altri "
-#~ "programmi come operazioni di taglia (invece che copia) ed incolla. In "
-#~ "questa maniera i dati originali andrebbero quindi persi."
-
-#~ msgid "Interpreting The Information In The Input Windows"
-#~ msgstr "Capire le informazioni della finestra di ingresso"
-
-#~ msgid ""
-#~ "At the top of each text window is its \"info line\". The info lines of "
-#~ "the input windows contain a letter \"A\", \"B\" or \"C\", the filename "
-#~ "and the line number of the first visible line in the window. (Note that "
-#~ "window \"C\" is optional.) Each info line appears in a different color. "
-#~ "(If the paths are too long to fit, then you can move the mouse onto the "
-#~ "info line and a tooltip will show the complete name.)"
-#~ msgstr ""
-#~ "Sopra ad ogni finestra di testo c'è la \"linea informativa\". "
-#~ "L'informazione della finestra di ingresso contiene una lettera \"A\", \"B"
-#~ "\" o \"C\", il nome del file ed il numero di riga della prima linea "
-#~ "visibile nella finestra. (Nota che \"C\" è opzionale). Ogni linea "
-#~ "informativa appare con colori diversi. (Se i percorsi sono troppo lunghi, "
-#~ "è possibile muovere il mouse sulla riga informativa e un suggerimento "
-#~ "visualizzerà l'intero nome.)"
-
-#~ msgid ""
-#~ "The three input windows are assigned the letters \"A\", \"B\" and \"C\". "
-#~ "\"A\" has color blue, \"B\" has green and \"C\" has magenta. (These are "
-#~ "the defaults, but can be changed in the Settings-Menu.)"
-#~ msgstr ""
-#~ "Alle tre finestre di input sono assegnate le lettere \"A\", \"B\" e \"C"
-#~ "\". \"A\" ha il colore blu, \"B\" ha il colore verde e \"C\" ha il colore "
-#~ "magenta. (Questi colori sono i predefiniti, ma possono essere variati dal "
-#~ "menu delle impostazioni.)"
-
-#~ msgid ""
-#~ "When a difference is detected then the color shows which input file "
-#~ "differs. When both other input files differ then the color used to "
-#~ "express this is red by default (\"Conflict color\" in the Settings). This "
-#~ "colorscheme is especially useful in the case of three input files, which "
-#~ "will be seen in the next section (<link linkend=\"merging\">Merging</"
-#~ "link>)."
-#~ msgstr ""
-#~ "Quando si trova una differenza allora il colore mostra quale file di "
-#~ "ingresso differisce. Quando entrambi i file di input differiscono allora "
-#~ "il colore utilizzato per evidenziare questo sarà il rosso (\"Colore di "
-#~ "conflitto\" nelle impostazioni). Questo schema di colori è molto utile "
-#~ "nel caso di tre file di ingresso, che discuteremo nella prossima sezione "
-#~ "(<link linkend=\"merging\">Fusione</link>)."
-
-#~ msgid ""
-#~ "Left of each text is the \"summary column\". If differences occurred on a "
-#~ "line then the summary column shows the respective color. For a white-"
-#~ "space-only difference the summary is chequered. For programming languages "
-#~ "where white space is not so important this is useful to see at one glance "
-#~ "if anything of importance was modified. (In C/C++ white space is only "
-#~ "interesting within strings, comments, for the preprocessor, and some only "
-#~ "very esoteric situations.)"
-#~ msgstr ""
-#~ "A sinistra di ogni testo è posizionata la \"colonna di sommario\". Se ci "
-#~ "sono differenze su una riga, la colonna di sommario mostrerà il colore "
-#~ "corrispondente. Nel sommario le differenze di soli spazi bianchi saranno "
-#~ "evidenziate con una griglia. Per i linguaggi di programmazione in cui non "
-#~ "è importante la posizione degli spazi bianchi è molto utile notare a "
-#~ "colpo d'occhio se qualcosa di importante è stato variato. (In C/C++ lo "
-#~ "spazio bianco è importante solamente all'interno delle stringhe, "
-#~ "commenti, comandi di preprocessione, e solo in altre situazioni molto "
-#~ "esoteriche.)"
-
-#~ msgid ""
-#~ "The vertical line separating the summary column and the text is "
-#~ "interrupted if the input file had no lines there."
-#~ msgstr ""
-#~ "La linea verticale che separa la colonna di sommario ed il testo è "
-#~ "interrotta se il file di input non presenta linee in questo punto."
-
-#~ msgid ""
-#~ "On the right side a \"overview\"-column is visible left of the vertical "
-#~ "scrollbar. It shows the compressed summary column of input \"A\". All the "
-#~ "differences and conflicts are visible at one glance. When only two input "
-#~ "windows are used, then all differences appear red here because every "
-#~ "difference is also a conflict. A black rectangle frames the visible part "
-#~ "of the inputs. For very long input files, when the number of input lines "
-#~ "is bigger than the height of the overview column in pixels, then several "
-#~ "input lines share one overview line. A conflict then has top priority "
-#~ "over simple differences, which have priority over no change, so that no "
-#~ "difference or conflict is lost here. By clicking into this overview "
-#~ "column the corresponding text will be shown."
-#~ msgstr ""
-#~ "Sul lato destro, a sinistra della barra di scorrimento, è presente una "
-#~ "colonna informativa. Essa mostra sinteticamente la colonna di sommario "
-#~ "dell'ingresso \"A\". Differenze e conflitti sono visibili a colpo "
-#~ "d'occhio. Quando vengono utilizzate solo due finestre di input, tutte le "
-#~ "differenze appaiono in rosso, in quanto ogni differenza è un conflitto. "
-#~ "Un rettangolo nero incornicia la parte visibile dell'input. Per file di "
-#~ "ingresso molto lunghi, quando il numero delle righe è maggiore "
-#~ "dell'altezza, in pixel, della colonna di sommario, molte righe di "
-#~ "ingresso condividono una unica riga sommaria. Un conflitto quindi ha "
-#~ "priorità su semplici differenze, che non hanno priorità sui cambiamenti, "
-#~ "così nessuna differenza o conflitto viene perso. Con un clic sopra questa "
-#~ "colonna di sommario, il testo corrispondente verrà visualizzato."
-
-#~ msgid "Merging And The Merge Output Editor Window"
-#~ msgstr "Operazione di fusione e la finestra di modifica del risultato"
-
-#~ msgid ""
-#~ "The merge output editor window (below the diff input windows) also has an "
-#~ "info line at the top showing \"Output:\", the filename and \"[Modified]\" "
-#~ "if you edited something. Usually it will contain some text through the "
-#~ "automatic merge facilities, but often it will also contain conflicts."
-#~ msgstr ""
-#~ "La finestra di modifica del risultato di fusione (sotto la finestra di "
-#~ "ingresso) ha anche una linea informativa sovrastante che mostra \"Output:"
-#~ "\", il nome del file e \"[Modificato]\" se qualcosa è stato variato. "
-#~ "Normalmente essa contiene del testo creato dagli automatismi della "
-#~ "fusione, ma spesso conterrà anche conflitti."
-
-#~ msgid ""
-#~ "!!! Saving is disabled until all conflicts are resolved !!! (Use the \"Go "
-#~ "to prev/next unsolved conflicts\"-buttons to find the remaining "
-#~ "conflicts.)"
-#~ msgstr ""
-#~ "!!! Il salvataggio è disabilitato fino a quando i conflitti non sono "
-#~ "risolti !!! (Usa l'opzione \"Vai al precedente/prossimo conflitto non "
-#~ "risolto\" per ricercare i conflitti rimanenti.)"
-
-#~ msgid ""
-#~ "With only two input files every difference is also a conflict that must "
-#~ "be solved manually."
-#~ msgstr ""
-#~ "Con soli due file di ingresso ogni differenza è un conflitto che deve "
-#~ "essere risolto manualmente."
-
-#~ msgid ""
-#~ "With three input files the first file is treated as base, while the "
-#~ "second and third input files contain modifications. When at any line only "
-#~ "either input B or input C have changed but not both then the changed "
-#~ "source will automatically be selected. Only when B and C have changed on "
-#~ "the same lines, then the tool detects a conflict that must be solved "
-#~ "manually. When B and C are the same, but not the same as A, then C is "
-#~ "selected."
-#~ msgstr ""
-#~ "Con tre file di input il primo è considerato come base, mentre il secondo "
-#~ "ed il terzo contengono le modifiche. Quando in qualche linea solo il file "
-#~ "B o il file C presenta una differenza, ma non entrambi, allora il file "
-#~ "modificato sarà automaticamente selezionato. Solo quando B e C hanno "
-#~ "delle differenze sulle stesse righe il programma si accorgerà del "
-#~ "conflitto il quale dovrà essere risolto manualmente. Quando B e C "
-#~ "coincidono, ma differiscono con A, allora sarà selezionato C."
-
-#~ msgid ""
-#~ "The merge output editor window also has a summary column on the left. It "
-#~ "shows the letter of the input from which a line was selected or nothing "
-#~ "if all three sources where equal on a line. For conflicts it shows a "
-#~ "questionmark \"?\" and the line shows \"&lt;Merge Conflict&gt;\", all in "
-#~ "red. Because solving conflicts line by line would take very long, the "
-#~ "lines are grouped into groups that have the same difference and conflict "
-#~ "characteristics. But only-white-space-conflicts are separated from non-"
-#~ "white-space-conflicts in order to ease the merging of files were the "
-#~ "indentation changed for many lines."
-#~ msgstr ""
-#~ "La finestra di modifica del risultato di fusione ha anche una colonna di "
-#~ "sommario sulla sinistra. Essa mostra la lettera dell'input da dove la "
-#~ "linea è stata selezionata o nulla se tutte le tre sorgenti hanno la "
-#~ "stessa riga. Per i conflitti essa mostra un punto interrogativo \"?\" e "
-#~ "la riga mostra \"&lt;Conflitto nel fondere&gt;\", tutto in rosso. Dato "
-#~ "che risolvere conflitti riga per riga richiede molto tempo, le righe sono "
-#~ "raggruppate per gruppi con le stesse caratteristiche di differenza e "
-#~ "conflitto. Saranno separati solo i conflitti di spazi bianchi dai "
-#~ "conflitti di spazi non bianchi in modo da facilitare la fusione dei file "
-#~ "in cui l'indentazione, su molte righe, cambia."
-
-#~ msgid ""
-#~ "When clicking into the summary column with the left mouse button in "
-#~ "either window then the group belonging to that line will be selected in "
-#~ "all windows and the beginning of that group will be shown. (This might "
-#~ "involve an automatic position jump in the windows if the beginning of a "
-#~ "group is not visible.) This group then becomes the \"current group\". It "
-#~ "is highlighted with the \"Current range (diff) background color\" and a "
-#~ "black bar appears on the left side of the text."
-#~ msgstr ""
-#~ "Quando si fa clic sulla colonna di sommario con il tasto sinistro del "
-#~ "mouse in una finestra, il gruppo appartenente a quella riga sarà "
-#~ "selezionato in tutte le finestre e la parte iniziare del gruppo sarà "
-#~ "visualizzata. (Questo potrebbe coinvolgere un posizionamento automatico "
-#~ "nella finestra se l'inizio del gruppo non è visibile.) Questo gruppo "
-#~ "diverrà quindi il \"gruppo corrente\". Esso è visualizzato con il "
-#~ "\"Colore di fondo per questo intervallo corrente\" e una barra nera "
-#~ "apparirà sul lato sinistro del testo."
-
-#~ msgid ""
-#~ "Note the input selector buttons containing the letters \"A\", \"B\" and "
-#~ "\"C\" in the button bar below the menu bar. When clicking on either input "
-#~ "selector button, the lines from that input will be added at the end of "
-#~ "the selected group if that group didn't contain that source before. "
-#~ "Otherwise the lines from that input will be removed."
-#~ msgstr ""
-#~ "I punsanti di selezione dell'ingresso contengono le lettere \"A\", \"B\" "
-#~ "e \"C\" nella barra dei pulsanti sotto la barra dei menu. Quando si fa un "
-#~ "clic su un pulsante di selezione dell'ingresso, le righe di questo input "
-#~ "saranno aggiunte alla fine del gruppo selezionato se questo gruppo non "
-#~ "conteneva già tale testo. Altrimenti le righe di questo file di ingresso "
-#~ "saranno rimosse."
-
-#~ msgid ""
-#~ "Besides, you can directly edit any line. The summary column will show \"m"
-#~ "\" for every line that was modified."
-#~ msgstr ""
-#~ "Inoltre puoi modificare direttamente qualsiasi linea. La colonna di "
-#~ "sommario mostrerà \"m\" su ogni riga che hai modificato."
-
-#~ msgid ""
-#~ "Sometimes, when a line is removed either by automatic merge or by editing "
-#~ "and no other lines remain in that group, then the text &lt;No src "
-#~ "line&gt; will appear in that line. This is just a placeholder for the "
-#~ "group for when you might change your mind and select some source again. "
-#~ "This text won't appear in the saved file or in any selections you want to "
-#~ "copy and paste."
-#~ msgstr ""
-#~ "Alcune volte, quando una linea viene rimossa dalla fusione automatica o "
-#~ "da una modifica manuale, e non rimangono altre righe nel gruppo, allora "
-#~ "apparirà in questa linea il messaggio &lt;Riga origine mancante&gt;. "
-#~ "Questa posizione verrà mantenuta dal gruppo nel caso tu cambiassi idea e "
-#~ "volessi sezionare qualche altro sorgente. Questo testo non verrà "
-#~ "ripostato nel file salvato o in altre selezioni che desideri copiare ed "
-#~ "incollare."
-
-#~ msgid ""
-#~ "The text \"&lt;Merge Conflict&gt;\" will appear in the clipboard if you "
-#~ "copy and paste some text containing such a line. But still be careful to "
-#~ "do so."
-#~ msgstr ""
-#~ "Il testo \"&lt;Fondi conflitti&gt;\" apparirà negli appunti se copi ed "
-#~ "incolli del testo contenente questa linea. Fai comunque attenzione "
-#~ "nell'eseguire tale operazione."
-
-#~ msgid ""
-#~ "The normal merge will start by solving simple conflicts automatically. "
-#~ "But the \"Merge\"-menu provides some actions for other common needs. If "
-#~ "you have to select the same source for most conflicts, then you can "
-#~ "choose \"A\", \"B\" or \"C\" everywhere, or only for the remaining "
-#~ "unsolved conflicts, or for unsolved whitespace conflicts. If you want to "
-#~ "decide every single delta yourself, you can \"Set deltas to conflicts\". "
-#~ "Or if you want to return to the automatic choices of KDiff3 then select "
-#~ "\"Automatically solve simple conflicts\". KDiff3 then restarts the merge. "
-#~ "For actions that change your previous modifications KDiff3 will ask for "
-#~ "your confirmation before proceeding."
-#~ msgstr ""
-#~ "La normale fusione partirà per la risoluzione automatica di semplici "
-#~ "conflitti. Ma il menu \"Fondi\" permette alcune azioni per altre comuni "
-#~ "necessità. Se devi selezionare lo stesso sorgente per molti conflitti, "
-#~ "potrai selezionare sempre \"A\", \"B\" o \"C\", o solamente per i "
-#~ "conflitti non risolti restanti, o per i conflitti di spazi bianchi non "
-#~ "risolti. Se vuoi decidere tu stesso ogni singola differenza \"Considera "
-#~ "le differenze come conflitti\". O se vuoi ritornare all'opzione "
-#~ "automatica di KDiff3 seleziona \"Risolvi automaticamente i conflitti "
-#~ "semplici\". KDiff3 riavvierà quindi la fusione. Per azioni che cambiano "
-#~ "le tue precedenti modifiche KDiff3 ti chiederà la conferma prima di "
-#~ "procedere."
-
-#~ msgid ""
-#~ "Note: When choosing either source for unsolved whitespace conflicts and "
-#~ "the options \"Ignore Numbers\" or \"Ignore C/C++ Comments\" are used then "
-#~ "changes in numbers or comments will be treated like whitespace too."
-#~ msgstr ""
-#~ "Nota: Quando scegliendo un sorgente per conflitti non risolti di spazi "
-#~ "bianchi e le opzioni \"Ignora numeri\" o \"Ignora commenti C/C++\" sono "
-#~ "utilizzate allora variazioni nei numeri o nei commenti saranno anch'essi "
-#~ "trattati come spazi bianchi."
-
-#~ msgid "Navigation And Editing"
-#~ msgstr "Navigazione e modifica"
-
-#~ msgid ""
-#~ "Much navigation will be done with the scroll bars and the mouse but you "
-#~ "can also navigate with the keys. If you click into either window then you "
-#~ "can use the cursor buttons left, right, up, down, page up, page down, "
-#~ "home, end, ctrl-home, ctrl-end as you would in other programs. The "
-#~ "overview-column next to the vertical scroll bar of the input files can "
-#~ "also be used for navigating by clicking into it."
-#~ msgstr ""
-#~ "È possibile navigare con le barre di scorrimento, con il mouse oppure con "
-#~ "l'uso dei tasti. Se fai clic dentro una finestra potrai usare i pulsanti "
-#~ "del cursore sinistra, destra, alto, basso, pagina successiva, pagina "
-#~ "precedente, inizio, fine, ctrl-inizio, ctrl-fine come per gli altri "
-#~ "programmi. La colonna descrittiva dopo la barra di scorrimento verticale "
-#~ "del file di ingresso può anche essere utilizzata per la navigazione "
-#~ "facendo clic su questa."
-
-#~ msgid "You can also use the wheel mouse to scroll up and down."
-#~ msgstr ""
-#~ "È possibile utilizzare la rotellina del mouse solo per scorrere su e giù."
-
-#~ msgid ""
-#~ "In the merge output editor you can also use the other keys for editing. "
-#~ "You can toggle between insert and overwrite mode with the insert key. "
-#~ "(Default is insert-mode.)"
-#~ msgstr ""
-#~ "Per modificare il risultato della fusione di file puoi utilizzare "
-#~ "solamente i tasti di modifica. Puoi invertire la modalità di inserimento "
-#~ "e sovrascrittura con il tasto insert. (la modalità di inserimento è "
-#~ "quella predefinita.)"
-
-#~ msgid ""
-#~ "A left-mouse-button-click into any summary column will synchronise all "
-#~ "windows to show the beginning of the same group of lines (as explained in "
-#~ "section <link linkend=\"merging\">\"Merging\"</link>)."
-#~ msgstr ""
-#~ "Premendo il pulsante sinistro del mouse dentro una colonna di sommario "
-#~ "saranno aggiornate tutte le finestre, che mostreranno l'inizio dello "
-#~ "stesso gruppo di linee (come spiegato nella sezione <link linkend="
-#~ "\"merging\">\"Fusione\"</link>)."
-
-#~ msgid ""
-#~ "The button bar also contains seven navigation buttons with which you can "
-#~ "jump to the current/first/last difference, to the next/previous "
-#~ "difference (ctrl-down/ctrl-up), to the next/previous conflict (ctrl-"
-#~ "pgdown/ctrl-pgup), or to the next/previous unsolved conflict. Note that "
-#~ "for KDiff3 a \"conflict\" that was not automatically solved at the start "
-#~ "of the merge stays a \"conflict\" even if it is solved. Hence the "
-#~ "necessity to distinguish \"unsolved conflicts\"."
-#~ msgstr ""
-#~ "La barra dei pulsanti contiene inoltre altri pulsanti di navigazione con "
-#~ "i quali è possibile saltare alla corrente/prima/ultima differenza, alla "
-#~ "prossima/precedente differenza (ctrl-giù/ctrl-su), al prossimo/precedente "
-#~ "conflitto (ctrl-pgdown/ctrl-pgup), o al prossimo/precedente conflitto non "
-#~ "risolto. Nota che per KDiff3 un \"conflitto\" che non è stato "
-#~ "automaticamente risolto all'inizio della fusione permane \"conflitto"
-#~ "\"anche se risolto. Quindi la necessità di distinguere \"conflitti non "
-#~ "risolti\"."
-
-#~ msgid ""
-#~ "There also is a button \"Automatically go to next unsolved conflict after "
-#~ "source selection\" (Auto-Advance). If you enable this, then, when one "
-#~ "source is selected, then KDiff3 will jump to and select the next unsolved "
-#~ "conflict automatically. This can help when you always want to choose one "
-#~ "source only. When you need both sources, or you want to edit after "
-#~ "selecting, then you probably want to switch this off. Before proceeding "
-#~ "to the next unsolved conflict KDiff3 shows you the effect of your choice "
-#~ "for a short time. This delay is adjustable in the Diff- &amp; Merge-"
-#~ "Settings: You can specify the \"Auto-Advance delay\" in milli seconds "
-#~ "between 0 and 2000. Hint: Tired of many clicks? - Use a small Auto-"
-#~ "Advance-delay and the shortcuts Ctrl-1/2/3 to select A/B/C for many "
-#~ "conflicts."
-#~ msgstr ""
-#~ "C'è anche un pulsante \"Vai automaticamente al prossimo conflitto non "
-#~ "risolto dopo aver selezionato la fonte\" (Avanzamento automatico). "
-#~ "Selezionandolo quando un sorgente è selezionato, KDiff3 salterà "
-#~ "automaticamente alla selezione del prossimo conflitto non risolto. Questo "
-#~ "può aiutare quando scegli solamente un unico file di ingresso. Quando hai "
-#~ "bisogno di entrambi i sorgenti, o vuoi modificare dopo la selezione, "
-#~ "vorrai probabilmente disattivarlo. Prima di procedere al prossimo "
-#~ "conflitto non risolto KDiff3 mostrerà l'effetto della tua scelta per un "
-#~ "breve periodo. Questo tempo è modificabile nell'impostazione di Verifica "
-#~ "&amp; Fusione: È possibile specificare la \"Pausa nell'avanzamento "
-#~ "automatico\" in millisecondi tra 0 e 2000. Suggerimento: Stanco di troppi "
-#~ "Clic? - Quando ci sono molti conflitti usa un tempo basso di avanzamento "
-#~ "automatico e le scorciatorie Ctrl-1/2/3 per selezionare A/B/C."
-
-#~ msgid "Select, Copy And Paste"
-#~ msgstr "Selezione, Copia ed Incolla"
-
-#~ msgid ""
-#~ "The input windows don't show a cursor, so selections must be made with "
-#~ "the mouse by clicking with the left mouse button at the start, holding "
-#~ "down the mousebutton and moving to the end, where you release the mouse "
-#~ "button again. You can also select a word by double clicking it. In the "
-#~ "merge output editor you can also select via the keyboard by holding the "
-#~ "\"shift\"-button and navigation with the cursor keys."
-#~ msgstr ""
-#~ "La finestre dell'ingresso non mostra un cursore, così le selezioni devono "
-#~ "essere fatte con il mouse, fai clic con il tasto sinistro all'inizio, e, "
-#~ "mentenendolo premuto, muoversi fino a fine selezione, dove dovrai "
-#~ "rilasciare il tasto. Con un doppio clic è possibile selezionare una unica "
-#~ "parola. Nella finestra del risultato è possibile selezionare anche "
-#~ "tramite la tastiera, mantenendo il tasto \"shift\" e muovendosi con i "
-#~ "tasti del cursore."
-
-#~ msgid ""
-#~ "To copy to the clipboard you must press the \"Copy\"-button (Ctrl-C or "
-#~ "Ctrl-Insert). But there exists an option \"Auto Copy Selection\". If this "
-#~ "is enabled, then whatever you select is copied immediately and you don't "
-#~ "need to explicitely copy. But pay attention when using this because the "
-#~ "contents of the clipboard might then be destroyed accidentally."
-#~ msgstr ""
-#~ "Per copiare negli appunti è necessario premere il pulsante \"Copia"
-#~ "\" (Crtl-C o Ctrl-Ins). Ma esiste anche l'opzione \"Copia automatica\". "
-#~ "Se attiva, ognivolta che si seleziona del testo esso verrà copiato "
-#~ "immediatamente e non dovrai esplicitarlo. Presta però attenzione "
-#~ "all'utilizzo perché i contenuti degli appunti potrebbero accidentalmente "
-#~ "essere distrutti."
-
-#~ msgid ""
-#~ "\"Cut\" (Ctrl-X or Shift-Delete) copies to the clipboard and deletes the "
-#~ "selected text and \"Paste\" (Ctrl-V or Shift-Insert) inserts the text in "
-#~ "the clipboard at the cursorposition or over the current selection."
-#~ msgstr ""
-#~ "\"Taglia\" (Crtl-X o Shift-Delete) copia il testo selezionato negli "
-#~ "appunti e lo elimina, mentre \"Incolla\" (Crtl-V o Shift-Insert) "
-#~ "inserisce il testo contenuto negli appunti nella posizione corrente o in "
-#~ "sostituzione all'attuale selezione."
-
-#~ msgid ""
-#~ "Saving will only be allowed, when all conflicts were solved. If the file "
-#~ "already exists and the \"Backup files\"-option is enabled then the "
-#~ "existing file will be renamed with an \".orig\"-extension, but if such a "
-#~ "file exists it will be deleted. When you exit or start another diff-"
-#~ "analysis and data wasn't saved yet, then KDiff3 will ask if you want to "
-#~ "save, cancel or proceed without saving. (KDiff3 does not catch any "
-#~ "signals. So if you \"kill\" KDiff3 then your data will be lost.)"
-#~ msgstr ""
-#~ "Il salvataggio sarà permesso solamente quando tutti i conflitti saranno "
-#~ "risolti. Se il file esiste e l'opzione \"File di copia\" è abilitata "
-#~ "allora il file esistente sarà rinominato con estensione \".orig\", ma se "
-#~ "tale file esiste sarà rimosso. All'uscita o all'avvio di un'altra analisi "
-#~ "delle differenze se il risultato non è stato ancora salvato KDiff3 "
-#~ "richiederà se si vuole salvare, annullare o procedere senza salvare. "
-#~ "(KDiff3 non intercetta nessun segnale. Quindi se si esegue un \"kill\" di "
-#~ "KDiff3 tutti i dati saranno persi.)"
-
-#~ msgid ""
-#~ "Line endings are saved according to the normal method on the underlying "
-#~ "operating system. For Unices each line ends with an linefeed-character "
-#~ "\"\\n\", while for Win32-based systems each line ends with a carriage-"
-#~ "return + a linefeed \"\\r\\n\". KDiff3 does not preserve the line-endings "
-#~ "of the input files, which also means that you shouldn't use KDiff3 with "
-#~ "binary files."
-#~ msgstr ""
-#~ "I terminatori di riga sono salvati secondo il metodo tradizionale del "
-#~ "sistema operativo. Per i sistemi Unix la riga termina con il solo "
-#~ "carattere \"\\n\", mentre per i sistemi Win32 ogni riga termina con i "
-#~ "caratteri ritorno a capo + nuova riga \"\\r\\n\". KDiff3 non mantiene il "
-#~ "terminatore originale del file, quindi non utilizzare KDiff3 con i file "
-#~ "binari."
-
-#~ msgid "Finding Strings"
-#~ msgstr "Ricerca Stringhe"
-
-#~ msgid ""
-#~ "You can search for a string in any text-window of KDiff3. The \"Find ..."
-#~ "\"-command (Ctrl-F) in the Edit-menu opens a dialog that lets you specify "
-#~ "the string to search for. You can also select the windows which should be "
-#~ "searched. Searching will always start at the top. Use the \"Find Next\"-"
-#~ "command (F3) to proceed to the next occurance. If you select to search "
-#~ "several windows then the first window will be searched from top to bottom "
-#~ "before the search starts in the next window at the top again, etc."
-#~ msgstr ""
-#~ "È possibile ricercare una stringa in ogni finestra di KDiff3. Il comando "
-#~ "\"Ricerca ...\" (Ctrl-F) nel menu di Modifica apre un dialogo che "
-#~ "permette di specificare la stringa da ricercare. È anche possibile "
-#~ "selezionare la finestra sulla quale fare la ricerca. La ricerca partirà "
-#~ "sempre dall'inizio. Usare il comando \"Ricerca successivo\" (F3) per la "
-#~ "prossima occorrenza. Se decidi di cercare su più finestre allora la "
-#~ "ricerca sarà dall'alto al basso nella prima finestra, poi dall'alto al "
-#~ "basso nella seconda, ecc."
-
-#~ msgid ""
-#~ "Options and the recent-file-list will be saved when you exit the program, "
-#~ "and reloaded when you start it. (Menu Settings->Configure KDiff3 ...)"
-#~ msgstr ""
-#~ "Le opzioni e la lista del file recenti saranno memorizzate all'uscita del "
-#~ "programma, e ricaricate quando verrà avviato. (Menu Impostazioni-"
-#~ ">Configura KDiff3 ...)"
-
-#~ msgid "Font"
-#~ msgstr "Tipo di caratteri"
-
-#~ msgid ""
-#~ "Select a fixed width font. (On some systems this dialog will also present "
-#~ "variable width fonts, but you should not use them.)"
-#~ msgstr ""
-#~ "Seleziona un tipo carattere a larghezza fissa. (in alcuni sistemi questo "
-#~ "dialogo potrebbe presentare anche la selezione della larghezza del font, "
-#~ "ma non è consigliabile usarla.)"
-
-#~ msgid "Usually black."
-#~ msgstr "Normalmente nero."
-
-#~ msgid "Usually white."
-#~ msgstr "Normalmente bianco."
-
-#~ msgid "Usually light gray."
-#~ msgstr "Normalmente grigio chiaro."
-
-#~ msgid "Usually dark blue."
-#~ msgstr "Normalmente blu scuro."
-
-#~ msgid "Usually dark green."
-#~ msgstr "Normalmente verde scuro."
-
-#~ msgid "Usually dark magenta."
-#~ msgstr "Normalmente magenta scuro."
-
-#~ msgid "Usually red."
-#~ msgstr "Normalmente rosso."
-
-#~ msgid "Usually light yellow."
-#~ msgstr "Normalmente giallo chiaro."
-
-#~ msgid "Usually dark yellow."
-#~ msgstr "Normalmente giallo scuro."
-
-#~ msgid ""
-#~ "On systems with only 16 or 256 colors some colors are not available in "
-#~ "pure form. On such systems the \"Defaults\"-button will choose a pure "
-#~ "color."
-#~ msgstr ""
-#~ "Su sistemi con soli 16 o 256 colori alcuni colori non sono disponibile "
-#~ "nella forma originale. In tali sistemi l'opzione \"Predefiniti\" "
-#~ "selezionerà un colore puro."
-
-#~ msgid ""
-#~ "If this is disabled and you press the tabulator key, a tab-character is "
-#~ "inserted, otherwise the appropriate amount of characters is inserted."
-#~ msgstr ""
-#~ "Se questo è disabilitato e viene premuto il tasto di tabulazione, un "
-#~ "carattere tabulatore verrà inserito, altrimenti verranno inseriti un "
-#~ "numero appropriato di caratteri."
-
-#~ msgid "Can be adjusted for your specific needs. Default is 8."
-#~ msgstr "Può essere modificato per le tue necessità. Il predefinito è 8."
-
-#~ msgid ""
-#~ "For displaying foreign characters. Try changing this if some characters "
-#~ "of your language aren't displayed correctly."
-#~ msgstr ""
-#~ "Per la visualizzazione di caratteri stranieri. Provare a cambiare questo "
-#~ "se alcuni caratteri della tua lingua non sono correttamente visualizzati."
-
-#~ msgid ""
-#~ "When comparing files, KDiff3 first it tries to match lines that are equal "
-#~ "in all input files. Only during this step it might ignore white space. "
-#~ "The second step compares each line. In this step white space will not be "
-#~ "ignored. Also during the merge white space will not be ignored."
-#~ msgstr ""
-#~ "Quando si comparano dei file, KDiff3 prima proverà a confrontare le righe "
-#~ "che sono uguali in tutti i file di ingresso. Solo durante questa fase "
-#~ "potrebbe ignorare gli spazi bianchi. La seconda fase confronta ogni riga. "
-#~ "In tale fase gli spazi bianchi non saranno ignorati. Inoltre durante la "
-#~ "fusione gli spazi bianchi non saranno ignorati."
-
-#~ msgid ""
-#~ "Some editors (on some systems) save carriage return '\\r' and linefeed "
-#~ "'\\n'-characters at the end of line, while others will only save the "
-#~ "linefeed '\\n'. Usually KDiff3 ignores the carriage return, but then "
-#~ "files that don't have equal sizes, look equal in side by side comparison. "
-#~ "When this option is on, then the carriage return characters are made "
-#~ "visible but are treated as white space. This option must be off during a "
-#~ "merge. Default is off."
-#~ msgstr ""
-#~ "Alcuni editor (in alcuni sistemi) salvano il ritorno a capo '\\r' e "
-#~ "avanzamento riga '\\n' mentre altri salvano solamente il ritorno a capo "
-#~ "'\\n'. Normalmente KDiff3 ignora il ritorno a capo, ma quando i file non "
-#~ "hanno la stessa dimensione potrebbero comunque risultare uguali dopo una "
-#~ "verifica parallela. Quando l'opzione è abilitata allora il ritorno a capo "
-#~ "è reso visibile ma trattato come uno spazio bianco. Questa opzione deve "
-#~ "essere disattivata durante la fusione. Normalmente disabilitata."
-
-#~ msgid ""
-#~ "Default is off. Number characters ('0'-'9', '.', '-') will be ignored in "
-#~ "the first part of the analysis in which the line matching is done. In the "
-#~ "result the differences will be shown nevertheless, but they are treated "
-#~ "as white space."
-#~ msgstr ""
-#~ "Normalmente disabilitato. I caratteri numerici ('0'-'9','.','-') saranno "
-#~ "ignorati nella prima parte dell'analisi nella quale viene fatta la "
-#~ "verifica delle righe. Nel risultato delle differenze saranno tuttavia "
-#~ "mostrate, ma sono trattate come spazi bianchi."
-
-#~ msgid ""
-#~ "Default is off. Changes in comments will be treated like changes in white "
-#~ "space."
-#~ msgstr ""
-#~ "Normalmente disabilitato. Le variazioni nei commenti saranno trattati "
-#~ "come variazioni degli spazi bianchi."
-
-#~ msgid "Convert to Upper Case:"
-#~ msgstr "Trasforma in maiuscolo:"
-
-#~ msgid ""
-#~ "Default is off. Converts the input to upper case while reading. Hence the "
-#~ "comparison is not case sensitive. Take care during merging because the "
-#~ "case information will be lost in the merge-result too."
-#~ msgstr ""
-#~ "Normalmente disabilitato. Converte l'input in maiuscolo durante la "
-#~ "lettura. Così la comparazione non è sensibile alle maiuscole/minuscole. "
-#~ "Attenzione durante la fusione perché la tale informazione sarà persa "
-#~ "anche durante l'operazione di fusione."
-
-#~ msgid ""
-#~ "When any file is read, it will be piped through this external command. "
-#~ "The output of this command will be visible instead of the original file. "
-#~ "You can write your own preprocessor that fulfills your specific needs. "
-#~ "Use this to cut away disturbing parts of the file, or to automatically "
-#~ "correct the indentation etc."
-#~ msgstr ""
-#~ "Quando un file viene letto, esso sarà inoltrato come ingresso a questo "
-#~ "comando esterno. Il risultato del comando sarà considerato al posto del "
-#~ "file originale. Potrai scrivere il tuo preprocessore per le tue esigenze. "
-#~ "Utilizzalo per tagliare parti di file che disturbano, o per correggere "
-#~ "automaticamente l'indentazione ecc."
-
-#~ msgid ""
-#~ "When any file is read, it will be piped through this external command. If "
-#~ "a preprocessor-command (see above) is also specified, then the output of "
-#~ "the preprocessor is the input of the line-matching preprocessor. The "
-#~ "output will only be used during the line matching phase of the analysis. "
-#~ "You can write your own preprocessor that fulfills your specific needs. "
-#~ "Each input line must have a corresponding output line."
-#~ msgstr ""
-#~ "Quando un file viene letto, esso viene trattato da questo comando "
-#~ "esterno. Se un comando del preprocessore (vedi sopra) viene specificato, "
-#~ "allora l'uscita dal preprocessore è anche l'ingresso del preprocessore di "
-#~ "verifica. Il risultato sarà usato durante la fase di analisi di ricerca "
-#~ "delle linee. Puoi scrivere il tuo preprocessore personalizzato che "
-#~ "risolverà i tuoi casi. Ogni linea di input deve avere un linea "
-#~ "corrispondente in uscita."
-
-#~ msgid "Try Hard:"
-#~ msgstr "Ricerca tenace:"
-
-#~ msgid ""
-#~ "Try hard to find an even smaller delta. (Default is on.) This will "
-#~ "probably be effective for complicated and big files. And slow for very "
-#~ "big files."
-#~ msgstr ""
-#~ "Ricerca approfondita per ricercare la più piccola differenza. "
-#~ "(Normalmente attiva.)  Questo sarà probabilmente utile per file "
-#~ "complicati e lunghi. E lento per file molto lunghi."
-
-#~ msgid ""
-#~ "Automatically solve all white-space conflict by choosing the specified "
-#~ "file. (Default is manual choice.) Useful if white-space really isn't "
-#~ "important in many files. If you need this only occasionally better use "
-#~ "\"Choose A/B/C For All Unsolved Whitespace Conflicts\" in the merge menu. "
-#~ "Note that if you enable either \"Ignore numbers\" or \"Ignore C/C++ "
-#~ "comments\" then this auto-choice also applies for conflicts in numbers or "
-#~ "comments."
-#~ msgstr ""
-#~ "Automaticamente risolve tutti i conflitti di spazi bianchi scegliendo lo "
-#~ "specifico file. (Scelta manuale predefinita.) Utile se lo spazio bianco "
-#~ "non è importante in molti file. Se hai bisogno di questo solo "
-#~ "occasionalmente è meglio usare \"Scegli A/B/C per tutti i conflitti non "
-#~ "risolti di spazio bianco\" nel menu di fusione. Nota che se hai abilitato "
-#~ "l'opzione \"Ignora numeri\" o \"Ignora commenti C/C++\" allora questa "
-#~ "auto selezione verrà applicata anche per i conflitti nei numeri o nei "
-#~ "commenti."
-
-#~ msgid ""
-#~ "These options are concerned with scanning the directory and handling the "
-#~ "merge: See the <link linkend=\"dirmergeoptions\">Directory Comparison/"
-#~ "Merge Docs</link> for details."
-#~ msgstr ""
-#~ "Queste opzioni sono considerate con la scansione delle directory e la "
-#~ "manipolazione della fusione: Vedi <link linkend=\"dirmergeoptions"
-#~ "\">Directory Comparazione/Fusione Documentazione</link> per maggiori "
-#~ "dettagli."
-
-#~ msgid ""
-#~ "Yet there is one option here that is also relevant for saving single "
-#~ "files:"
-#~ msgstr ""
-#~ "Tuttavia qui esiste una opzione che è anche rilevante per il salvataggio "
-#~ "di singoli file:"
-
-#~ msgid ""
-#~ "When a file is saved and an older version already exists, then the "
-#~ "original version will be renamed with an \".orig\" extension. If an old "
-#~ "backup file with \".orig\" extension already exists then this will be "
-#~ "deleted without backup."
-#~ msgstr ""
-#~ "Quando viene salvato un file ed esiste una versione meno recente, la "
-#~ "versione originale sarà rinominata con l'estensione \".orig\". Se già "
-#~ "esiste una versione con estensione \".orig\" questa verrà eliminata senza "
-#~ "una copia di riserva."
-
-#~ msgid "Miscellaneous"
-#~ msgstr "Varie"
-
-#~ msgid "(These options and actions are available in menus or the buttonbar.)"
-#~ msgstr ""
-#~ "(Queste opzioni ed azioni sono disponibile nei menu o nelle barre dei "
-#~ "pulsanti.)"
-
-#~ msgid "You can select if line numbers should be shown for the input files."
-#~ msgstr ""
-#~ "Puoi selezionare se, per il file di ingresso, il numero di riga deve "
-#~ "essere visualizzato."
-
-#~ msgid ""
-#~ "Sometimes the visible spaces and tabs are disturbing. You can turn this "
-#~ "off."
-#~ msgstr ""
-#~ "Alcune volte la visualizzazione degli spazi e dei tabulatori disturba. È "
-#~ "possibile eliminarla."
-
-#~ msgid ""
-#~ "Turn this off to suppress any highlighting of white-space-only changes in "
-#~ "the text or overview-columns. (Note that this also applies to changes in "
-#~ "numbers or comments if the options \"Ignore numbers\" or \"Ignore C/C++ "
-#~ "comments\" are active.)"
-#~ msgstr ""
-#~ "Disabilita questo per sopprimere ogni evidenziazione di spazi bianchi "
-#~ "cambiati nel testo o nelle colonne di sommario. (Nota che questo è anche "
-#~ "applicato a cambiamenti nei numeri o nei commenti se sono attive le "
-#~ "opzioni \"Ignora numeri\" o \"Ignora commenti C/C++\".)"
-
-#~ msgid ""
-#~ "Sometimes you want to use the space on the screen better for long lines. "
-#~ "Hide the windows that are not important. (In the Windows-menu.)"
-#~ msgstr ""
-#~ "Alle volte vuoi usare meglio lo spazio dello schermo per righe lunghe. "
-#~ "Nascondere le finestre che non sono importanti. (Nel menu di Finestra.)"
-
-#~ msgid ""
-#~ "Switch between diff windows shown next to each other (A left of B left of "
-#~ "C) or above each other (A above B above C). This should also help for "
-#~ "long lines. (In the Windows-menu.)"
-#~ msgstr ""
-#~ "Inverti tra la finestra delle differenze e le altre (A a sinistra di B a "
-#~ "sinistra di C) o sopra le altre (A sopra B sopra C). Questo potrebbe "
-#~ "anche aiutare in presenza di molte righe. (Nel menu di Finestra.)"
-
-#~ msgid "Start a merge quickly:"
-#~ msgstr "Avviare velocemente una fusione:"
-
-#~ msgid ""
-#~ "Sometimes you are viewing the deltas and decide to merge. "
-#~ "<inlinemediaobject><imageobject><imagedata fileref=\"merge_current.png\" "
-#~ "format=\"PNG\"/></imageobject></inlinemediaobject> \"Merge current file\" "
-#~ "in the Directory-menu also works if you only compare two files. A single "
-#~ "click starts the merge and uses the filename of the last input-file as "
-#~ "the default output filename. (When this is used to restart a merge, then "
-#~ "the output filename will be preserved.)"
-#~ msgstr ""
-#~ "Alcune volte stai visualizzando le differenze e decidi di fondere. "
-#~ "<inlinemediaobject><imageobject><imagedata fileref=\"merge_current.png\" "
-#~ "format=\"PNG\"/></imageobject></inlinemediaobject> \"Fondi il file "
-#~ "corrente\" nel menu di Directory funziona anche solo comparando due file. "
-#~ "Un solo clic ed inizia la fusione che utilizza, come predefinito, il nome "
-#~ "del file dell'ultimo file considerato. (Quando questo è utilizzato per "
-#~ "far ripartire la fusione, allora il nome del file di output sarà "
-#~ "mantenuto.)"
-
-#~ msgid "Configuring Keyboard-Shortcuts"
-#~ msgstr "Configurazione delle scorciatoie da tastiera"
-
-#~ msgid ""
-#~ "Currently only the KDE-version supports user-configurable keyboard-"
-#~ "shortcuts. (Menu Settings->Configure Shortcuts...)"
-#~ msgstr ""
-#~ "Attualmente solo la versione KDE supporta la configurazione "
-#~ "personalizzata dei tasti scorciatoria. (Menu Impostazioni->Configurazione "
-#~ "Scorciatoie...)"
-
-#~ msgid ""
-#~ "Often programmers must modify many files in a directory to achieve their "
-#~ "purpose. For this KDiff3 also lets you compare and merge complete "
-#~ "directories recursively!"
-#~ msgstr ""
-#~ "Spesso i programmatori devono modificare molti file nelle directory per "
-#~ "realizzare i loro scopi. Per questo KDiff3 permette anche di comparare e "
-#~ "fondere intere directory ricorsivamente!"
-
-#~ msgid ""
-#~ "Even though comparing and merging directories seems to be quite obvious, "
-#~ "there are several details that you should know about. Most important is "
-#~ "of course the fact that now many files might be affected by each "
-#~ "operation. If you don't have backups of your original data, then it can "
-#~ "be very hard or even impossible to return to the original state. So "
-#~ "before starting a merge, make sure that your data is safe, and going back "
-#~ "is possible. If you make an archive or use some version control system is "
-#~ "your decision, but even experienced programmers and integrators need the "
-#~ "old sources now and then. And note that even though I (the author of "
-#~ "KDiff3) try to do my best, I can't guarantee that there are no bugs. "
-#~ "According to the GNU-GPL there is NO WARRANTY whatsoever for this "
-#~ "program. So be humble and always keep in mind:"
-#~ msgstr ""
-#~ "Anche se comparare e fondere le directory sembra abbastanza ovvio, ci "
-#~ "sono molti dettagli che bisogna considerare. Il più importante è il fatto "
-#~ "che ora molti file potrebbero essere coinvolti in ogni operazione. Se non "
-#~ "hai creato copia di riserva dei dati originali, può essere molto "
-#~ "difficile se non impossibile recuperare lo stato originale. Quindi prima "
-#~ "di avviare una fusione assicurati che i tuoi dati siano sicuri e sia "
-#~ "possibile un recupero. Se crei un archivio o usi un sistema di controllo "
-#~ "versioni è una tua decisione, ma anche gli esperti programmatori ed "
-#~ "integratori hanno bisogno dei vecchi sorgenti prima o poi. E nota che "
-#~ "anche se io (autore di KDiff3) cerco di fare del mio meglio, non posso "
-#~ "garantire che non ci siano errori. In accordo con la licenza GNU-GPL NON "
-#~ "CI SONO GARANZIE alcuna per questo programma. Quindi attenzione e "
-#~ "ricordate:"
-
-#~ msgid "To err is human, but to really mess things up you need a computer."
-#~ msgstr ""
-#~ "Errare è umano, ma per incasinare davvero tutto è necessario un computer."
-
-#~ msgid "So this is what this program can do for you: KDiff3 ..."
-#~ msgstr "Questo è quello che questo programma può fare per te: KDiff3 ..."
-
-#~ msgid "... reads and compares two or three directories recursively,"
-#~ msgstr "... legge e compara due o tre directory ricorsivamente,"
-
-#~ msgid "... takes special care of symbolic links,"
-#~ msgstr "... fa particolare attenzione ai file simbolici,"
-
-#~ msgid "... lets you browse files on mouse double click,"
-#~ msgstr "... permette di selezionare i file con un doppio clic del mouse,"
-
-#~ msgid ""
-#~ "... for each item proposes a merge operation, which you can change before "
-#~ "starting the directory merge,"
-#~ msgstr ""
-#~ "... per ogni elemento propone una operazione di fusione, che puoi "
-#~ "cambiare prima di avviare la fusione delle directory,"
-
-#~ msgid ""
-#~ "... lets you simulate the merge and lists the actions that would take "
-#~ "place, without actually doing them,"
-#~ msgstr ""
-#~ "... permette la simulazione della fusione e visualizza le azioni che "
-#~ "dovrebbero essere fatte, senza eseguirle,"
-
-#~ msgid ""
-#~ "... lets you really do the merge, and lets you interact whenever manual "
-#~ "interaction is needed,"
-#~ msgstr ""
-#~ "... permette di fondere, e permette l'intervento manuale quando questo è "
-#~ "necessario,"
-
-#~ msgid ""
-#~ "... lets you run the selected operation for all items (key F7) or the "
-#~ "selected item (key F6),"
-#~ msgstr ""
-#~ "... ti permette di avviare l'operazione selezionata per tutti gli "
-#~ "elementi (tasto F7) o per l'elemento selezionato (tasto F6),"
-
-#~ msgid ""
-#~ "... lets you continue the merge after manual interaction with key F7,"
-#~ msgstr ""
-#~ "... permette di continuare la fusione dopo l'interazione manuale con il "
-#~ "tasto F7,"
-
-#~ msgid "... optionally creates backups, with the \".orig\" extension,"
-#~ msgstr ""
-#~ "... opzionalmente crea una copia di riserva, con l'estensione \".orig\","
-
-#~ msgid ""
-#~ "This is very similar to the single file merge and comparison. You just "
-#~ "have to specify directories on the command line or in the file-open "
-#~ "dialog."
-#~ msgstr ""
-#~ "Questa operazione è molto simile alla comparazione e fusione di un file. "
-#~ "È necessario specificare le directory nella riga di comando o nel dialogo "
-#~ "di selezione file."
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-
-#~ msgid ""
-#~ "If no destination directory is specified, then KDiff3 will use "
-#~ "<replaceable>dir2</replaceable>."
-#~ msgstr ""
-#~ "Se nessuna directory è stata specificata, KDiff3 utilizzerà "
-#~ "<replaceable>dir2</replaceable>."
-
-#~ msgid "Compare/Merge three directories:"
-#~ msgstr "Compara/Fondi tre directory:"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-#~ msgstr ""
-#~ "<command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable>\n"
-#~ "   <command>kdiff3</command> <replaceable>dir1 dir2 dir3</replaceable> -o "
-#~ "<replaceable>destdir</replaceable>"
-
-#~ msgid ""
-#~ "When three directories are merged then <replaceable>dir1</replaceable> is "
-#~ "used as the base for the merge. If no destination directory is specified, "
-#~ "then KDiff3 will use <replaceable>dir3</replaceable> as the destination "
-#~ "directory for the merge."
-#~ msgstr ""
-#~ "Quando tre directory vengono fuse allora <replaceable>dir1</replaceable> "
-#~ "verrà utilizzata come base della fusione. Se nessuna directory di "
-#~ "destinazione è stata specificata, KDiff3 utilizzerà <replaceable>dir3</"
-#~ "replaceable> come directory di destinazione per la fusione."
-
-#~ msgid ""
-#~ "Note that only the comparison starts automatically, not the merge. For "
-#~ "this you first must select a menu entry or the key F7. (More details "
-#~ "later.)"
-#~ msgstr ""
-#~ "Si noti che solamente la comparazione inizia automaticamente, non la "
-#~ "fusione. Per questo tu devi prima selezionare un elemento del menu o il "
-#~ "tasto F7. (Ulteriori dettagli di seguito.)"
-
-#~ msgid ""
-#~ "While reading the directories a message-box appears that informs you of "
-#~ "the progress. If you abort the directory scan, then only files that have "
-#~ "been compared until then will be listed."
-#~ msgstr ""
-#~ "Durante la lettura delle directory un messaggio informativo appare per "
-#~ "notificare lo stato di avanzamento. Se annulli l'operazione di scansione, "
-#~ "solamente i file che sono stati comparati fino a quel momento saranno "
-#~ "riportati."
-
-#~ msgid ""
-#~ "When the directory scan is complete then KDiff3 will show a listbox with "
-#~ "the results left, ..."
-#~ msgstr ""
-#~ "Quando la scansione del directory è stata completata KDiff3 mostra una "
-#~ "lista dei risultati della sinistra, ..."
-
-#~ msgid "... and details about the currently selected item on the right:"
-#~ msgstr ""
-#~ "... ed i dettagli dell'elemento attualmente selezionato sulla destra: "
-
-#~ msgid "The Name Column"
-#~ msgstr "Colonna del nome"
-
-#~ msgid ""
-#~ "Each file and directory that was found during the scan is shown here in a "
-#~ "tree. You can select an item by clicking it with the mouse once."
-#~ msgstr ""
-#~ "Ogni file e directory trovato durante la scansione è mostrato qui in un "
-#~ "albero. Puoi selezionare un elemento facendo clic con il mouse."
-
-#~ msgid ""
-#~ "The directories are collapsed by default. You can expand and collapse "
-#~ "them by clicking on the \"+\"/\"-\" or by double-clicking the item or by "
-#~ "using the left/right-arrow-keys. The \"Directory\"-menu also contains two "
-#~ "actions \"Fold all subdirs\" and \"Unfold all subdirs\" with which you "
-#~ "can collapse or expand all directories at once."
-#~ msgstr ""
-#~ "Normalmente le directory sono collassate. È possibile espanderle e "
-#~ "collassarle con un clic su \"+\"/\"-\" o con un doppio clic sull'elemento "
-#~ "o usando i tasti sinistra/destra. Il menu \"Directory\" contiene inoltre "
-#~ "due azioni \"Chiudi sottodirectory\" e \"Apri sottodirectory\" con le "
-#~ "quali puoi collassare o espandere tutte le directory in una sola volta."
-
-#~ msgid ""
-#~ "If you double-click a file item then the file comparison starts and the "
-#~ "file-diff-window will appear."
-#~ msgstr ""
-#~ "Se fai doppio clic sopra un file allora la comparazione verrà avviata e "
-#~ "apparirà la finestra di verifica file."
-
-#~ msgid ""
-#~ "The image in the name column reflects the file type in the first "
-#~ "directory (\"A\"). It can be one of these:"
-#~ msgstr ""
-#~ "L'immagine nella colonna riflette il tipo di file nella prima directory "
-#~ "(\"A\"). Può essere una di queste:"
-
-#~ msgid "Normal directory (directory-image)"
-#~ msgstr "Directory normale (Immagine della directory)"
-
-#~ msgid "Link to a file (file-image with a link arrow)"
-#~ msgstr ""
-#~ "Collegamento ad un file (Immagine del file con una freccia di "
-#~ "collegamento)"
-
-#~ msgid "Link to a directory (directory-image with a link arrow)"
-#~ msgstr ""
-#~ "Collegamento ad una directory (Immagine della directory con una freccia "
-#~ "di collegamento)"
-
-#~ msgid ""
-#~ "If the file type is different in the other directories, then this is "
-#~ "visible in the columns A/B/C and in the window that shows the details "
-#~ "about the selected item. Note that for such a case no merge operation can "
-#~ "be selected automatically. When starting the merge, then the user will be "
-#~ "informed of problems of that kind."
-#~ msgstr ""
-#~ "Se il tipo di file è diverso nelle altre directory allora questo è "
-#~ "visibile nelle colonne A/B/C e nella finestra che mostra i dettagli "
-#~ "dell'elemento selezionato. Nota che in questo caso nessuna operazione di "
-#~ "fusione potrà essere selezionata automaticamente. Quando la fusione "
-#~ "partirà l'utente sarà informato di questo problema."
-
-#~ msgid "The Columns A/B/C and the Coloring Scheme"
-#~ msgstr "Le colonne A/B/C e lo schema dei colori"
-
-#~ msgid ""
-#~ "As can be seen in the image above the colors red, green, yellow and black "
-#~ "are used in the columns A/B/C."
-#~ msgstr ""
-#~ "Come si può vedere, nell'immagine sopra, i colori rosso, verde, giallo e "
-#~ "nero sono utilizzati nelle colonne A/B/C."
-
-#~ msgid "Green: Newest item."
-#~ msgstr "Verde: Elemento più recente."
-
-#~ msgid "Yellow: Older than green, newer than red."
-#~ msgstr "Giallo: Più vecchio del verde, più recente del rosso."
-
-#~ msgid "Red: Oldest item."
-#~ msgstr "Rosso: Elemento più vecchio."
-
-#~ msgid ""
-#~ "But for items that were identical in the comparison their color also is "
-#~ "identical even if the age is not."
-#~ msgstr ""
-#~ "Ma per gli elementi che erano identici nella comparazione il loro colore "
-#~ "è anche identico anche se l'età non lo è."
-
-#~ msgid ""
-#~ "Directories are considered equal if all items they contain are identical. "
-#~ "Then they also will have the same color. But the age of a directory is "
-#~ "not considered for its color."
-#~ msgstr ""
-#~ "Le directory sono considerate uguali se tutti gli elementi contenuti sono "
-#~ "identici. Essi avranno quindi lo stesso colore. Ma l'età di una directory "
-#~ "non è considerata per il proprio colore."
-
-#~ msgid ""
-#~ "The idea for this coloring scheme I came upon in <ulink url=\"http://"
-#~ "samba.org/cgi-bin/cvsweb/dirdiff\">dirdiff</ulink>. The colors resemble "
-#~ "the colors of a leaf that is green when new, turns yellow later and red "
-#~ "when old."
-#~ msgstr ""
-#~ "L'idea di questo schema di colorazione l'ho avuta da <ulink url=\"http://"
-#~ "samba.org/cgi-bin/cvsweb/dirdiff\">dirdiff</ulink>. I colori sembrano i "
-#~ "colori di un foglio che è verde quando nuovo, diventa giallo "
-#~ "successivamente e rosso quando è vecchio."
-
-#~ msgid ""
-#~ "After comparing the directories KDiff3 also evaluates a proposal for a "
-#~ "merge operation. This is shown in the \"Operation\" column. You can "
-#~ "modify the operation by clicking on the operation you want to change. A "
-#~ "small menu will popup and allows you to select an operation for that "
-#~ "item. (You can also select the most needed operations via keyboard. Ctrl"
-#~ "+1/2/3/4/Del will select A/B/C/Merge/Delete respectively if available.) "
-#~ "This operation will be executed during the merge. It depends on the item "
-#~ "and on the merge-mode you are in, what operations are available. The "
-#~ "merge-mode is one of"
-#~ msgstr ""
-#~ "Dopo la comparazione delle directory KDiff3 valuterà inoltre una proposta "
-#~ "per l'operazione di fusione. Questo è visibile nella colonna \"Operazione"
-#~ "\". È possibile modificare l'operazione facendo clic sopra l'operazione "
-#~ "che desideri cambiare. Apparirà un piccolo menu che permetterà di "
-#~ "selezionare una operazione per quel'elemento. (Puoi anche selezionare le "
-#~ "operazioni necessarie tramite tastiera. Ctrl+1/2/3/4/Del seleziona "
-#~ "rispettivamente, se disponibili, A/B/C/Fondi/Cancella.) Questa operazione "
-#~ "potrà essere eseguita durante la fusione. Dipende dall'elemento e dalla "
-#~ "modalità di fusione in cui ti trovi, quale operazione è disponibile. La "
-#~ "modalità di fusione è una delle"
-
-#~ msgid "Three directory-merge (\"A\" is treated as older base of both)."
-#~ msgstr ""
-#~ "Fusione di tre directory (\"A\" è considerato la base più vecchia di "
-#~ "entrambe)."
-
-#~ msgid "Two directory-merge."
-#~ msgstr "Fusione di due directory."
-
-#~ msgid ""
-#~ "Two directory-sync-mode (activate via option \"Synchronize Directories\")."
-#~ msgstr ""
-#~ "Modalità di sincronizzazione directory (attivabile con l'opzione "
-#~ "\"Sincronizza Directory\")."
-
-#~ msgid ""
-#~ "In three directory merge the operation proposal will be: If for an "
-#~ "item ..."
-#~ msgstr ""
-#~ "Nella fusione di tre directory l'operazione proposta sarà: Se per un "
-#~ "elemento ..."
-
-#~ msgid "... all three directories are equal: Copy from C"
-#~ msgstr "... le tre directory sono uguali: Copia da C"
-
-#~ msgid ""
-#~ "... A and C are equal but B is not: Copy from B (or if B does not exist, "
-#~ "delete the destination if exists)"
-#~ msgstr ""
-#~ "... A e C sono uguali ma B no: Copia da B (o se B non esiste, cancella, "
-#~ "se esiste, la destinazione)"
-
-#~ msgid ""
-#~ "... A and B are equal but C is not: Copy from C (or if C does not exist, "
-#~ "delete the destination if exists)"
-#~ msgstr ""
-#~ "... A e B sono uguali ma C no: Copia da C (o se C non esiste, cancella, "
-#~ "se esiste, la destinazione)"
-
-#~ msgid ""
-#~ "... B and C are equal but A is not: Copy from C (or if C does not exist, "
-#~ "delete the destination if exists)"
-#~ msgstr ""
-#~ "... B e C sono uguali ma A no: Copia da C (o se C non esiste, cancella, "
-#~ "se esiste, la destinazione)"
-
-#~ msgid "... only A exists: Delete the destination (if exists)"
-#~ msgstr "... esiste solo A: Eliminare la destinazione (se esiste)"
-
-#~ msgid "... only B exists: Copy from B"
-#~ msgstr "... esiste solo B: Copia da B"
-
-#~ msgid "... only C exists: Copy from C"
-#~ msgstr "... esiste solo C: Copia da C"
-
-#~ msgid "... A, B and C are not equal: Merge"
-#~ msgstr "... A,B e C non sono uguali: Fusione"
-
-#~ msgid ""
-#~ "... A, B and C don't have the same file type (e.g. A is a directory, B is "
-#~ "a file): \"Error: Conflicting File Types\". While such items exist the "
-#~ "directory merge cannot start."
-#~ msgstr ""
-#~ "... A, B e C non sono dello stesso tipo (es. A è una directory, B è un "
-#~ "file): \"Errore: Conflitto nel tipo di file\". Fino a quando tali "
-#~ "elementi esistono la fusione non può essere avviata."
-
-#~ msgid ""
-#~ "In two directory merge the operation proposal will be: If for an item ..."
-#~ msgstr ""
-#~ "Nella fusione di due directory l'operazione proposta sarà: Se per un "
-#~ "elemento ..."
-
-#~ msgid "... both directories are equal: Copy from B"
-#~ msgstr "... entrambe le directory sono uguali: Copia da B"
-
-#~ msgid "... A exists, but not B: Copy from A"
-#~ msgstr "... A esiste, ma non B: Copia da A"
-
-#~ msgid "... B exists, but not A: Copy from B"
-#~ msgstr "... B esiste, ma non A: Copia da B"
-
-#~ msgid "... A and B exist but are not equal: Merge"
-#~ msgstr "... A e B esistono ma non sono uguali: Fusione"
-
-#~ msgid ""
-#~ "... A and B don't have the same file type (e.g. A is a directory, B is a "
-#~ "file): \"Error: Conflicting File Types\". While such items exist the "
-#~ "directory merge cannot start."
-#~ msgstr ""
-#~ "... A e B non sono dello stesso tipo (es. A è una directory, B è un "
-#~ "file): \"Errore: Conflitto nel tipo di file\". Fino a quando tale "
-#~ "elemento esiste la fusione delle directory non può essere avviata."
-
-#~ msgid ""
-#~ "Sync-mode is active if only two directories and no explicit destination "
-#~ "were specified and if the option \"Synchronize directories\" is active. "
-#~ "KDiff3 then selects a default operation so that both directories are the "
-#~ "same afterwards. If for an item ..."
-#~ msgstr ""
-#~ "La modalità di sincronizzazione è attiva se solo due directory e nessuna "
-#~ "destinazione è stata specificata e se l'opzione \"Sincronizza directory\" "
-#~ "è attiva. KDiff3 selezionerà quindi una operazione predefinita così "
-#~ "entrambe le directory, successivamente, sono uguali. Se per un "
-#~ "elemento ..."
-
-#~ msgid "... both directories are equal: Nothing will be done."
-#~ msgstr "... entrambe le directory sono uguali: Nulla da fare."
-
-#~ msgid "... A exists, but not B: Copy A to B"
-#~ msgstr "... A esiste, ma non B: Copia A su B"
-
-#~ msgid "... B exists, but not A: Copy B to A"
-#~ msgstr "... B esiste, ma non A: Copia B su A"
-
-#~ msgid ""
-#~ "... A and B exist, but are not equal: Merge and store the result in both "
-#~ "directories. (For the user the visible save-filename is B, but then "
-#~ "KDiff3 copies B also to A.)"
-#~ msgstr ""
-#~ "... A e B esistono, ma non sono uguali: Fondi e memorizza il risultato in "
-#~ "entrambe le directory. (...)"
-
-#~ msgid ""
-#~ "When two directories are merged and the option \"Copy newer instead of "
-#~ "merging\" is selected, then KDiff3 looks at the dates and proposes to "
-#~ "choose the newer file. If the files are not equal but have equal dates, "
-#~ "then the operation will contain \"Error: Dates are equal but files are "
-#~ "not.\" While such items exist the directory merge cannot start."
-#~ msgstr ""
-#~ "Se due directory vengono fuse e l'opzione \"Copia il più recente invece "
-#~ "di fondere\" è selezionata, KDiff3 verificherà le date e proporrà di "
-#~ "scegliere il file più recente. Se i file non sono uguali ma hanno data "
-#~ "uguale, il risultato dell'operazione sarà \"Errore: Le date sono uguali "
-#~ "ma i file no.\" Finché esistono file in questa situazione la fusione "
-#~ "delle directory non potrà iniziare."
-
-#~ msgid "The Status Column"
-#~ msgstr "La colonna di stato"
-
-#~ msgid ""
-#~ "During the merge one file after the other will be processed. The status "
-#~ "column will show \"Done\" for items where the merge operation has "
-#~ "succeeded, and other texts if something unexpected happened. When a merge "
-#~ "is complete, then you should make a last check to see if the status for "
-#~ "all items is agreeable."
-#~ msgstr ""
-#~ "Durante la fusione i file saranno processati uno dopo l'altro. La colonna "
-#~ "di stato mostrerà \"Fatto\" per gli elementi correttamente fusi, e altri "
-#~ "messaggi se è accaduto qualcosa di inaspettato. Quando una fusione è "
-#~ "completa, bisognerebbe fare un'ultima verifica per vedere se gli stati di "
-#~ "tutti gli elementi concordano."
-
-#~ msgid ""
-#~ "You can either merge the currently selected item (file or directory), or "
-#~ "all items. When you have made all your operation choices (in all "
-#~ "subdirectories too) then you can start the merge."
-#~ msgstr ""
-#~ "Puoi inoltre fondere l'elemento attualmente selezionato (file o "
-#~ "directory), o tutti gli elementi.Quando hai scelto tutte le tue "
-#~ "operazioni (anche in tutte le sottodirectory) puoi far partire la fusione."
-
-#~ msgid ""
-#~ "Be aware that if you didn't specify a destination directory explicitely, "
-#~ "then the destination will be \"C\" in three directory mode, \"B\" in two "
-#~ "directory merge mode, and in sync-mode it will be \"A\" or/and \"B\"."
-#~ msgstr ""
-#~ "Attenzione che se non viene specificata una directory di destinazione "
-#~ "esplicitamente, allora la destinazione sarà \"C\" nella modalità di tre "
-#~ "directory, \"B\" nella modalità di due directory, e nella modalità di "
-#~ "sincronizzazione sarà \"A\" e/o \"B\"."
-
-#~ msgid ""
-#~ "If you have specified a destination directory also check that all items "
-#~ "that should be in the output, are in the tree. There are some options "
-#~ "that cause certain items to be omitted from the directory comparison and "
-#~ "merge. Check these options to avoid unpleasant surprises:"
-#~ msgstr ""
-#~ "Se è stata specificata la directory di destinazione verificare anche che "
-#~ "tutti gli elementi di output siano anche nell'albero. Ci sono alcune "
-#~ "opzioni che causano l'omissione di certi elementi dalla comparazione e "
-#~ "dalla fusione delle directory. Verifica queste opzioni per non avere "
-#~ "delle brutte sorprese:"
-
-#~ msgid ""
-#~ "\"Recursive Directories\": If this is off, then items in subdirectories "
-#~ "will not be found."
-#~ msgstr ""
-#~ "\"Sottodirectory\": Se disabilitato, gli elementi nelle sottodirectory "
-#~ "non saranno esaminati."
-
-#~ msgid "\"Pattern\"/\"Anti-Pattern\": Include/exclude items that match"
-#~ msgstr ""
-#~ "\"Categorie\"/\"Categorie escluse\": Include/Esclude elementi dalla "
-#~ "verifica"
-
-#~ msgid "\"Exclude Hidden Files\""
-#~ msgstr "\"Escludi file nascosti\""
-
-#~ msgid ""
-#~ "\"List only Deltas\": Files that match in all directories don't appear in "
-#~ "the tree, and hence also not in the destination."
-#~ msgstr ""
-#~ "\"Elenca solo le differenze\": I file verificati in tutte le directory "
-#~ "non appaiono nell'albero, così come anche della destinazione."
-
-#~ msgid ""
-#~ "(In the current version, you must do a rescan via menu \"Directory\"->"
-#~ "\"Rescan\" yourself, after changing options affecting the directory scan.)"
-#~ msgstr ""
-#~ "(Nell'attuale versione devi eseguire manualmente una riscansione tramite "
-#~ "il menu \"Directory\"->\"Riscandisci\" solo dopo aver cambiato le opzioni "
-#~ "che hanno effetto sulla directory scannata.)"
-
-#~ msgid "If you are satisfied so far, the rest is easy."
-#~ msgstr "Se così sei soddisfatto, il resto è facile."
-
-#~ msgid ""
-#~ "To merge all items: Select \"Start/Continue directory merge\" in the "
-#~ "\"Directory\"-menu or press F7 (which is the shortcut). To merge only the "
-#~ "current item: Select \"Run Operation For Current Item\" or press F6."
-#~ msgstr ""
-#~ "Per fondere tutti gli elementi: Seleziona \"Avvia/Continua la fuzione "
-#~ "directory\" nel menu \"Directory\" o premi il tasto F7 (la scorciatoia). "
-#~ "Per fondere solamente l'elemento attualmente selezionato: Seleziona "
-#~ "\"Avvia oprazione per l'elemento corrente\" o premi F6."
-
-#~ msgid ""
-#~ "If due to conflicting filetypes still some items with invalid operations "
-#~ "exist, then a messagebox will appear and these items will be pointed out, "
-#~ "so you can select a valid operation for the item."
-#~ msgstr ""
-#~ "Se per un conflitto nel tipo di file, persiste la non validità "
-#~ "dell'operazione scelta per alcuni file, allora apparirà un messaggio che "
-#~ "indica elementi, in modo che tu possa selezionare un'operazione valida "
-#~ "per essi."
-
-#~ msgid ""
-#~ "If you merge all items a dialog will appear giving you the options \"Do it"
-#~ "\", \"Simulate it\" and \"Cancel\"."
-#~ msgstr ""
-#~ "Se fondi tutti gli elementi allora apparirà un dialogo, proponendoti le "
-#~ "opzioni \"Fallo\", \"Simula\" e \"Annulla\"."
-
-#~ msgid ""
-#~ "Select \"Simulate it\" if you want to see what would be done without "
-#~ "actually doing it. A verbose list of all operations will be shown."
-#~ msgstr ""
-#~ "Seleziona \"Simula\" se vuoi vedere cosa dovrebbe essere fatto senza "
-#~ "effettivamente farlo. Una lista dettagliata di tutte le operazioni sarà "
-#~ "mostrata."
-
-#~ msgid "Otherwise select \"Do it\" to really start merging."
-#~ msgstr "Altrimenti seleziona \"Esegui\" per avviare l'effettiva fusione."
-
-#~ msgid ""
-#~ "Then KDiff3 will run the specified operation for all items. If manual "
-#~ "interaction is required (single file merge), then a merge window will "
-#~ "open (<link linkend=\"dirmergebigscreenshot\">see the big screenshot</"
-#~ "link>)."
-#~ msgstr ""
-#~ "Quindi KDiff3 avvierà l'operazione specifica per tutti gli elementi. Se è "
-#~ "richiesta una interazione manuale (fusione di un singolo file), sarà "
-#~ "aperta la finestra di fusione (<link linkend=\"dirmergebigscreenshot"
-#~ "\">guarda la schermata grande</link>)."
-
-#~ msgid ""
-#~ "When you have finished with a file, again select \"Start/Continue "
-#~ "directory merge\" or the key F7. If you haven't saved yet, a dialog will "
-#~ "ask you to do so. Then KDiff3 will continue with the next item."
-#~ msgstr ""
-#~ "Quando hai finito con il file, seleziona nuovamente \"Avvia/Continua la "
-#~ "fusione di directory\" o il tasto F7. Se non hai ancora salvato, un "
-#~ "dialogo chiederà di farlo. KDiff3 continuerà quindi con il prossimo "
-#~ "elemento."
-
-#~ msgid ""
-#~ "When KDiff3 encounters an error, it will tell you so and will show the "
-#~ "verbose-status-information. At the bottom of this list, there will be "
-#~ "some error messages which should help you to understand the cause of the "
-#~ "problem. When you continue merging (F7 key) KDiff3 will give you the "
-#~ "choice to retry or skip the item that caused the problem. This means that "
-#~ "before continuing you can choose another operation or solve the problem "
-#~ "by other means."
-#~ msgstr ""
-#~ "Quando KDiff3 incontra un errore, avvertirà di questo e mostrerà un "
-#~ "dettagliato stato informativo. Sul fondo di questa lista ci saranno "
-#~ "alcuni messaggi di errore i quali dovrebbero aiutare a capire la causa "
-#~ "del problema. Quando continui con la fusione (tasto F7) KDiff3 ti "
-#~ "chiederà o di riprovare o di trascurare l'elemento che ha causato il "
-#~ "problema.Ciò significa che prima di continuare puoi scegliere un'altra "
-#~ "operazione o risolvere il problema attraverso altri mezzi."
-
-#~ msgid ""
-#~ "When the merge is complete, then KDiff3 will inform you via a message box."
-#~ msgstr ""
-#~ "Quando la fusione è completa, KDiff3 informerà quindi tramite un dialogo "
-#~ "con messaggio."
-
-#~ msgid ""
-#~ "If some items were merged individually then KDiff3 remembers this (while "
-#~ "this merge-session goes on), and doesn't merge them again when later the "
-#~ "merge for all items is run. Even when the merge was skipped or nothing "
-#~ "was saved these items count as completed. Only when you change the merge "
-#~ "operation the item will be merged again."
-#~ msgstr ""
-#~ "Se alcuni elementi sono stati fusi individualmente allora KDiff3 ne terrà "
-#~ "conto (mentre la corrente sessione di fusione avanza) e non li fonderà "
-#~ "nuovamente fino a quando la fusione per tutti gli altri elementi non sarà "
-#~ "eseguita. Anche quando la fusione viene saltata o non è stato salvato "
-#~ "nulla questi elementi sono consederato completati. Solo quando cambi le "
-#~ "operazioni di fusione l'elemento sarà nuovamente fuso."
-
-#~ msgid "Options for Comparing and Merging Directories"
-#~ msgstr "Opzioni per comparare e fondere directory"
-
-#~ msgid ""
-#~ "The KDiff3-preferences (menu \"Settings\"-&gt;\"Configure KDiff3\") now "
-#~ "has a section called \"Directory Merge\" with these options:"
-#~ msgstr ""
-#~ "Le preferenze di KDiff3 (menu\"Impostazioni\"-&gt;\"Configura KDiff3\") "
-#~ "ora ha una sezione chiamata \"Fusione directory\" con queste opzioni:"
-
-#~ msgid ""
-#~ "Only files that match any pattern here will be put in the tree. More than "
-#~ "one pattern may be specified here via using the semicolon \";\" as "
-#~ "separator. Valid wildcards: '*' and '?'. (e.g. \"*.cpp;*.h\"). Default is "
-#~ "\"*\". Directories need not match this pattern."
-#~ msgstr ""
-#~ "Solo i file che corrispondono al tipo saranno messi nell'albero. Più di "
-#~ "un tipo può essere specificato utilizzando il punto e virgona \";\" come "
-#~ "separatore. Wildcards possibile: '*' e '?'. (Es. \"*.cpp;*.h\"). "
-#~ "Predefinito è \"*\". Le directory non hanno bisogni di tali tipi."
-
-#~ msgid ""
-#~ "Files and directories that match this pattern will be excluded from the "
-#~ "tree. More than one pattern may be specified here via using the semicolon "
-#~ "\";\" as separator. Valid wildcards: '*' and '?'. Default is \"*.orig;*.o"
-#~ "\"."
-#~ msgstr ""
-#~ "I file e le sottodirectory che corrispondono a questo tipo saranno "
-#~ "esclusi dall'albero. Più di uno schema potrebbe essere specificato "
-#~ "utilizzando il punto e virgola \";\" come separatore. Wildcards validi: "
-#~ "'*' e '?'. Il predefinito è \"*.orig;*.o\"."
-
-#~ msgid ""
-#~ "Ignore files and directories that would also be ignored by CVS. Many "
-#~ "automatically generated files are ignored by CVS. The big advantage is "
-#~ "that this can be directory specific via a local \".cvsignore\"-file. (See "
-#~ "<ulink url=\"info:/cvs/cvsignore\">info:/cvs/cvsignore</ulink>.)"
-#~ msgstr ""
-#~ "Ignora i file e le directory dovrebbero essere ignorate anche dal CVS. "
-#~ "Molti file generati automaticamente sono ignorati dal CVS. Il grosso "
-#~ "vantaggio è che questo può essere una directory specificata dal file "
-#~ "locale \".cvsignore\". (Vedi <ulink url=\"info:/cvs/cvsignore\">info:/cvs/"
-#~ "cvsignore</ulink>.)"
-
-#~ msgid ""
-#~ "On some filesystems files have an \"Hidden\"-attribute. On other systems "
-#~ "a filename starting with a dot \".\" causes it to be hidden. This option "
-#~ "allows you to decide whether to include these files in the tree or not. "
-#~ "Default is on."
-#~ msgstr ""
-#~ "Su alcuni filesystem esiste l'attributo \"Nascosto\". Su altri sistemi il "
-#~ "nome del file inizia con il punto \".\" che significa nascosto. Questa "
-#~ "opzione permette di decidere se includere questi file nell'albero oppure "
-#~ "no. Normalmente attivo."
-
-#~ msgid ""
-#~ "For links to files: When disabled, then the symbolic links are compared. "
-#~ "When enabled, then the files behind the links are compared. Default is "
-#~ "off."
-#~ msgstr ""
-#~ "Per collegamenti a file: Quando disabilitato, il collegamenti simbolici "
-#~ "verranno comparati. Quando abilitati, quindi i file collegati saranno "
-#~ "comparati. Normalmente disabilitato."
-
-#~ msgid ""
-#~ "For links to directories: When disabled, then the symbolic links will be "
-#~ "compared. When enabled then the link will be treated like a directory and "
-#~ "it will be scanned recursively. (Note that the program doesn't check if "
-#~ "the link is \"recursive\". So for example a directory that contains a "
-#~ "link to the directory would cause an infinite loop, and after some time "
-#~ "when the stack overflows or all memory is used up, crash the program.) "
-#~ "Default is off."
-#~ msgstr ""
-#~ "Per collegamenti a directory: Quando disabilitato, i collegamenti "
-#~ "simbolici saranno comparati. Quando attivo i collegamenti saranno "
-#~ "trattati come una directory e saranno scannate ricorsivamente. (Notare "
-#~ "che il programma non verifica se il collegamento è \"ricorsivo\". Quando "
-#~ "per esempio una che contiene un collegamento ad una directory dovrebbe "
-#~ "causare un ciclo infinito, e dopo un po' di tempo ciò causerebbe un "
-#~ "riempimento dello stack o l'utilizzo di tutta la memoria, causando il "
-#~ "blocco del programma.) Normalmente disabilitato."
-
-#~ msgid ""
-#~ "Only items that are not equal in all input directories will be listed and "
-#~ "only the changed files are visible. Hence files that are equal in all "
-#~ "directories won't be copied during a merge and if the destination dir "
-#~ "does not contain the files before the merge, you might miss some files "
-#~ "later. (This option is likely to be changed in a later version.) Default "
-#~ "is off."
-#~ msgstr ""
-#~ "Solo gli elementi che non sono uguali in tutte le directory di ingresso "
-#~ "saranno elencate e solo e file cambiati sono visibili. Quindi i file che "
-#~ "sono uguali in tutte le directory non dovrebbero essere copiati durante "
-#~ "una fusione e se la directory di destinazione non contiene il file prima "
-#~ "della fusione, potresti perdere alcuni file successivamente. (Questa "
-#~ "opzione è probabilmente diversa nelle future versioni.) Normalmente "
-#~ "disattiva."
-
-#~ msgid ""
-#~ "If you compare big directories over a slow network, it might be faster to "
-#~ "compare the modification dates and file length alone. But this speed "
-#~ "improvement comes with the price of a little uncertainty. Use this option "
-#~ "with care. Default is off."
-#~ msgstr ""
-#~ "Se si comparano directory lunghe in una rete lenta, potrebbe essere più "
-#~ "veloce comparare solamente le date di modifica e la dimensione del file. "
-#~ "Ma questo aumento di velocità ha il prezzo di un piccola incertezza. "
-#~ "Usare questa opzione con cura. Normalmente disattiva."
-
-#~ msgid ""
-#~ "Similar to trusting the modification date. No real comparison happens. "
-#~ "Two files are considered equal if their file-sizes are equal. This is "
-#~ "useful when the file-copy operation didn't preserve the modification "
-#~ "date. Use this option with care. Default is off."
-#~ msgstr ""
-#~ "Simile a considerare la data di modifica. Non avviene una reale "
-#~ "comparazione. Due file sono considerati uguali se la loro dimensione "
-#~ "risulta uguale. Questo è utile quando l'operazione di copia file non ha "
-#~ "mantenuto la data di modifica. Usa questa opzione con cautela. "
-#~ "Normalmente disabilitata."
-
-#~ msgid ""
-#~ "Activates \"Sync-Mode\" when two directories are compared and no explicit "
-#~ "destination directory was specified. In this mode the proposed operations "
-#~ "will be chosen so that both source directories are equal afterwards. Also "
-#~ "the merge result will be written to both directories. Default is off."
-#~ msgstr ""
-#~ "Attiva la modalità \"Sincronizza\" quanto vengono comparate due directory "
-#~ "e non è stata indicata la directory di destinazione. In questa modalità "
-#~ "le operazioni proposte saranno scelte in modo che entrambe le directory "
-#~ "sorgenti sono uguali successivamente. Anche il risultato di fusione sarà "
-#~ "scritto in entrambe le directory. Normalmente disabilitato."
-
-#~ msgid ""
-#~ "Instead of merging the proposed operation will copy the newer source if "
-#~ "changes happened. (Considered unsafe, because it implies that the "
-#~ "knowledge, that the other file hasn't been edited too. Check to make sure "
-#~ "in every case.) Default is off."
-#~ msgstr ""
-#~ "Invece di fondere l'operazione proposta copierà il sorgente più recente "
-#~ "se appena cambiato. (Considerato pericoloso, perché ciò implica la "
-#~ "conoscenza, che gli altri file non siano stati ancora modificati. "
-#~ "Verifica in ogni caso per essere sicuro.) Normalmente disattivata."
-
-#~ msgid ""
-#~ "If a file or complete directory is replaced by another or is deleted then "
-#~ "the original version will be renamed with an \".orig\" extension. If an "
-#~ "old backup file with \".orig\" extension already exists then this will be "
-#~ "deleted without backup. This also affects the normal merging of single "
-#~ "files, not only in directory-merge mode. Default is on."
-#~ msgstr ""
-#~ "Se un file o una intera directory è sostituita con un'altra o è "
-#~ "cancellata la versione originale sarà rinominata con l'estensione \".orig"
-#~ "\". Se una vecchia copia con estensione \".orig\" esiste già allora "
-#~ "questa sarà eliminata senza copia. Questo inoltre interessa la normale "
-#~ "fusione di singoli file, non solo nella fusione di directory. Normalmente "
-#~ "attivo."
-
-#~ msgid "Other Functions"
-#~ msgstr "Altre funzioni"
-
-#~ msgid "Split/Full Screen Mode"
-#~ msgstr "Schermo intero/diviso"
-
-#~ msgid ""
-#~ "Usually the directory merge list view remains visible while a single file "
-#~ "is compared or merged. With the mouse you can move the the splitter bar "
-#~ "that separates the file list from the text-diff windows. If you don't "
-#~ "want this, you can disable \"Split Screen View\" in the \"Directory\"-"
-#~ "menu. Then you can use \"Toggle View\" in the \"Directory\"-menu to "
-#~ "switch between the file list and the text-diff view that then occupy the "
-#~ "full screen."
-#~ msgstr ""
-#~ "Normalmente la lista di visualizzazione della fusione delle directory "
-#~ "rimane visibile fino il file è comparato e fuso. Con il mouse puoi "
-#~ "muovere la barra di divisione che separa la lista dei file dalla finestra "
-#~ "di verifica. Se non vuoi questo puoi disabilitare l'opzione \"Mostra lo "
-#~ "schermo diviso\" nel menu \"Directory\". Sarà quindi possibile usare "
-#~ "\"Inverti vista\" nel menu \"Directory\" per invertire tra la lista di "
-#~ "file e la visualizzazione delle differenze che quindi occuperà tutto lo "
-#~ "schermo."
-
-#~ msgid "Comparing or Merging a Single File"
-#~ msgstr "Comparare o fondere un singolo file"
-
-#~ msgid ""
-#~ "Probably you will prefer a simple double mouse click on a file in order "
-#~ "to compare it. Nevertheless there also exists an entry in the \"Directory"
-#~ "\"-menu. You can also directly merge a single file, without starting the "
-#~ "directory merge via the \"Merge single file\" in the \"Directory\"-Menu. "
-#~ "On saving the result, the status will be set to done, and the file will "
-#~ "not be merged again if a directory merge is started."
-#~ msgstr ""
-#~ "Probabilmente preferiresti un semplice doppio clic del mouse sul file in "
-#~ "questione per compararlo. Tuttavia esiste anche una voce nel menu "
-#~ "\"Directory\". È possibile anche fondere direttamente un singolo file, "
-#~ "senza avviare l'operazione di fusione directory tramite \"Fondi singolo "
-#~ "file\" nel menu \"Directory\". Successivamente al salvataggio lo stato "
-#~ "sarà impostato a fatto e il file non sarà nuovamente fuso se una fusione "
-#~ "di directory è avviata."
-
-#~ msgid ""
-#~ "But note that this status information will be lost when you rerun a "
-#~ "directory scan: \"Directory\"-menu: \"Rescan\""
-#~ msgstr ""
-#~ "Ma notare che queste informazioni di stato saranno perse quando si "
-#~ "ritorna alla directory scandita: menu \"Directory\": \"Riscandire\""
-
-#~ msgid "Miscellaneous Topics"
-#~ msgstr "Argomenti vari"
-
-#~ msgid "Networktransparency via KIO"
-#~ msgstr "Trasparenza di rete con KIO"
-
-#~ msgid "KIO-Slaves"
-#~ msgstr "Gli slave KIO"
-
-#~ msgid ""
-#~ "KDE supports networktransparency via KIO-slaves. KDiff3 uses this for "
-#~ "reading input files and for scanning directories. This means that you can "
-#~ "specify files and directories on local and remote ressources via URLs."
-#~ msgstr ""
-#~ "KDE supporta la trasparenza di rete tramite gli slave KIO. KDiff3 "
-#~ "utilizza questo metodo per leggere i file in ingresso e per la scansione "
-#~ "delle directory. Questo significa che è possibile specificare file e "
-#~ "directory in locale o in remoto tramite URL."
-
-#~ msgid "Example:"
-#~ msgstr "Esempio:"
-
-#~ msgid ""
-#~ "<command>kdiff3</command> test.cpp  ftp://ftp.faraway.org/test.cpp\n"
-#~ "   <command>kdiff3</command> tar:/home/hacker/archive.tar.gz/dir ./dir"
-#~ msgstr ""
-#~ "<command>kdiff3</command> test.cpp  ftp://ftp.faraway.org/test.cpp\n"
-#~ "   <command>kdiff3</command> tar:/home/hacker/archive.tar.gz/dir ./dir"
-
-#~ msgid ""
-#~ "The first line compares a local file with a file on an FTP-server. The "
-#~ "second line compares a directory within an compressed archive with a "
-#~ "local directory."
-#~ msgstr ""
-#~ "La prima linea compara un file locale con un file su un server FTP. La "
-#~ "seconda linea compara una directory all'interno di un un archivio "
-#~ "compresso con una directory locale."
-
-#~ msgid "Other KIO-slaves that are interesting are:"
-#~ msgstr "Altri slave KIO interessanti sono:"
-
-#~ msgid "Files from the WWW (http:),"
-#~ msgstr "File da WWW (http:),"
-
-#~ msgid "Files from the FTP (ftp:),"
-#~ msgstr "File da FTP (ftp:),"
-
-#~ msgid "Encrypted file transfer (fish:, sftp:),"
-#~ msgstr "Trasferimento file crittografato (fish:, sftp:),"
-
-#~ msgid "Windows-ressources (smb:),"
-#~ msgstr "Windows-ressources (smb:),"
-
-#~ msgid "Local files (file:),"
-#~ msgstr "File locali (file:),"
-
-#~ msgid "Other things that are possible, but probably less useful are:"
-#~ msgstr "Altre cose che sono possibili, ma probabilmente meno utili sono:"
-
-#~ msgid "Man-pages (man:),"
-#~ msgstr "Man-pages (man:),"
-
-#~ msgid "Info-pages (info:),"
-#~ msgstr "Info-pages (info:),"
-
-#~ msgid "How To Write URLs"
-#~ msgstr "Come scrivere gli URL"
-
-#~ msgid ""
-#~ "An URL has a different syntax compared with paths for local files and "
-#~ "directories. Some things should be considered:"
-#~ msgstr ""
-#~ "Un URL ha una sintassi diversa se comparata con un percorso per i file e "
-#~ "le directory locali. Dovrebbe essere considerate alcune cose:"
-
-#~ msgid ""
-#~ "A path can be relative and can contain \".\" or \"..\". This is not "
-#~ "possible for URLs which are always absolute."
-#~ msgstr ""
-#~ "Un percorso può essere relativo e può contenere \".\" o \"..\". Quando "
-#~ "non è possibile con URL che sono sempre assoluti."
-
-#~ msgid ""
-#~ "Special characters must be written with \"escaping\". (\"#\"->\"%23\", "
-#~ "space->\"%20\", etc.) E.g. A file with the name \"/#foo#\" would have the "
-#~ "URL \"file:/%23foo%23\"."
-#~ msgstr ""
-#~ "I caratteri speciali devono essere scritti con l'\"escaping\". (\"#\"->\"%"
-#~ "23\", spazio->\"%20\", ecc.) Es. Un file con nome \"/#foo#\" dovrebbe "
-#~ "avere l'URL \"file:/%23foo%23\"."
-
-#~ msgid ""
-#~ "When URLs don't work as expected, try to open them in Konqueror first."
-#~ msgstr ""
-#~ "Quando un URL non funziona come ci si aspettava, prova ad aprirlo prima "
-#~ "con Konqueror."
-
-#~ msgid "Capabilities of KIO-Slaves"
-#~ msgstr "Possibilità di KIO-Slaves"
-
-#~ msgid ""
-#~ "Networktransparency has one drawback: Not all ressources have the same "
-#~ "cababilities."
-#~ msgstr ""
-#~ "La trasparenza della rete ha uno svantaggio. Non tutte le risorse hanno "
-#~ "le stesse possibilità."
-
-#~ msgid ""
-#~ "Sometimes this is due to the filesystem of the server, sometimes due to "
-#~ "the protocol. Here is a short list of restrictions:"
-#~ msgstr ""
-#~ "Alcune volte questo è causato dal filesystem del server, altre volte dal "
-#~ "protocollo. Di seguito una breve lista delle limitazioni:"
-
-#~ msgid "Sometimes there is no support for links."
-#~ msgstr "Alcune volte i collegamenti non sono supportati."
-
-#~ msgid ""
-#~ "Or there is no way to distinguish if a link points to a file or a "
-#~ "directory; always assuming a file. (ftp:, sftp:)."
-#~ msgstr ""
-#~ "O non c'è modo di distinguere se il collegamento punti ad un file o ad "
-#~ "una directory; spesso si assume a file. (ftp:, sftp:)."
-
-#~ msgid "Can't always determine the filesize."
-#~ msgstr "Dimensione del file non sempre determinabile."
-
-#~ msgid "Limited support for permissions."
-#~ msgstr "Supporto limitato per permessi."
-
-#~ msgid ""
-#~ "No possibility to modify permissions or modification time, so permissions "
-#~ "or time of a copy will differ from the original. (See the option \"Trust "
-#~ "the size\".) (Only possible for local files.)"
-#~ msgstr ""
-#~ "Non è possibile modificare permessi o date di modifica, altrimenti i "
-#~ "permessi e la data della copia sarebbero diversi dall'originale. (Vedere "
-#~ "l'opzione \"Basati sulla dimensione\".) (L'operazione è permessa "
-#~ "solamente per i file locali.)"
-
-#~ msgid "Using &kdiff3; as a KPart"
-#~ msgstr "Usare &kdiff3; come un KPart"
-
-#~ msgid ""
-#~ "&kdiff3; is a KPart. Currently it implements the KParts::ReadOnlyPart-"
-#~ "interface."
-#~ msgstr ""
-#~ "&kdiff3; è un KPart. Attualmente esso implementa l'interfacciaKParts::"
-#~ "ReadOnlyPart."
-
-#~ msgid ""
-#~ "It's main use is as difference-viewer in KDevelop. KDevelop always starts "
-#~ "the internal difference viewer first. To invoke KDiff3 press the right "
-#~ "mouse button on the difference viewer window and select \"Show in "
-#~ "KDiff3Part\" from the contextmenu."
-#~ msgstr ""
-#~ "In KDevelop l'uso principale è come visualizzatore di differenze. "
-#~ "KDevelop fa sempre partire prima il visualizzatore delle differenze "
-#~ "interno. Per richiamare KDiff3 premi il tasto destro del mouse nella "
-#~ "finestra delle differenze e seleziona \"Mostra nel KDiff3Part\" dal menu "
-#~ "contestuale."
-
-#~ msgid ""
-#~ "KDiff3 normally requires two complete files as input. When used as part "
-#~ "KDiff3 will assume that the inputfile is a patch-file in the unified "
-#~ "format. KDiff3 then retrieves the original filenames from the patch-file. "
-#~ "At least one of the two files must be available. KDiff3 will then invoke "
-#~ "<command>patch</command> to recreate the second file."
-#~ msgstr ""
-#~ "KDiff3 richiede normalmente due file completi in ingresso. Quando usato "
-#~ "come componente KDiff3 assumerà che il file di input sia un file di patch "
-#~ "con un formato indefinito. KDiff3 recupererà il nome del file originale "
-#~ "dal file patch. Almeno uno dei due file deve essere disponibile. KDiff3 "
-#~ "invocherà quindi <command>patch</command> per ricreare il secondo file."
-
-#~ msgid ""
-#~ "In Konqueror you can select a patch-file and select \"Preview in\"-"
-#~ "\"KDiff3Part\" from the contextmenu. Be aware that this won't work if "
-#~ "none of the original files are available, and it is not reliable if the "
-#~ "original file(s) have changed since the patch-file was generated."
-#~ msgstr ""
-#~ "In Konqueror puoi selezionare un file di patch e selezionare dal menu "
-#~ "contestuale \"Preview in\"-\"KDiff3Part\". Attenzione che questo non "
-#~ "funzionerà se nessun file originale è disponibile e non è sicuro se i "
-#~ "file originali sono stati modificati prima della generazione del file di "
-#~ "patch."
-
-#~ msgid ""
-#~ "When run as a part KDiff3 only provides the a two-file-diff, a very small "
-#~ "toolbar and menu. Merging or directory-comparison are not supported then."
-#~ msgstr ""
-#~ "Quando avviato come componente KDiff3 ha due finestre di comparazione e "
-#~ "una piccola barra degli strumenti e un piccolo menu. La fusione o la "
-#~ "comparazione delle directory non sono quindi supportate."
-
-#~ msgid "Questions and Answers"
-#~ msgstr "Domande e risposte"
-
-#~ msgid "&reporting.bugs; &updating.documentation;"
-#~ msgstr "&reporting.bugs; &updating.documentation;"
-
-#~ msgid "Why is it called \"KDiff3\"?"
-#~ msgstr "Perché il nome \"KDiff3\"?"
-
-#~ msgid ""
-#~ "Tools named \"KDiff\" and \"KDiff2\" (now called \"Kompare\") already "
-#~ "exist. Also \"KDiff3\" should suggest that it can merge like the \"diff3"
-#~ "\"-tool in the Diff-Tool collection."
-#~ msgstr ""
-#~ "Gli strumenti \"KDiff\" e \"KDiff2\" (ora \"Kompare\") esistono già. "
-#~ "Inoltre \"KDiff3\" dovrebbe suggerire che può fondere come il programma "
-#~ "\"diff3\" presente nella collezione Diff-Tool."
-
-#~ msgid "Why did I release it under GPL?"
-#~ msgstr "Perché ho registrato sotto GPL?"
-
-#~ msgid ""
-#~ "I'm using GPL programs for a very long time now and learned very much by "
-#~ "having a look at many of the sources. Hence this is my \"Thank You\" to "
-#~ "all programmers that also did so or will do the same."
-#~ msgstr ""
-#~ "Utilizzando programmi GPL da molto tempo ed ho imparato molto guardando "
-#~ "altri sorgenti. Così questo è il mio \"Grazie\" a tutti i programmatori "
-#~ "che a loro volta hanno fatto lo stesso."
-
-#~ msgid "Some buttons and functions are missing. What's wrong?"
-#~ msgstr "Mancano alcuni pulsanti e funzioni. Cos'è errato?"
-
-#~ msgid ""
-#~ "You compiled from source but you probably didn't specify the correct KDE-"
-#~ "prefix with configure. By default configure wants to install in /usr/"
-#~ "local but then KDE can't find the user-interface ressource file (i.e. "
-#~ "kdiff3ui.rc). The README-file contains more information about the correct "
-#~ "prefix."
-#~ msgstr ""
-#~ "Si sta compilando dai sorgenti, ma probabilmente non è stato "
-#~ "correttamente specificato KDE-prefix con configure. Se non specificato "
-#~ "configure installerà in usr/local, ma in questa maniera KDE non potrà "
-#~ "trovare il file delle informazioni di risorse dell'interfaccia utente "
-#~ "(es: kdiff3ui.rc).Il file README contiene molte informazioni su come "
-#~ "correggere il prefisso."
-
-#~ msgid ""
-#~ "Often lines that are similar but not identical appear next to each other "
-#~ "but sometimes not. Why?"
-#~ msgstr ""
-#~ "Spesso le righe che sono simili ma non uguali appaiono dopo le altre ma "
-#~ "alcune volte no. Perché?"
-
-#~ msgid ""
-#~ "Lines where only the amount of white space characters is different are "
-#~ "treated as \"equal\" at first, while just one different non-white "
-#~ "character causes the lines to be \"different\". If similar lines appear "
-#~ "next to each other, this actually is coincidence but this fortunately is "
-#~ "often the case."
-#~ msgstr ""
-#~ "Le righe che presentano differenze per soli spazi bianchi sono trattate "
-#~ "inizialmente come \"uguali\", mentre altre differenze porteranno al "
-#~ "risultato di righe \"differenti\". Se righe simili appaiono dopo delle "
-#~ "altre è una coincidenza ma questo fortunatamente è spesso il caso."
-
-#~ msgid ""
-#~ "For each equal or different section the editor in the merge result window "
-#~ "remembers where it begins or ends. This is needed so that conflicts can "
-#~ "be solved manually by simply selecting the source button (A, B or C). "
-#~ "This information is lost while saving as text and it is too much effort "
-#~ "to create a special file format that supports saving and restoring all "
-#~ "necessary information."
-#~ msgstr ""
-#~ "Per ogni sezione diversa o uguale l'editor, nella finestra del risultato "
-#~ "di fusione, ricorda dove queste iniziano e finiscono. Questo è necessario "
-#~ "in quanto i conflitti possono essere risolti manualmente semplicemente "
-#~ "selezionando il pulsante del sorgente (A/B o C). Questa informazione "
-#~ "saranno perse successivamente al salvataggio del testo in quanto è troppo "
-#~ "oneroso creare un file specializzato al mantenimento di tutte le "
-#~ "informazioni per il ripristino."
-
-#~ msgid ""
-#~ "Why does the editor in the merge result window not have an \"undo\"-"
-#~ "function?"
-#~ msgstr ""
-#~ "Perché l'editor nella finestra del risultato di fusione non presenta la "
-#~ "funzione di annulla modifica?"
-
-#~ msgid ""
-#~ "This was too much effort until now. You can always restore a version from "
-#~ "one source (A, B or C) by clicking the respective button. For big editing "
-#~ "the use of another editor is recommended anyway."
-#~ msgstr ""
-#~ "Questa funzione richiedeva troppo sforzo. È sempre possibile ripristinare "
-#~ "la versione facendo clic il pulsante rispettivo (A/B o C)."
-
-#~ msgid ""
-#~ "When I removed some text, then suddenly \"&lt;No src line&gt;\" appeared "
-#~ "and can't be deleted. What does that mean and how can one remove this?"
-#~ msgstr ""
-#~ "Quando rimuovo parte del testo, appare improvvisamente \"&lt;No src "
-#~ "line&gt;\" e non può essere eliminato. Cosa significa e come può essere "
-#~ "rimosso?"
-
-#~ msgid ""
-#~ "For each equal or different section the editor in the merge result window "
-#~ "remembers where it begins or ends. \"&lt;No src line&gt;\" means that "
-#~ "there is nothing left in a section, not even a new line character. This "
-#~ "can happen either while merging automatically or by editing. This is no "
-#~ "problem, since this hint won't appear in the saved file. If you want the "
-#~ "orignal source back just select the section (click on the left summary "
-#~ "column) and then click the source button with the needed contents (A/B or "
-#~ "C)."
-#~ msgstr ""
-#~ "Per ogni sezione diversa o uguale l'editor, nella finestra di risultato "
-#~ "della fusione, ricorda dove inizia e dove finisce. \"&lt;No src line&gt;"
-#~ "\"significa che non è rimasto nulla nella sezione, nemmeno un carattere "
-#~ "di nuova riga. Questo può capitare sia nella fusione automatica che in "
-#~ "quella manuale. Questo non è un problema, poiché non apparirà nel file "
-#~ "salvato. Se vuoi tornare al file originale è sufficiente selezionare la "
-#~ "sezione (fai un clic sulla colonna di sommario con il tasto sinistro del "
-#~ "mouse) quindi fai clic sul pulsante del sorgente con il contenuto voluto "
-#~ "(A/B e C)."
-
-#~ msgid "Why doesn't KDiff3 support syntax-highlighting?"
-#~ msgstr "Perché KDiff3 non supporta l'evidenziazione della sintassi?"
-
-#~ msgid ""
-#~ "KDiff3 already uses many colors for difference highlighting. More "
-#~ "highlighting would be confusing. Use another editor for this."
-#~ msgstr ""
-#~ "KDiff3 già usa molti colori per le differenti evidenziazioni e molte di "
-#~ "queste potrebbero essere confuse. Per questi scopi usa un altro editor."
-
-#~ msgid ""
-#~ "There is so much information here, but your question is still not "
-#~ "answered?"
-#~ msgstr ""
-#~ "Qui si possono trovare molte informazioni, ma la tua domanda non ha "
-#~ "ancora una risposta?"
-
-#~ msgid "Please send me your question. I appreciate every comment."
-#~ msgstr ""
-#~ "Sei pregato di inviarmi le tue domanda. Ogni commento sarà apprezzato."
-
-#~ msgid "Credits and License"
-#~ msgstr "Riconoscimenti e Licenza"
-
-#~ msgid "&kdiff3; - File and Directory Comparison and Merge Tool"
-#~ msgstr "&kdiff3; - Strumento per comparare e fondere file e directory"
-
-#~ msgid ""
-#~ "Program copyright 2002-2003 Joachim Eibl <email>joachim.eibl@gmx.de</"
-#~ "email>"
-#~ msgstr ""
-#~ "Program copyright 2002-2003 Joachim Eibl <email>joachim.eibl@gmx.de</"
-#~ "email>"
-
-#~ msgid ""
-#~ "Several cool ideas and bugreports came from colleagues and many people "
-#~ "out in the Wild Wild Web. Thank you!"
-#~ msgstr ""
-#~ "Sono ben accette nuove idee e segnalazioni di errori da collegli e da "
-#~ "tutte le persone della grande rete WWW. Grazie!"
-
-#~ msgid ""
-#~ "Documentation Copyright &copy; 2002-2003 Joachim Eibl <email>joachim."
-#~ "eibl@gmx.de</email>"
-#~ msgstr ""
-#~ "Copyright della documentazione &copy; 2002-2003 Joachim Eibl "
-#~ "<email>joachim.eibl@gmx.de</email>"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr ""
-#~ "<para>Traduzione Stelvio Rosset <email>srosset@satelgroup.net</email></"
-#~ "para><para>Correzione della traduzione Stelvio Rosset "
-#~ "<email>srosset@satelgroup.net</email></para>"
-
-#~ msgid "&underFDL; &underGPL;"
-#~ msgstr "&underFDL; &underGPL;"
-
-#~ msgid "Installation"
-#~ msgstr "Installazione"
-
-#~ msgid "How to obtain &kdiff3;"
-#~ msgstr "Come procurarsi &kdiff3;"
-
-#~ msgid ""
-#~ "You can download the latest version of KDiff3 from its homepage <ulink "
-#~ "url=\"http://kdiff3.sourceforge.net\">http://kdiff3.sourceforge.net</"
-#~ "ulink>."
-#~ msgstr ""
-#~ "È possibile scaricare la versione più recente di KDiff3 da <ulink url="
-#~ "\"http://kdiff3.sourceforge.net\">http://kdiff3.sourceforge.net</ulink>."
-
-#~ msgid ""
-#~ "KDiff3 is also available for other platforms. See the homepage for "
-#~ "details."
-#~ msgstr ""
-#~ "KDiff3 è disponibile anche per altre piattaforme. Per maggiori dettagli "
-#~ "consultare la homepage."
-
-#~ msgid "Requirements"
-#~ msgstr "Requisiti"
-
-#~ msgid ""
-#~ "In order to successfully use all features of &kdiff3;, you need &kde; "
-#~ ">3.1. The diff-tool from the <ulink url=\"http://www.gnu.org/software/"
-#~ "diffutils/diffutils.html\">GNU-diff-utils</ulink> is recommended for best "
-#~ "results."
-#~ msgstr ""
-#~ "Per utilizzare al meglio tutte le funzionalità di &kdiff3; è necessario "
-#~ "una versione di &kde; superiore alla 3.1. È raccomandato l'utilizzo degli "
-#~ "strumenti di verifica dei file (diff-tool) scaricabili dal sito <ulink "
-#~ "url=\"http://www.gnu.org/software/diffutils/diffutils.html\">GNU-diff-"
-#~ "utils</ulink>."
-
-#~ msgid ""
-#~ "For information about how to run KDiff3 on other platforms without KDE "
-#~ "please see the <ulink url=\"http://kdiff3.sourceforge.net\">homepage</"
-#~ "ulink>."
-#~ msgstr ""
-#~ "Per informazioni riguardanti KDiff3 su altre piattaforme sprovviste di "
-#~ "KDE si rimanda a <ulink url=\"http://kdiff3.sourceforge.net\">homepage</"
-#~ "ulink>."
-
-#~ msgid ""
-#~ "You can find a list of changes at <ulink url=\"http://kdiff3.sourceforge."
-#~ "net/ChangeLog\">http://kdiff3.sourceforge.net/ChangeLog</ulink> or in the "
-#~ "\"ChangeLog\"-file of the source package."
-#~ msgstr ""
-#~ "La lista dei cambiamenti la puoi trovare sul sito <ulink url=\"http://"
-#~ "kdiff3.sourceforge.net/ChangeLog\">http://kdiff3.sourceforge.net/"
-#~ "ChangeLog</ulink> oppure nel file \"ChangeLog\" del pacchetto dei "
-#~ "sorgenti."
-
-#~ msgid "Compilation and Installation"
-#~ msgstr "Compilazione ed installazione"
-
-#~ msgid ""
-#~ "In order to compile and install &kdiff3; on a system with KDE, type the "
-#~ "following in the base directory of the &kdiff3; distribution:"
-#~ msgstr ""
-#~ "Al fine di compilare ed installare &kdiff3; sul tuo sistema con KDE, "
-#~ "posizionati sulla directory base della distribuzione &kdiff3; e digita:"
-
-#~ msgid ""
-#~ "<prompt>%</prompt> <userinput><command>./configure --"
-#~ "prefix=<replaceable>kde-dir</replaceable></command></userinput>\n"
-#~ "<prompt>%</prompt> <userinput><command>make</command></userinput>\n"
-#~ "<prompt>%</prompt> <userinput><command>make</command> install</userinput>"
-#~ msgstr ""
-#~ "<prompt>%</prompt> <userinput><command>./configure --"
-#~ "prefix=<replaceable>kde-dir</replaceable></command></userinput>\n"
-#~ "<prompt>%</prompt> <userinput><command>make</command></userinput>\n"
-#~ "<prompt>%</prompt> <userinput><command>make</command> install</userinput>"
-
-#~ msgid ""
-#~ "<replaceable>kde-dir</replaceable> specifies the directory containing KDE "
-#~ "on your system. If you are not sure, read the README-file for details."
-#~ msgstr ""
-#~ "<replaceable>kde-dir</replaceable> specifica la directory contenente KDE "
-#~ "nel tuo sistema. Se non sei sicuro, leggi il file README per maggiori "
-#~ "dettagli."
-
-#~ msgid ""
-#~ "Since &kdiff3; uses <command>autoconf</command> and <command>automake</"
-#~ "command> you should have no trouble compiling it. Should you run into "
-#~ "problems please report them to the &kde; mailing lists."
-#~ msgstr ""
-#~ "Dato che &kdiff3; utilizza <command>autoconf</command> e "
-#~ "<command>automake</command> non dovresti avere problemi nel compilarlo. "
-#~ "Se invece pensi di aver trovato un problema sei pregato di segnalarlo "
-#~ "alla &kde; mailing list."
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Non ha effetti. Per compatibilità con alcuni programmi."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Per compatibilità con alcuni strumenti."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Colore per l'editor e per l'output di diff"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/ja.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2483 @@
+# translation of kdiff3.po to Japanese
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# SATOH Satoru <ss@kde.gr.jp>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-02-06 23:23+0900\n"
+"Last-Translator: SATOH Satoru <ss@kde.gr.jp>\n"
+"Language-Team: Japanese <Kdeveloper@kde.gr.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "SATOH Satoru"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "ss@kde.gr.jp"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "クリップボードã‹ã‚‰"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"データæå¤±ã‚¨ãƒ©ãƒ¼:\n"
+"ã‚‚ã—å†ç¾ã™ã‚‹ã‚ˆã†ãªã‚‰ä½œè€…ã«ã‚³ãƒ³ã‚¿ã‚¯ãƒˆã‚’ã¨ã£ã¦ä¸‹ã•ã„\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "深刻ãªå†…部エラー"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "上部行 %1"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "最後"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "リンクã®ãƒŸãƒƒã‚¯ã‚¹ã¨æ™®é€šã®ãƒ•ァイル"
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "リンク "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "å®¹é‡ "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "日付ã¨å®¹é‡: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "%1 ã®ä¸€æ™‚コピー作æˆã«å¤±æ•—"
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "%1 ã‚’é–‹ã‘ã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "ファイルをä¿å­˜ä¸­..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "%1 ã‹ã‚‰èª­ã¿è¾¼ã¿æ™‚ã«ã‚¨ãƒ©ãƒ¼"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "åå‰"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "æ“作"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "状態"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr "今ディレクトリマージ中ã§ã™. 本当ã«ãƒžãƒ¼ã‚¸ã‚’中止ã—ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†ã‚¹ã‚­ãƒ£ãƒ³ã—ã¾ã™ã‹?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "å†ã‚¹ã‚­ãƒ£ãƒ³"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "マージを続行"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "ディレクトリオープンã«å¤±æ•—:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"ディレクトリ A %1 ã¯å­˜åœ¨ã—ãªã„ã‹ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"ディレクトリ B %1 ã¯å­˜åœ¨ã—ãªã„ã‹ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"ディレクトリ C %1 ã¯å­˜åœ¨ã—ãªã„ã‹ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "ディレクトリオープンエラー"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"三ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’マージã™ã‚‹éš›ã€ãƒžãƒ¼ã‚¸å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ A / B ã¨åŒã˜ã§ã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“.\n"
+"続行ã™ã‚‹å‰ã«ã‚‚ã†ä¸€åº¦èª¿ã¹ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "パラメータ警告"
+
+#: directorymergewindow.cpp:488
+#, fuzzy
+msgid "Scanning directories..."
+msgstr "ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’åŒæœŸ"
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "ディレクトリ A を読ã¿è¾¼ã¿ä¸­"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "ディレクトリ B を読ã¿è¾¼ã¿ä¸­"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "ディレクトリ C を読ã¿è¾¼ã¿ä¸­"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "ã„ãã¤ã‹ã®ã‚µãƒ–ディレクトリãŒèª­ã¿è¾¼ã¿ä¸å¯ã§ã—ãŸ"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "サブディレクトリã®è¨±å¯å±žæ€§ã‚’確ã‹ã‚ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "準備完了."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "ディレクトリ比較状態"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "サブディレクトリ数:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "ç­‰ã—ã„ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "手作業ã§ã®ãƒžãƒ¼ã‚¸æ•°:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "ã“れã¯ã™ã¹ã¦ã®ãƒžãƒ¼ã‚¸æ“作ã«å½±éŸ¿ã—ã¾ã™"
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "ã™ã¹ã¦ã®ãƒžãƒ¼ã‚¸æ“作を更新中"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "続行(&O)"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "処ç†ä¸­"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "To do."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "A ã‚’ B ã«ã‚³ãƒ”ー"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "B ã‚’ A ã«ã‚³ãƒ”ー"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "A を削除"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "B を削除"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "A 㨠B を削除"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "A ã«ãƒžãƒ¼ã‚¸"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "B ã«ãƒžãƒ¼ã‚¸"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "A 㨠B ã«ãƒžãƒ¼ã‚¸"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "(存在ã™ã‚Œã°)削除"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "マージ"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "マージ (手作業)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "エラー: ファイルタイプãŒè¡çªã—ã¦ã„ã¾ã™"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "エラー: 日付ã¯ç­‰ã—ã„ã§ã™ãŒãƒ•ァイルã¯ãã†ã§ã‚りã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "ã“ã®æ“作ã¯ä»Šã¯ã§ãã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "æ“作ä¸å¯"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"起り得ãªã„ã¯ãš: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"å†ç¾æ–¹æ³•ãŒã‚ã‹ã£ãŸãªã‚‰ãƒ—ログラム作者ã«ã‚³ãƒ³ã‚¿ã‚¯ãƒˆã‚’å–ã£ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "プログラムエラー"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"コピー中ã«ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿ\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "マージエラー"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "エラー"
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "完了"
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "未ä¿å­˜"
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "䏿˜Žãªãƒžãƒ¼ã‚¸æ“作 (起り得ãªã„ã¯ãš!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "䏿˜Žãªãƒžãƒ¼ã‚¸æ“作"
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"マージ準備完了\n"
+"\n"
+"説明を読んã§ä½•ã‚’ã—ã¦ã„ã‚‹ã‹ã‚ã‹ã£ã¦ã„ã‚‹ãªã‚‰ \"実行\" ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„\n"
+"\n"
+"何ãŒèµ·ãã‚‹ã‹çŸ¥ã‚ŠãŸã„ãªã‚‰ \"試行\" ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„\n"
+"\n"
+"ã“ã®ãƒ—ログラムã¯ã¾ã Î²æ®µéšŽã§ä½•ãŒèµ·ãã¦ã‚‚ç„¡ä¿è¨¼ã ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„!é‡è¦ãªãƒ‡ãƒ¼ã‚¿ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã¨ã£ã¦ä¸‹ã•ã„!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "マージ開始"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "実行"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "試行"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr "強調表示ã•れãŸé …ç›®ã¯ç•°ãªã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç•°ãªã‚‹ã‚¿ã‚¤ãƒ—ã§ã™.何をã™ã‚‹ã‹é¸æŠžã—ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°æ—¥æ™‚ã¯ç­‰ã—ã„ã§ã™ãŒãƒ•ァイルã¯ç•°ãªã£ã¦ã„ã¾ã™. 何をã™ã‚‹ã‹é¸æŠžã—ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:2102
+#, fuzzy
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr "ディレクトリマージ中ãªã®ã§ã“ã®æ“作を実行ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"最終段階ã§ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿ.\n"
+"エラーを起ã—ãŸé …ç›®ã«ã¤ã„ã¦ç¶šè¡Œã—ã¾ã™ã‹? ãれã¨ã‚‚スキップã—ã¾ã™ã‹?"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "エラー後ã«ã‚‚マージ続行"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "最後ã®é …ç›®ã«ã¤ã„ã¦ç¶šè¡Œ"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "項目をスキップ"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "スキップã•れã¾ã—ãŸ"
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "進行中..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "マージæ“作完了"
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "マージ完了"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr "マージ試行完了: å…ˆã®æ“作をã—ã¦ã‚‚よã„ã‹ç¢ºèªã—ã¦ä¸‹ã•ã„."
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"エラー発生. 詳細情報を見るã«ã¯ OK をクリックã—ã¦ä¸‹ã•ã„\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "エラー: %1 削除中: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—作æˆå¤±æ•—"
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "å†å¸°çš„ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除 ( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "削除( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr "エラー: ディレクトリ読ã¿è¾¼ã¿ä¸­ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå‰Šé™¤å¤±æ•—"
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "エラー: rmdir( %1 ) æ“作失敗"
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "エラー: 削除失敗"
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "手作業ã§ã®ãƒžãƒ¼ã‚¸( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+#, fuzzy
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr "     注æ„: 手作業ã§ã®ãƒžãƒ¼ã‚¸å¾Œã«ç¶šè¡Œã™ã‚‹ã«ã¯ F7 を押ã—ã¦ä¸‹ã•ã„"
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr "エラー: copy( %1 -> %2 )失敗. 既存ã®ã‚³ãƒ”ー先ã®å‰Šé™¤ã«å¤±æ•—"
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "copyLink( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr "エラー: copyLink 失敗: ãƒªãƒ¢ãƒ¼ãƒˆãƒªãƒ³ã‚¯ã¯æœªã‚µãƒãƒ¼ãƒˆã§ã™"
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "エラー: copyLink 失敗"
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "copy( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr "rename( %1 -> %2 ) 中ã«ã‚¨ãƒ©ãƒ¼: 既存ã®ã‚³ãƒ”ー先を削除ã§ãã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "rename( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "エラー: å称変更失敗"
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr "makeDir %1 中ã«ã‚¨ãƒ©ãƒ¼. 既存ファイルを削除ã§ãã¾ã›ã‚“"
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "makeDir( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "ディレクトリ作æˆä¸­ã«ã‚¨ãƒ©ãƒ¼"
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "å…ˆ"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "ディレクトリ"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "タイプ"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "容é‡"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "属性"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "最終更新"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "リンク先"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "利用ä¸å¯"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (å…ˆ): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (å…ƒ): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (å…ˆ): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (å…ˆ): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "å…ˆ: "
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "ディレクトリマージ"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "ディレクトリマージを開始/続行"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "ç¾åœ¨ã®é …ç›®ã«ã¤ã„ã¦æ“作を実行"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "é¸æŠžãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ¯”è¼ƒ "
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "ç¾åœ¨ã®ãƒ•ァイルをマージ "
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリを畳ã¿è¾¼ã¿"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "ã™ã¹ã¦ã®ã‚µãƒ–ディレクトリを展開"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "ディレクトリマージ"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "ディレクトリマージ"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "ã™ã¹ã¦ã®é …ç›®ã«ã¤ã„㦠A ã‚’é¸æŠž"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "ã™ã¹ã¦ã®é …ç›®ã«ã¤ã„㦠B ã‚’é¸æŠž"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "ã™ã¹ã¦ã®é …ç›®ã«ã¤ã„㦠C ã‚’é¸æŠž"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "ã™ã¹ã¦ã®é …ç›®ã«ã¤ã„ã¦è‡ªå‹•é¸æŠž"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "ã™ã¹ã¦ã®é …ç›®ã«ã¤ã„ã¦æ“作ãªã—"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’åŒæœŸ"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "マージã§ã¯ãªãより新ã—ã„ã‚‚ã®ã‚’コピー(安全ã§ã¯ã‚りã¾ã›ã‚“)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "é¸æŠžãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ¯”è¼ƒ "
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "é¸æŠžãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ¯”è¼ƒ "
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "何もã—ãªã„"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
+msgstr "A 㨠B を削除"
+
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
+msgstr "A 㨠B ã«ãƒžãƒ¼ã‚¸"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—作æˆä¸­ã€å¤ã„ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を削除ã«å¤±æ•—.\n"
+"ファイルå: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—作æˆä¸­ã€åå‰å¤‰æ›´ã«å¤±æ•—\n"
+"ファイルå: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "ファイルã®çŠ¶æ…‹ã‚’å–得中: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "ファイルを読ã¿è¾¼ã¿ä¸­: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ä¸­: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "メモリãŒè¶³ã‚Šã¾ã›ã‚“"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "ディレクトリ作æˆä¸­: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "ディレクトリ削除中: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "ファイル削除中: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "シンボリックリンク作æˆä¸­: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "ファイルã®å称変更中: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "ファイルをコピー中: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr "ファイルコピー中ã«ã‚¨ãƒ©ãƒ¼: ファイル読ã¿è¾¼ã¿ã«å¤±æ•—. ファイルå: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr "ファイルコピー中ã«ã‚¨ãƒ©ãƒ¼: ファイル書ãè¾¼ã¿ã«å¤±æ•—. ファイルå: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr "ファイルコピー中ã«ã‚¨ãƒ©ãƒ¼: 読ã¿è¾¼ã¿ã«å¤±æ•—. ファイルå: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr "ファイルコピー中ã«ã‚¨ãƒ©ãƒ¼: 書ãè¾¼ã¿ã«å¤±æ•—. ファイルå: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "ディレクトリを読ã¿è¾¼ã¿ä¸­: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "ディレクトリをリスト中: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "ç¾åœ¨ã®é …ç›®ã®åŒæœŸæ“作"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "ファイルを開ãéš›ã«ã‚¨ãƒ©ãƒ¼"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "オプション --auto を使用ã—ã¦ã„ã¾ã™ãŒå‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒæœªæŒ‡å®šã§ã™"
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "オプション --auto ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ¯”較時ã«ã¯ç„¡è¦–ã•れã¾ã™"
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "ä¿å­˜ã«å¤±æ•—"
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "ファイルを開ã‘ã¾ã›ã‚“ã§ã—ãŸ:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "ファイルを開ãéš›ã«ã‚¨ãƒ©ãƒ¼"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "比較ã®ãŸã‚ã«æ–‡æ›¸ã‚’é–‹ã„ã¦ã„ã¾ã™..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr "ãƒžãƒ¼ã‚¸çµæžœã‚’ä¿å­˜. ã™ã¹ã¦ã®è¡çªã‚’回é¿ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "ç¾åœ¨ã®æ–‡æ›¸ã‚’別åã§ä¿å­˜..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "アプリケーションを終了"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "é¸æŠžã•れãŸç¯„囲を切りå–りクリップボードã¸"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "é¸æŠžã•れãŸç¯„囲をコピーã—クリップボードã¸"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "クリップボードã®å†…容をç¾åœ¨ã®ä½ç½®ã«è²¼ä»˜ã‘"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "文字列を検索"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "æ–‡å­—åˆ—ã‚’å†æ¤œç´¢"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "ツールãƒãƒ¼ã‚’有効/無効ã«"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "ステータスãƒãƒ¼ã‚’有効/無効ã«"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "KDiff3 を設定..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "ç•°ãªã‚‹éƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "最åˆã®ç•°ãªã‚‹éƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "最後ã®ç•°ãªã‚‹éƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "å‰ã®ç•°ãªã‚‹éƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "次ã®ç•°ãªã‚‹éƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "å‰ã®è¡çªéƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "次ã®è¡çªéƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "å‰ã®æœªè§£æ±ºã®è¡çªéƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "æ¬¡ã®æœªè§£æ±ºã®è¡çªéƒ¨åˆ†ã«ç§»å‹•"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "A ã‹ã‚‰ã®é¸æŠžè¡Œ"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "B ã‹ã‚‰ã®é¸æŠžè¡Œ"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "C ã‹ã‚‰ã®é¸æŠžè¡Œ"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr "ã‚½ãƒ¼ã‚¹é¸æŠžå¾Œã«æ¬¡ã®æœªè§£æ±ºã®è¡çªéƒ¨åˆ†ã«è‡ªå‹•çš„ã«ç§»å‹•"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "スペース/タブ文字ã®å·®ç•°ã‚’表示 "
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "空白文字を表示"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "行番å·ã‚’表示"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "常㫠A ã‚’é¸æŠž"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "常㫠B ã‚’é¸æŠž"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "常㫠C ã‚’é¸æŠž"
+
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "未解決ã®è¡çªã«ã¤ã„ã¦å¸¸ã« A ã‚’é¸æŠž"
+
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "未解決ã®è¡çªã«ã¤ã„ã¦å¸¸ã« B ã‚’é¸æŠž"
+
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "未解決ã®è¡çªã«ã¤ã„ã¦å¸¸ã« C ã‚’é¸æŠž"
+
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "未解決ã®ç©ºç™½ã®è¡çªã«ã¤ã„ã¦å¸¸ã« A ã‚’é¸æŠž"
+
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "未解決ã®ç©ºç™½ã®è¡çªã«ã¤ã„ã¦å¸¸ã« B ã‚’é¸æŠž"
+
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "未解決ã®ç©ºç™½ã®è¡çªã«ã¤ã„ã¦å¸¸ã« C ã‚’é¸æŠž"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "å˜ç´”ãªè¡çªã«ã¤ã„ã¦è‡ªå‹•çš„ã«è§£æ±º"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "è¡çªã«ã¤ã„ã¦ç•°ãªã‚‹éƒ¨åˆ†ã¨ã—ã¦è¨­å®š"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "å˜ç´”ãªè¡çªã«ã¤ã„ã¦è‡ªå‹•çš„ã«è§£æ±º"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "ウィンドウ A を表示"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "ウィンドウ B を表示"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "ウィンドウ C を表示"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "次ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ãƒ•ォーカス"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "å‰ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ãƒ•ォーカス"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "分割軸を切替"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "ディレクトリ/テキスト分割画é¢è¡¨ç¤º"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "ディレクトリ/テキスト表示を切替"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "ãƒžãƒ¼ã‚¸çµæžœã¯ä¿å­˜ã•れã¾ã›ã‚“ã§ã—ãŸ."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "ä¿å­˜/終了"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "ä¿å­˜ã—ãªã„ã§çµ‚了"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "ãƒžãƒ¼ã‚¸çµæžœä¿å­˜ã«å¤±æ•—"
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "ディレクトリマージ実行中ã§ã™. 本当ã«ä¸­æ­¢ã—ã¾ã™ã‹?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "ファイルをä¿å­˜ä¸­..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "åå‰ã‚’付ã‘ã¦ãƒ•ァイルをä¿å­˜ä¸­..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "終了中..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "マージæ“作完了"
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "終了中..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "ツールãƒãƒ¼åˆ‡æ›¿ä¸­..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "状態表示ãƒãƒ¼ã®è¡¨ç¤ºã‚’切替..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "比較ã™ã‚‹ãƒ•ァイルをã¿ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ"
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"パーツをã¿ã¤ã‘られã¾ã›ã‚“ã§ã—ãŸ\n"
+"普通ã“れã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®å•題ã§ã™. 詳細ã«ã¤ã„ã¦ã¯ã‚½ãƒ¼ã‚¹ãƒ‘ッケージ㮠README ファイルをå‚ç…§ã®ã“ã¨"
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "入力をマージ"
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr "既存ツールã¨ã®äº’æ›æ€§ã®ãŸã‚ã®ã€æ˜Žç¤ºçš„ãªãƒ™ãƒ¼ã‚¹ãƒ•ァイル"
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "出力ファイル. -m ãŒå¿…è¦ã¨ãªã‚‹. 例: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "出力ファイル (既存ツールã¨ã®äº’æ›æ€§ã®ãŸã‚)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr "ã™ã¹ã¦ã®è¡çªã‚’自動回é¿ã§ããŸã¨ãã« GUI を使用ã—ãªã„ (-o file ãŒå¿…è¦)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "è¡çªã®è‡ªå‹•回é¿ã‚’使用ã—ãªã„ (äº’æ›æ€§ã®ãŸã‚...)"
+
+#: main.cpp:48
+#, fuzzy
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "表示ã•れる代替å. 一度設定ã™ã‚‹ã¨ã™ã¹ã¦ã®å…¥åŠ›ã«é©ç”¨"
+
+#: main.cpp:49
+#, fuzzy
+msgid "Visible name replacement for input file 2."
+msgstr "表示ã•れる代替å. 一度設定ã™ã‚‹ã¨ã™ã¹ã¦ã®å…¥åŠ›ã«é©ç”¨"
+
+#: main.cpp:50
+#, fuzzy
+msgid "Visible name replacement for input file 3."
+msgstr "表示ã•れる代替å. 一度設定ã™ã‚‹ã¨ã™ã¹ã¦ã®å…¥åŠ›ã«é©ç”¨"
+
+#: main.cpp:52
+#, fuzzy
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr "表示ã•れる代替å. 一度設定ã™ã‚‹ã¨ã™ã¹ã¦ã®å…¥åŠ›ã«é©ç”¨"
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "ç•°ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "é–‹ã file1 (ベース, --base ãŒæœªæŒ‡å®šã®å ´åˆ)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "é–‹ã file2"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "é–‹ã file3"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"\n"
+"未解決ã®è¡çªã®æ•°: "
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"å‡ºåŠ›ãŒæ›´æ–°ã•れã¾ã—ãŸ\n"
+"続行ã™ã‚‹ã¨æ›´æ–°å†…容ã¯å¤±ãªã‚れã¾ã™"
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "ã™ã¹ã¦ã®å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãƒã‚¤ãƒŠãƒªã¯åŒã˜ã§ã™"
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "ã™ã¹ã¦ã®å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¯åŒã˜ãƒ†ã‚­ã‚¹ãƒˆã§ã™"
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"ファイル A 㨠B ã¯åŒã˜ãƒã‚¤ãƒŠãƒªã§ã™\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"ファイル A 㨠B ã¯åŒã˜ãƒ†ã‚­ã‚¹ãƒˆã§ã™\n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"ファイル A 㨠C ã¯åŒã˜ãƒã‚¤ãƒŠãƒªã§ã™\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"ファイル A 㨠C ã¯åŒã˜ãƒ†ã‚­ã‚¹ãƒˆã§ã™\n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"ファイル B 㨠C ã¯åŒã˜ãƒã‚¤ãƒŠãƒªã§ã™\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"ファイル B 㨠C ã¯åŒã˜ãƒ†ã‚­ã‚¹ãƒˆã§ã™\n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "è¡çªã®ç·è¨ˆ: "
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"自動的ã«è§£æ±ºã•れãŸè¡çªã®æ•°: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"未解決ã®è¡çªã®æ•°: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "è¡çª"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<ソース行ãªã—>"
+
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<è¡çªã‚’マージ>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<è¡çªã‚’マージ>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[æ›´æ–°]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"ã™ã¹ã¦ã®è¡çªãŒã¾ã è§£æ±ºã•れã¦ã„ã¾ã›ã‚“\n"
+"ファイルã¯ä¿å­˜ã•れã¾ã›ã‚“\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "è¡çª(å·¦)"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "ファイルä¿å­˜ã‚¨ãƒ©ãƒ¼"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "書ãè¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼"
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+#, fuzzy
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "éž ASCII 文字ãŒé©åˆ‡ã«è¡¨ç¤ºã•れãªã‘れã°å¤‰æ›´"
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "エディタ/Diff 出力フォント"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "ç•°ãªã‚‹éƒ¨åˆ†ã«ã‚¤ã‚¿ãƒªãƒƒã‚¯ãƒ•ォントを"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"差異を表示ã™ã‚‹ã®ã«ãƒ•ォントã®ã‚¤ã‚¿ãƒªãƒƒã‚¯ä½“ã‚’é¸æŠž\n"
+"イタリック体ãŒå«ã¾ã‚Œã¦ã„ãªã‘れã°ã€é€šå¸¸ã®ã¾ã¾ã§ã™"
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "色"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "剿™¯è‰²:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "背景色:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "Diff 背景色:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "色 (A):"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "色 (B):"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "色 (C):"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "色 (è¡çª):"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "ç¾åœ¨ã®ç¯„囲ã§ã®èƒŒæ™¯è‰²:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "ç¾åœ¨ã®ç¯„囲ã§ã® diff 背景色:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "ディレクトリ比較状態"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "エディタ"
+
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
+msgstr "エディタã®å‹•作"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "タブã§ç©ºç™½ã‚’ã„ãã¤æŒ¿å…¥ã™ã‚‹ã‹"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+"オン: タブを押ã™ã¨é©åˆ‡ãªæ•°ã®ç©ºç™½ã‚’挿入\n"
+"オフ: タブãã®ã‚‚ã®ã‚’挿入"
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "タブサイズ:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "自動字下ã’"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+"オン: æ–°è¦æ”¹è¡Œã«å‰ã®è¡Œã®å­—下ã’を使ã†\n"
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "è‡ªå‹•ã‚³ãƒ”ãƒ¼é¸æŠž"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+"オン: ã™ã¹ã¦ã®é¸æŠžã¯å³åº§ã«ã‚¯ãƒªãƒƒãƒ—ボードã¸\n"
+"オフ: 明示的ãªã‚³ãƒ”ーãŒå¿…è¦. 例: Ctrl-C ã§"
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "Diff/マージ"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Diff/マージ設定"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "キャリッジリターンをä¿å­˜"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+"キャリッジリターンãŒã‚れ㰠`\\r` ã¨è¡¨ç¤º\n"
+"ç•°ãªã‚‹ OS ã§æ›´æ–°ã•れãŸãƒ•ァイルを比較ã™ã‚‹ã®ã‚’手助ã‘"
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "数字を無視"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"è¡Œãƒžãƒƒãƒæ™‚ã«æ•°å­—ã®é•ã„を無視. (空白を無視ã«é¡žä¼¼)\n"
+"æ•°å­—ãƒ‡ãƒ¼ã‚¿ãƒ•ã‚¡ã‚¤ãƒ«ã®æ¯”較を手助ã‘"
+
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
+msgstr "C/C++ コメントを無視 "
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "C/C++ コメントを空白ã¨åŒã˜ã‚ˆã†ã«æ‰±ã†"
+
+#: optiondialog.cpp:759
+#, fuzzy
+msgid "Ignore case"
+msgstr "数字を無視"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "プリプロセッサコマンド:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr "ユーザ定義プリプロセッサ (詳細ã«ã¤ã„ã¦ã¯æ–‡æ›¸ã‚’å‚ç…§)"
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "行マッãƒãƒ—リプロセッサコマンド:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+"ã“ã®ãƒ—リプロセッサã¯è¡Œãƒžãƒƒãƒæ™‚ã«ã ã‘使ã‚れã¾ã™\n"
+"(詳細ã«ã¤ã„ã¦ã¯æ–‡æ›¸ã‚’å‚ç…§)"
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "厳密ã«è©¦è¡Œ(é…ã„)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"外部 diff コマンドã«ã¤ã„㦠--minimal オプションを有効ã«\n"
+"大ããªãƒ•ァイルã§ã¯è§£æžãŒã‚ˆã‚Šé…ããªã‚Šã¾ã™"
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr "自動å‰é€²é…å»¶(ミリ秒):"
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+"自動å‰é€²ãƒ¢ãƒ¼ãƒ‰ã§ã¯é¸æŠžçµæžœãŒã€æ¬¡ã®è¡çªã«è¡Œãå‰ã«æŒ‡å®šæ™‚間毎ã«\n"
+"表示ã•れã¾ã™ (レンジ: 0-2000 ミリ秒)"
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "空白 2 ファイルマージ標準:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
+msgstr "手作業ã§ã®é¸æŠž"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr "マージアルゴリズムãŒç©ºç™½ã®å¤‰æ›´ã ã‘ã«ã¤ã„ã¦å…¥åŠ›ã‚’è‡ªå‹•çš„ã«é¸æŠžã™ã‚‹ã‚ˆã†ã«"
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "空白 3 ファイルマージ標準:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "ディレクトリマージ"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "ディレクトリをå†å¸°"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "サブディレクトリを解æžã™ã‚‹ã‹ã©ã†ã‹"
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "ファイルパターン:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"è§£æžã™ã‚‹ãƒ•ァイルã®ãƒ‘ターン\n"
+"ワイルドカード: `*` 㨠`?`\n"
+"複数ã®ãƒ‘ターン㯠`:` ã§åŒºåˆ‡ã£ã¦æŒ‡å®šã§ãã¾ã™"
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "ファイルå¦å®šãƒ‘ターン:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"è§£æžã‹ã‚‰é™¤å¤–ã™ã‚‹ãƒ•ァイルã®ãƒ‘ターン\n"
+"ワイルドカード: `*` 㨠`?`\n"
+"複数ã®ãƒ‘ターン㯠`:` ã§åŒºåˆ‡ã£ã¦æŒ‡å®šã§ãã¾ã™"
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "ディレクトリå¦å®šãƒ‘ターン:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"è§£æžã‹ã‚‰é™¤å¤–ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ‘ターン\n"
+"ワイルドカード: `*` 㨠`?`\n"
+"複数ã®ãƒ‘ターン㯠`:` ã§åŒºåˆ‡ã£ã¦æŒ‡å®šã§ãã¾ã™"
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ".cvsignore を使用"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+"CVS ã§ç„¡è¦–ã•れるã™ã¹ã¦ã«ã¤ã„ã¦å¦å®šãƒ‘ターンを拡張\n"
+"ローカル㮠\".cvsignore\" ファイルã«ã‚ˆã£ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå›ºæœ‰ã«åˆ©ç”¨ã§ãã¾ã™"
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "éš ã—ファイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’検索 "
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "éš ã—属性をæŒã¤ãƒ•ァイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’検索"
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "`.` ã§å§‹ã¾ã‚‹ãƒ•ァイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’検索"
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "ファイルリンクを追跡"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"オン: ファイルã®ãƒªãƒ³ã‚¯å…ˆã‚’比較\n"
+"オフ: リンクを比較"
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "ディレクトリリンクを追跡"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"オン: ディレクトリã®ãƒªãƒ³ã‚¯å…ˆã‚’比較\n"
+"オフ: リンクを比較"
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "差分ã®ã¿ã‚’リスト"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "åŒã˜ãƒ•ァイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ãƒªã‚¹ãƒˆã•れã¾ã›ã‚“"
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+#, fuzzy
+msgid "Binary comparison"
+msgstr "ディレクトリ比較状態"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "更新日時を信用 (安全ã§ã¯ã‚りã¾ã›ã‚“)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°æ—¥æ™‚ã¨ãƒ•ァイル長ãŒç­‰ã—ã‘れã°åŒã˜ã‚‚ã®ã¨ã¿ãªã™\n"
+"大ããªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„é…ã„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§æœ‰åй"
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "容é‡ã‚’信用 (安全ã§ã¯ã‚りã¾ã›ã‚“)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"ファイル長ãŒç­‰ã—ã„ãªã‚‰ãƒ•ァイルã¯åŒã˜ã¨ã¿ãªã™\n"
+"大ããªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰é–“ã«æ›´æ–°æ—¥æ™‚ãŒå¤‰ã‚るよã†ãªé…ã„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§æœ‰åй"
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’åŒæœŸ"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+"両ディレクトリã«ä»¥å¾ŒåŒã˜ã«ãªã‚‹ã‚ˆã†ã«ãƒ•ァイルを置ã\n"
+"æ–¹å‘を未指定ã§äºŒã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’比較ã™ã‚‹éš›ã®ã¿æ©Ÿèƒ½ã—ã¾ã™"
+
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "空白 3 ファイルマージ標準:"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "マージã§ã¯ãªãより新ã—ã„ã‚‚ã®ã‚’コピー(安全ã§ã¯ã‚りã¾ã›ã‚“)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"内容見ãšã«å˜ã«ã‚ˆã‚Šæ–°ã—ã„ファイルをã¨ã‚Šã¾ã™\n"
+"(何をã—ã¦ã„ã‚‹ã®ã‹ã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã ã‘使用ã—ã¦ä¸‹ã•ã„!)\n"
+"二ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’比較ã—ã¦ã„ã‚‹ã¨ãã®ã¿æœ‰åйã§ã™"
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイル (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr "å¤ã„ファイルも削除ã›ãšã« `.orig` æ‹¡å¼µå­ã‚’ã¤ã‘ã¦ä¿å­˜ã•れã¾ã™"
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "ロカールエンコーディングを使用 "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "æ“作"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"å¯å¤‰å¹…ãªãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã—ã¦ã„ã¾ã™\n"
+"\n"
+"ã“ã®ãƒ—ログラムã¯å¯å¤‰å¹…フォントをé©åˆ‡ã«æ‰±ãˆãªã„ã®ã§ã€ç·¨é›†ä¸­ã«\n"
+"å•題ãŒèµ·ã‚‹ã“ã¨ãŒã‚りã¾ã™\n"
+"\n"
+"続行ã™ã‚‹ã‹ã€ä»–ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã—ã¦ä¸‹ã•ã„"
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "éžäº’æ›ãªãƒ•ォント"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "自己責任ã§ç¶šè¡Œ"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "ä»–ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠž"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr "ç¾åœ¨ã®ãƒˆãƒ”ックã ã‘ã§ãªãã™ã¹ã¦ã®ã‚ªãƒ—ションをリセット"
+
+#: pdiff.cpp:258
+#, fuzzy
+msgid "PreprocessorCmd: "
+msgstr "プリプロセッサコマンド:"
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "A を読ã¿è¾¼ã¿ä¸­"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "B を読ã¿è¾¼ã¿ä¸­"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Diff: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "Linediff: A <-> B"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "C を読ã¿è¾¼ã¿ä¸­"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Diff: B <-> C"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Diff: A <-> C"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "Linediff: B <-> C"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "Linediff: A <-> C"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"入力ファイルã®ã„ãã¤ã‹ã¯ãƒ†ã‚­ã‚¹ãƒˆãƒ•ァイルã§ã¯ãªã„よã†ã§ã™\n"
+"KDiff3 マージã¯ãƒã‚¤ãƒŠãƒªãƒ‡ãƒ¼ã‚¿ã‚’æ„図ã—ãŸã‚‚ã®ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„\n"
+"自己責任ã§ç¶šè¡Œã—ã¦ä¸‹ã•ã„"
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "中止"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "ファイルを開ã„ã¦ã„ã¾ã™..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "ファイルオープンエラー"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "é¸æŠžç¯„å›²ã‚’åˆ‡ã‚Šå–り..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "é¸æŠžç¯„å›²ã‚’ã‚¯ãƒªãƒƒãƒ—ãƒœãƒ¼ãƒ‰ã«ã‚³ãƒ”ー..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "クリップボードã®å†…容を挿入..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "ä¿å­˜/続行"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "ä¿å­˜ã—ãªã„ã§ç¶šè¡Œ"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "検索完了"
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "検索完了"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "ディレクトリ作æˆä¸­ã«ã‚¨ãƒ©ãƒ¼"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "KDiff3(&K)"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 を設定"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "ディレクトリ(&D)"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "ç¾åœ¨ã®é …ç›®ã®ãƒžãƒ¼ã‚¸æ“作"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "ç¾åœ¨ã®é …ç›®ã®åŒæœŸæ“作"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "移動(&M)"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "マージ(&M)"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "ウィンドウ(&W)"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "A (ベース):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "ファイル..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "ディレクトリ..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "C (オプション):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "出力 (オプション):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "設定..."
+
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "検索文字列:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "大文字ã¨å°æ–‡å­—を区別"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "A を検索"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "B を検索"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "C を検索"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "検索出力"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "検索(&S)"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "è‡ªå‹•ã‚³ãƒ”ãƒ¼é¸æŠž"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "手作業ã§ã®é¸æŠž"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "ä¿å­˜ã«å¤±æ•—"
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "既存ツールã®äº’æ›æ€§ã®ãŸã‚"
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "既存ツールã®äº’æ›æ€§ã®ãŸã‚"
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "エディタ/Diff 出力ã®è‰²"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "テキスト Diff/マージツール"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "ファイルã¯ä¿å­˜ã•れã¾ã›ã‚“"
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "ä¿å­˜æº–備中ã«ãƒ¡ãƒ¢ãƒªä¸è¶³"
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "削除(存在ã™ã‚‹ãªã‚‰)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "A 㨠B を削除"
+
+#~ msgid "Merge to A and B"
+#~ msgstr "A 㨠B ã«ãƒžãƒ¼ã‚¸"
+
+#~ msgid "Convert to upper case"
+#~ msgstr "大文字ã«å¤‰æ›"
+
+#~ msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
+#~ msgstr "読ã¿è¾¼ã¿æ™‚ã«ã™ã¹ã¦ã®å°æ–‡å­—を大文字ã«å¤‰æ›. (例: `a` -> `A`)"
+
+#~ msgid ""
+#~ "Running the external diff failed.\n"
+#~ "Check if the diff works, if the program can write in the temp folder or if the disk is full.\n"
+#~ "The external diff option will be disabled now and the internal diff will be used."
+#~ msgstr ""
+#~ "外部 diff プログラム実行ã«å¤±æ•—\n"
+#~ "diff ãŒã¡ã‚ƒã‚“ã¨å‹•ãã‹ã€ãƒ—ログラムãŒä¸€æ™‚ãƒ•ã‚©ãƒ«ãƒ€ã«æ›¸ãè¾¼ã‚ã‚‹ã‹ã€ã‚ã‚‹ã„ã¯ãƒ‡ã‚£ã‚¹ã‚¯ãŒä¸€æ¯ã§ãªã„ã‹ç¢ºèªã—ã¦ä¸‹ã•ã„外部 diff オプションã¯ç„¡åйã«ã•れã€å†…部 diff を使ã†ã‚ˆã†ã«ã—ã¾ã™"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/ka.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2469 @@
+# translation of kdiff3.po to Georgian
+#
+# Rusudan Tsiskreli <r_tsiskreli@caucasus.net>, 2006.
+# რუსუდáƒáƒœ ცისკრელი <tsiskreli@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-03-28 01:44+0400\n"
+"Last-Translator: Giasher <giasher@telenet.ge>\n"
+"Language-Team:  <www.gia.ge>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "რუსუდáƒáƒœ ცისკრელი"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "tsiskreli@gmail.com"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "ბუფერის მáƒáƒœáƒáƒªáƒ”მის დრáƒáƒ”ბით ფáƒáƒ˜áƒšáƒ¨áƒ˜ ჩáƒáƒ¬áƒ”რრვერ შედგáƒ."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "გáƒáƒªáƒ•ლის ბუფერიდáƒáƒœ "
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"გáƒáƒ’რძელებრშესáƒáƒ«áƒšáƒáƒ ვერ შედგრშემáƒáƒ¬áƒ›áƒ”ბáƒ. შეáƒáƒ›áƒáƒ¬áƒ›áƒ”თ ეს ბრძáƒáƒœáƒ”ბáƒ:\n"
+"\n"
+"  %1\n"
+"\n"
+"გáƒáƒ’რძელების ბრძáƒáƒœáƒ”ბრáƒáƒ®áƒšáƒ გáƒáƒ›áƒáƒ˜áƒ áƒ—ვებáƒ."
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"ხáƒáƒ–თრდáƒáƒ›áƒ—ხვევრáƒáƒšáƒ‘áƒáƒ— ვერ შედგáƒ.  შეáƒáƒ›áƒáƒ¬áƒ›áƒ”თ ეს ბრძáƒáƒœáƒ”ბáƒ:\n"
+"\n"
+"  %1\n"
+"\n"
+"ხáƒáƒ–თრდáƒáƒ›áƒ—ხვევრáƒáƒ®áƒšáƒ გáƒáƒ›áƒáƒ˜áƒ áƒ—ვებáƒ."
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"მáƒáƒœáƒáƒªáƒ”მების დáƒáƒ™áƒáƒ áƒ’ვის შეცდáƒáƒ›áƒ:\n"
+"თუ ეს მეáƒáƒ áƒ“ებáƒ, გთხáƒáƒ•თ დáƒáƒ£áƒ™áƒáƒ•შირდეთ áƒáƒ•ტáƒáƒ áƒ¡.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "მკáƒáƒªáƒ áƒ˜ შინáƒáƒ’áƒáƒœáƒ˜ შეცდáƒáƒ›áƒ"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "ზედრხáƒáƒ–ი %1"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "დáƒáƒ¡áƒáƒ¡áƒ áƒ£áƒšáƒ˜"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "ბმულების დრჩáƒáƒ£áƒšáƒ”ბრივი ფáƒáƒ˜áƒšáƒ”ბის ნáƒáƒ áƒ”ვი."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "ბმული: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "ზáƒáƒ›áƒ. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "თáƒáƒ áƒ˜áƒ¦áƒ˜ დრზáƒáƒ›áƒ: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "%1-ს დრáƒáƒ”ბითი áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნრვერ შედგáƒ."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "%1-ს გáƒáƒ®áƒ¡áƒœáƒ ვერ შედგáƒ."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "ფáƒáƒ˜áƒšáƒ”ბის შედáƒáƒ áƒ”ბáƒ..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "%1-ს წáƒáƒ™áƒ˜áƒ—ხვის შეცდáƒáƒ›áƒ"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "სáƒáƒ®áƒ”ლი"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "სტáƒáƒ¢áƒ£áƒ¡áƒ˜"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "გáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "გáƒáƒ“áƒáƒ­áƒ áƒ˜áƒšáƒ˜"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "áƒáƒ áƒáƒ—ეთრი"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "თეთრი"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+"თქვენ áƒáƒ®áƒšáƒ დირექტáƒáƒ áƒ˜áƒ”ბის შერწყმáƒáƒ¡ áƒáƒ®áƒáƒ áƒªáƒ˜áƒ”ლებთ.დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბული ხáƒáƒ áƒ— რáƒáƒ› გსურთ "
+"შერწყმის შეწყვეტრდრდირექტáƒáƒ áƒ˜áƒ˜áƒ¡ თáƒáƒ•იდáƒáƒœ სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "თáƒáƒ•იდáƒáƒœ სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "შერწყმის გáƒáƒ’რძელებáƒ"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ ვერ შედგáƒ:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir A \"%1\" áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს áƒáƒœ áƒáƒ  áƒáƒ áƒ˜áƒ¡ დირექტáƒáƒ áƒ˜áƒ.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir B \"%1\" áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს áƒáƒœ áƒáƒ  áƒáƒ áƒ˜áƒ¡ დირექტáƒáƒ áƒ˜áƒ.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir C \"%1\" áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს áƒáƒœ áƒáƒ  áƒáƒ áƒ˜áƒ¡ დირექტáƒáƒ áƒ˜áƒ.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"დáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ”ბის დირექტáƒáƒ áƒ˜áƒ áƒáƒ  უნდრიყáƒáƒ¡ იგივე A áƒáƒœ B რáƒáƒ“ესáƒáƒª ხდებრსáƒáƒ›áƒ˜ "
+"დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შერწყმáƒ.\n"
+"გáƒáƒ’რძელებáƒáƒ›áƒ“ე კიდევ შეáƒáƒ›áƒáƒ¬áƒ›áƒ”თ."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "გáƒáƒ¤áƒ áƒ—ხილების პáƒáƒ áƒáƒ›áƒ”ტრი"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "დირექტáƒáƒ áƒ˜áƒ”ბის სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "დირექტáƒáƒ áƒ˜áƒ A-ს წáƒáƒ™áƒ˜áƒ—ხვáƒ"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "დირექტáƒáƒ áƒ˜áƒ B-ს წáƒáƒ™áƒ˜áƒ—ხვáƒ"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "დირექტáƒáƒ áƒ˜áƒ C-ს წáƒáƒ™áƒ˜áƒ—ხვáƒ"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "ზáƒáƒ’იერთი ქვედირექტáƒáƒ áƒ˜áƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვრვერ გáƒáƒœáƒ®áƒáƒ áƒªáƒ˜áƒ”ლდáƒ"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "ქვედირექტáƒáƒ áƒ˜áƒ”ბის უფლებების შემáƒáƒ¬áƒ›áƒ”ბáƒ."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "მზáƒáƒ“."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შედáƒáƒ áƒ”ბის სტáƒáƒ¢áƒ£áƒ¡áƒ˜"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "ქვედირექტáƒáƒ áƒ˜áƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "ტáƒáƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებული ფáƒáƒ˜áƒšáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "ხელით შერწყმების რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "ეს მáƒáƒ¡áƒ“ის ყველრშერწყმის áƒáƒžáƒ”რáƒáƒªáƒ˜áƒáƒ¡."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "ყველრშერწყმის áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ”ბის შეცვლáƒ"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&გáƒáƒ’რძელებáƒ"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘რ"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "გáƒáƒ¡áƒáƒ™áƒ”თებელი."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "A-ს áƒáƒ¡áƒšáƒ˜ B-ში"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "B-ს áƒáƒ¡áƒšáƒ˜ A-ში"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "A-ს წáƒáƒ¨áƒšáƒ"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "B-ს წáƒáƒ¨áƒšáƒ"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "A დრB-ს წáƒáƒ¨áƒšáƒ"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "შერწყმრA-სკენ"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "შერწყმრB-სკენ"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "შერწყმრA დრB-სკენ"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "წáƒáƒ¨áƒšáƒ (თუ áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "შერწყმáƒ"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "შერწყმრ(ხელით)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "შეცდáƒáƒ›áƒ: კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ£áƒ  ფáƒáƒ˜áƒšáƒ—რტიპები"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "შეცდáƒáƒ›áƒ: თáƒáƒ áƒ˜áƒ¦áƒ”ბი იდენტურიáƒ, მáƒáƒ áƒ ფáƒáƒ˜áƒšáƒ”ბი áƒáƒ áƒ."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "ეს áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ áƒáƒ®áƒšáƒ შეუძლებელიáƒ."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ შეუძლებელიáƒ"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"ეს áƒáƒ áƒáƒ¡áƒ“რáƒáƒ¡ áƒáƒ  უნდრმáƒáƒ›áƒ®áƒ“áƒáƒ áƒ˜áƒ§áƒ: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"თუ იცით რáƒáƒ’áƒáƒ  გáƒáƒœáƒáƒ®áƒáƒ áƒªáƒ˜áƒáƒšáƒáƒ— ეს, გთხáƒáƒ•თ დáƒáƒ£áƒ™áƒáƒ•სირდეთ პრáƒáƒ’რáƒáƒ›áƒ˜áƒ¡ áƒáƒ•ტáƒáƒ áƒ¡."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "პრáƒáƒ’რáƒáƒ›áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"áƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თებისáƒáƒ¡ შეცდáƒáƒ›áƒ მáƒáƒ®áƒ“áƒ.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "შერწმის შეცდáƒáƒ›áƒ"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "შეცდáƒáƒ›áƒ."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "შესრულებულიáƒ."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "áƒáƒ áƒáƒ შენáƒáƒ®áƒ£áƒšáƒ˜."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "შერწყმის უცნáƒáƒ‘ი áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ. (ეს áƒáƒ áƒáƒ¡áƒ“რáƒáƒ¡ áƒáƒ  უნდრმáƒáƒ›áƒ®áƒ“áƒáƒ áƒ˜áƒ§áƒ!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "შერწყმის უცნáƒáƒ‘ი áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"შერწყმრსáƒáƒªáƒáƒ დáƒáƒ˜áƒ¬áƒ§áƒ”ბáƒ.\n"
+"\n"
+"áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ \"გáƒáƒ™áƒ”თებáƒ\" თუ წáƒáƒ˜áƒ™áƒ˜áƒ—ხეთ ინსტრუქცირდრიცით რáƒáƒ¡ áƒáƒ™áƒ”ტებთ.\n"
+"\"სიმულáƒáƒªáƒ˜áƒ˜áƒ¡\" áƒáƒ áƒ©áƒ”ვით გáƒáƒ˜áƒ’ებტ რრმáƒáƒ®áƒ“ებáƒ.\n"
+"\n"
+"გáƒáƒ˜áƒ—ვáƒáƒšáƒ˜áƒ¡áƒ¬áƒ˜áƒœáƒ”თ ეს პრáƒáƒ’რáƒáƒ›áƒ ჯერ კიდევ ბეტáƒáƒ დრáƒáƒ áƒáƒœáƒáƒ”რი გáƒáƒ áƒáƒœáƒ¢áƒ˜áƒ áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს! "
+"სáƒáƒ¡áƒ˜áƒªáƒáƒªáƒ®áƒšáƒ მნიშვნელáƒáƒ‘ის მáƒáƒœáƒáƒªáƒ”მების სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ”ბი გáƒáƒáƒ™áƒ”თეთ!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "შერწყმის დáƒáƒ¬áƒ§áƒ”ბáƒ"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "გáƒáƒáƒ™áƒ”თე"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "სიმულáƒáƒªáƒ˜áƒ"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"მáƒáƒ áƒ™áƒ˜áƒ áƒ”ბული ელემენტი სხვáƒáƒ“áƒáƒ¡áƒ®áƒ•რდირექტáƒáƒ áƒ˜áƒ”ბში სხვáƒáƒ“áƒáƒ¡áƒ®áƒ•áƒáƒ. áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ რრქნáƒáƒ—."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"ფáƒáƒ˜áƒšáƒ˜áƒ¡ მáƒáƒ“იფიკáƒáƒªáƒ˜áƒ˜áƒ¡ თáƒáƒ áƒ˜áƒ¦áƒ”ბი იდენტურირმáƒáƒ áƒ ფáƒáƒ˜áƒšáƒ”ბი áƒáƒ áƒ. áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ რრგáƒáƒáƒ™áƒ”თáƒáƒ—."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ áƒáƒ®áƒšáƒ შეუძლებელიáƒ, რáƒáƒ“გáƒáƒœ დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმრუკვე გáƒáƒ¨áƒ•ებულიáƒ."
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"უკáƒáƒœáƒáƒ¡áƒ™áƒœáƒ”ლ ნáƒáƒ‘იჯში შეცდáƒáƒ›áƒ მáƒáƒ®áƒ“áƒ.\n"
+"გსურთ áƒáƒ› ელემენტით გáƒáƒ’რძელებáƒ, რáƒáƒ›áƒšáƒ˜áƒ¡ გáƒáƒ›áƒáƒª გდებრშეცდáƒáƒ›áƒ, თუ გსურთ გáƒáƒ“áƒáƒáƒ®áƒ¢áƒ”თ "
+"მáƒáƒ¡?"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "შეცდáƒáƒ›áƒ˜áƒ¡ შემდეგ შერწმის გáƒáƒ’რძელებáƒ"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "უკáƒáƒœáƒáƒ¡áƒ™áƒœáƒ”ლი ელემენტით გáƒáƒ’რძელებáƒ"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "ელემენტის გáƒáƒªáƒ“ენáƒ"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "გáƒáƒªáƒ“ენილიáƒ."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "შერწყმის áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ დáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "შერწყმრდáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+"შერწყმის სიმულáƒáƒªáƒ˜áƒ დáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ: შეáƒáƒ›áƒáƒ¬áƒ›áƒ”თ თუ ეთáƒáƒœáƒ®áƒ›áƒ”ბით შემáƒáƒ—áƒáƒ•áƒáƒ–ებულ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ”ბს."
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"შეცდáƒáƒ›áƒ მáƒáƒ®áƒ“áƒ. დáƒáƒáƒ¬áƒ™áƒáƒžáƒ£áƒœáƒ”თ OK დეტáƒáƒšáƒ£áƒ áƒ˜ ცნáƒáƒ‘ების სáƒáƒœáƒáƒ®áƒáƒ•áƒáƒ“.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "შეცდáƒáƒ›áƒ: %1-ს წáƒáƒ¡áƒšáƒ˜áƒ¡ დრáƒáƒ¡: სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ შექმნრვერ შედგáƒ."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ რეკურსიულáƒáƒ“ წáƒáƒ¨áƒšáƒ( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "წáƒáƒ¨áƒšáƒ( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr "შეცდáƒáƒ›áƒ: დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ˜áƒ¡ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ ვერ შედგრწáƒáƒ™áƒ˜áƒ—ხვის მცდელáƒáƒ‘ისáƒáƒ¡."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "შეცდáƒáƒ›áƒ: rmdir( %1 ) áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ ვერ შედგáƒ."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "შეცდáƒáƒ›áƒ: წáƒáƒ¨áƒšáƒ˜áƒ¡ áƒáƒžáƒžáƒ”რáƒáƒªáƒ˜áƒ ვერ შედგáƒ."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "ხელით შერწყმáƒ( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     გáƒáƒ˜áƒ—ვáƒáƒšáƒ˜áƒ¡áƒ¬áƒ˜áƒœáƒ”თ: ხელით შერწყმის შემდეგ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელმრუნდრგáƒáƒáƒ’რძელáƒáƒ¡ F7-ის "
+"დáƒáƒ­áƒ”რით."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+"შეცდáƒáƒ›áƒ: áƒáƒ¡áƒšáƒ˜( %1 -> %2 ) ვერ შედგáƒ.áƒáƒ áƒ¡áƒ”ბული დáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ”ბის ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ ვერ "
+"შედგáƒ."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "copyLink( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+"შეცდáƒáƒ›áƒ copyLink ვერ შედგáƒ: დáƒáƒ¨áƒáƒ áƒ”ბული ბმულები ჯერ áƒáƒ  áƒáƒ áƒ˜áƒ¡ მხáƒáƒ áƒ“áƒáƒ­áƒ”რილი."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "შეცდáƒáƒ›áƒ: copyLink ვერ შედგáƒ."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "áƒáƒ¡áƒšáƒ˜( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+"შეცდáƒáƒ›áƒ სáƒáƒ®áƒ”ლის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვისáƒáƒ¡( %1 -> %2 ): áƒáƒ áƒ¡áƒ”ბული დáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ”ბის წáƒáƒ¨áƒšáƒ "
+"შეუძლებელიáƒ."
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "rename( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "შეცდáƒáƒ›áƒ: სáƒáƒ®áƒ”ლის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვრვერ შედგáƒ."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr "შეცდáƒáƒ›áƒ %1-ს makeDir-ის დრáƒáƒ¡. áƒáƒ áƒ¡áƒ”ბული ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ შეუძლებელიáƒ,"
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "makeDir( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შექმნისáƒáƒ¡ შეცდáƒáƒ›áƒ."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "Dest"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Dir"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "ტიპი"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "ზáƒáƒ›áƒ"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "Attr"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "უკáƒáƒœáƒáƒ¡áƒ™áƒœáƒ”ლáƒáƒ“ ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბულიáƒ"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "ბმულის დáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ”ბáƒ"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "ხელმიუწვდáƒáƒ›áƒ”ლიáƒ"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (Dest): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (ფუძე): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (Dest): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (Dest): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "Dest:"
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმáƒ"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შერწყმის დáƒáƒ¬áƒ§áƒ”ბáƒ/გáƒáƒ’რძელებáƒ"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "მიმდინáƒáƒ áƒ” ელემენტიდáƒáƒœ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ¨áƒ•ებáƒ"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბის შედáƒáƒ áƒ”ბáƒ"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "მიმდინáƒáƒ áƒ” ფáƒáƒ˜áƒšáƒ˜áƒ¡ შერწყმáƒ"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "ყველრქვედირექტáƒáƒ áƒ˜áƒ˜áƒ¡ ჩáƒáƒ™áƒ”ცვáƒ"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "ყველრქვედირექტáƒáƒ áƒ˜áƒ˜áƒ¡ áƒáƒ áƒ©áƒáƒ™áƒ”ცვáƒ"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმáƒ"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმáƒ"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "A -თვის ყველრელემენტების áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "B -თვის ყველრელემენტების áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "C -თვის ყველრელემენტების áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "ყველრელემენტების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ”ბის áƒáƒ•ტáƒ-áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "ყველრელემენტისთვის áƒáƒ áƒáƒ•ითáƒáƒ áƒ˜ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "დირექტáƒáƒ áƒ˜áƒ”ბის სინქრáƒáƒœáƒ˜áƒ–áƒáƒªáƒ˜áƒ"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "შერწმის ნáƒáƒªáƒ•ლáƒáƒ“ áƒáƒ®áƒšáƒ˜áƒ¡ áƒáƒ¡áƒšáƒ˜ (სáƒáƒ®áƒ˜áƒ¤áƒáƒ—áƒ)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებული ფáƒáƒ˜áƒšáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბის შედáƒáƒ áƒ”ბáƒ"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბის შედáƒáƒ áƒ”ბáƒ"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "áƒáƒ áƒáƒ¤áƒ áƒ˜áƒ¡ áƒáƒ  გáƒáƒ™áƒ”თებáƒ"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "A დრB წáƒáƒ¨áƒšáƒ"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "შერწყმრA დრB-სკენ"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების მცდელáƒáƒ‘ისáƒáƒ¡, ძველი სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ ვერ შედგáƒ. \n"
+"ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების მცდელáƒáƒ‘ისáƒáƒ¡, სáƒáƒ®áƒ”ლის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვრვერ შედგáƒ. \n"
+"ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლები: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ მდგáƒáƒ›áƒáƒ áƒ”áƒáƒ‘ის მიღებáƒ: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვáƒ: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¬áƒ”რáƒ: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "მეხსიერებრáƒáƒ áƒáƒ სáƒáƒ™áƒ›áƒáƒ áƒ˜áƒ¡áƒ˜"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შექმნáƒ: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¨áƒšáƒ: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "სიმბáƒáƒšáƒ£áƒ áƒ˜ ბმულის შექმნáƒ: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¡áƒšáƒ˜: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"შეცდáƒáƒ›áƒ áƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ¡: ფáƒáƒ˜áƒšáƒ˜áƒ¡ წáƒáƒ¡áƒáƒ™áƒ˜áƒ—ხáƒáƒ“ გáƒáƒ®áƒ¡áƒœáƒ ვერ შედგáƒ. ფáƒáƒ˜áƒšáƒ˜áƒ¡ "
+"სáƒáƒ®áƒ”ლი: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"შეცდáƒáƒ›áƒ áƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ¡: ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¡áƒáƒ¬áƒ”რáƒáƒ“ გáƒáƒ®áƒ¡áƒœáƒ ვერ შედგáƒ. ფáƒáƒ˜áƒšáƒ˜áƒ¡ "
+"სáƒáƒ®áƒ”ლი: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+"შეცდáƒáƒ›áƒ áƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ¡: წáƒáƒ™áƒ˜áƒ—ხვრვერ შედგáƒ. ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+"შეცდáƒáƒ›áƒ áƒáƒ¡áƒšáƒ˜áƒ¡ გáƒáƒ™áƒ”თების áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ¡: ჩáƒáƒ¬áƒ”რრვერ შედგáƒ. ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვáƒ:"
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ სიáƒ: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "მიმდინáƒáƒ áƒ” ელემენტის სინქრáƒáƒœáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+"პáƒáƒ áƒáƒ›áƒ”ტრი --auto გáƒáƒ›áƒáƒ§áƒ”ნებულიáƒ, მáƒáƒ’რáƒáƒ› გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜ ფáƒáƒ˜áƒšáƒ˜ áƒáƒ áƒáƒ მითითებული."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "პáƒáƒ áƒáƒ›áƒ”ტრი --auto დირექტáƒáƒ áƒ˜áƒ”ბის შედáƒáƒ áƒ”ბისთვის იგნáƒáƒ áƒ˜áƒ áƒ”ბულიáƒ."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "შენáƒáƒ®áƒ•რვერ შედგáƒ."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "áƒáƒ› ფáƒáƒ˜áƒšáƒ”ბის გáƒáƒ®áƒ¡áƒœáƒ ვერ შედგáƒ:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "ხსნის დáƒáƒ™áƒ£áƒ›áƒ”ნტებს შესáƒáƒ“áƒáƒ áƒ”ბლáƒáƒ“..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr "ინáƒáƒ®áƒáƒ•ს შერწყმის შედეგებს. ყველრკáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜ უნდრგáƒáƒ“áƒáƒ˜áƒ­áƒ áƒáƒ¡!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "მიმდინáƒáƒ áƒ” დáƒáƒ™áƒ£áƒ›áƒ”ნტს ინáƒáƒ®áƒáƒ•ს რáƒáƒ’áƒáƒ áƒª..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "პრáƒáƒ’რáƒáƒ›áƒ˜áƒ¡ დáƒáƒ®áƒ£áƒ áƒ•áƒ"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "ჭრის მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒš სექციáƒáƒ¡ დრგáƒáƒªáƒ•ლით ბუფერში áƒáƒ—áƒáƒ•სებს"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒš სექციის áƒáƒ¡áƒšáƒ¡ ქმნის გáƒáƒªáƒ•ლით ბუფერში"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "გáƒáƒªáƒ•ლის ბუფერის შემáƒáƒ“გენლáƒáƒ‘áƒáƒ¡ სვáƒáƒ›áƒ¡ მიმდინáƒáƒ áƒ” პáƒáƒ–იციáƒáƒ–ე"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "სტრიქáƒáƒœáƒ˜áƒ¡ ძიებáƒ"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "სტრიქáƒáƒœáƒ˜áƒ¡ თáƒáƒ•იდáƒáƒœ ძიებáƒ"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "ხელსáƒáƒ¬áƒ§áƒáƒ—რპáƒáƒœáƒ”ლს რთáƒáƒ•ს"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "სტáƒáƒ¢áƒ£áƒ¡áƒ˜áƒ¡ ველს რთáƒáƒ•ს"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "KDiff3 კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "მიმდინáƒáƒ áƒ” დელტáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "პირველ დელტáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "უკáƒáƒœáƒáƒ¡áƒ™áƒœáƒ”ლ დელტáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "წინრდელტáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "შემდეგ დელტáƒáƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "წინრკáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "შემდეგ კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "წინრგáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლ კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "შემდეგ გáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლ კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ–ე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ ხáƒáƒ–(ებ)ი A-დáƒáƒœ"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ ხáƒáƒ–(ებ)ი B-დáƒáƒœ"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ ხáƒáƒ–(ებ)ი C-დáƒáƒœ"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr "წყáƒáƒ áƒáƒ¡ áƒáƒ áƒ©áƒ”ვისáƒáƒ¡ áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒ“áƒáƒ¡áƒ•ლრშემდეგ გáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლ კáƒáƒœáƒ¤áƒšáƒ˜áƒ™áƒ¢áƒ–ე"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "ღáƒáƒ áƒ”ბის ჩვენებრდრტáƒáƒ‘ულáƒáƒªáƒ˜áƒ˜áƒ¡ სიმბáƒáƒšáƒáƒ”ბის გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებისთვის"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "ხáƒáƒ–ების ნáƒáƒ›áƒ áƒ”ბის ჩვენებáƒ"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "ყველგáƒáƒœ A-ს áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "ყველგáƒáƒœ B-ს áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "ყველგáƒáƒœ C-ს áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "A-ს áƒáƒ áƒ©áƒ”ვრყველრგáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜áƒ¡áƒ—ვის"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "B-ს áƒáƒ áƒ©áƒ”ვრყველრგáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜áƒ¡áƒ—ვის"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "C-ს áƒáƒ áƒ©áƒ”ვრყველრგáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜áƒ¡áƒ—ვის"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "მáƒáƒ áƒ¢áƒ˜áƒ•ი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის áƒáƒ•რáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒ“áƒáƒ­áƒ áƒ"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბისთვის დელტáƒáƒ¡ მინიჭებáƒ"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "მáƒáƒ áƒ¢áƒ˜áƒ•ი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის áƒáƒ•რáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒ“áƒáƒ­áƒ áƒ"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "ფáƒáƒœáƒ¯áƒáƒ áƒ A-ს ჩვენებრ"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "ფáƒáƒœáƒ¯áƒáƒ áƒ B-ს ჩვენებáƒ"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "ფáƒáƒœáƒ¯áƒáƒ áƒ C-ს ჩვენებáƒ"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "ფáƒáƒ™áƒ£áƒ¡áƒ˜ შემდეგ ფáƒáƒœáƒ¯áƒáƒ áƒáƒ–ე"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "ჩვეულებრივი გáƒáƒ“áƒáƒ®áƒ”დვáƒ"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "A წინáƒáƒáƒ¦áƒ›áƒ“ეგ B გáƒáƒ“áƒáƒ®áƒ”დვáƒ"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "A წინáƒáƒáƒ¦áƒ›áƒ“ეგ C გáƒáƒ“áƒáƒ®áƒ”დვáƒ"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "B წინáƒáƒáƒ¦áƒ›áƒ“ეგ C გáƒáƒ“áƒáƒ®áƒ”დვáƒ"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Word Wrap Diff ფáƒáƒœáƒ¯áƒ áƒ”ბი"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "ფáƒáƒ™áƒ£áƒ¡áƒ˜ წინრფáƒáƒœáƒ¯áƒáƒ áƒáƒ–ე"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "გáƒáƒ®áƒšáƒ”ჩვის áƒáƒ áƒ˜áƒ”ნტáƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ“áƒáƒ áƒ—ვáƒ"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡áƒ დრტექსტი გáƒáƒœáƒšáƒáƒ’ების ეკრáƒáƒœáƒ˜áƒ¡ ხედი"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რდრტექსტის ხედებს შáƒáƒ áƒ˜áƒ¡ გáƒáƒ“áƒáƒ áƒ—ვáƒ"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "შერწყმის შედეგები áƒáƒ  იყრშენáƒáƒ®áƒ£áƒšáƒ˜."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "შენáƒáƒ®áƒ•რდრგáƒáƒ¡áƒ•ლáƒ"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "გáƒáƒ¡áƒ•ლრშენáƒáƒ®áƒ•ის გáƒáƒ áƒ”შე"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "შერწყმის შედეგების შენáƒáƒ®áƒ•რვერ შედგáƒ."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "თქვენ áƒáƒ®áƒšáƒ დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმáƒáƒ¡ áƒáƒ™áƒ”თებთ. ნáƒáƒ›áƒ“ვილáƒáƒ“ გსურთ შეწყვეტáƒ?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ შენáƒáƒ®áƒ•áƒ..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ®áƒáƒšáƒ˜ სáƒáƒ®áƒ”ლით შენáƒáƒ®áƒ•áƒ..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "გáƒáƒ›áƒáƒ¡áƒ•ლáƒ..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "შერწყმის áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ დáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "გáƒáƒ›áƒáƒ¡áƒ•ლáƒ..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "ხელსáƒáƒ¬áƒ§áƒáƒ—რპáƒáƒœáƒ”ლის გáƒáƒ“áƒáƒ áƒ—ვáƒ..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "სტáƒáƒ¢áƒ£áƒ¡áƒ˜áƒ¡ ზáƒáƒšáƒ˜áƒ¡ გáƒáƒ“áƒáƒ áƒ—ვáƒ..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "შსáƒáƒ“áƒáƒ áƒ”ბელი ფáƒáƒ˜áƒšáƒ”ბი ვერ მáƒáƒ˜áƒ«áƒ”ბნáƒ."
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"ჩვენი ნáƒáƒ¬áƒ˜áƒšáƒ˜ ვერ მáƒáƒ˜áƒ«áƒ”ბნáƒ!\n"
+"ეს რáƒáƒ’áƒáƒ áƒª წესი დáƒáƒ§áƒ”ნების პრáƒáƒ‘ლემების გáƒáƒ›áƒ ხდებáƒ. გთხáƒáƒ•თ წáƒáƒ˜áƒ™áƒ˜áƒ—ხáƒáƒ— README-ფáƒáƒ˜áƒšáƒ˜ "
+"წყáƒáƒ áƒáƒ¡ პáƒáƒ™áƒ”ტში დáƒáƒ›áƒáƒ¡áƒ¢áƒ”ბითი ცნáƒáƒ‘ებისთვის."
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "ფáƒáƒ˜áƒšáƒ”ბის დრსáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეების შედáƒáƒ áƒ”ბის დრშერწყმის ხელსáƒáƒ¬áƒ§áƒáƒ”ბი"
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "შეტáƒáƒœáƒ˜áƒ¡ შერწყმáƒ."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜. Implies -m. E.g.: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+"გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜, თáƒáƒ•იდáƒáƒœ. (გáƒáƒœáƒ¡áƒáƒ–ღვრულ ხელსáƒáƒ¬áƒ§áƒáƒ¡áƒ—áƒáƒœ თáƒáƒ•სებáƒáƒ“áƒáƒ‘ისთვის.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr "GUI-ს გáƒáƒ áƒ”შე თუ ყველრკáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ გáƒáƒ“áƒáƒ­áƒ áƒáƒ“იáƒ. (სსáƒáƒ­áƒ˜áƒ áƒáƒ”ბს -o ფáƒáƒ˜áƒšáƒ¡)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ áƒáƒ  გáƒáƒ“áƒáƒ­áƒ áƒ. (თáƒáƒ•სებáƒáƒ“áƒáƒ‘ისთვის...)"
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "ხილული სáƒáƒ®áƒ”ლის ჩáƒáƒœáƒáƒªáƒ•ლებრ1 ფáƒáƒ˜áƒšáƒ˜áƒ¡áƒ—ვის (სáƒáƒ‘áƒáƒ–ისáƒ)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "ხილული სáƒáƒ®áƒ”ლის ჩáƒáƒœáƒáƒªáƒ•ლებრ2 ფáƒáƒ˜áƒšáƒ˜áƒ¡áƒ—ვის."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "ხილული სáƒáƒ®áƒ”ლის ჩáƒáƒœáƒáƒªáƒ•ლებრ3 ფáƒáƒ˜áƒšáƒ˜áƒ¡áƒ—ვის."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+"áƒáƒšáƒ¢áƒ”რნáƒáƒ¢áƒ˜áƒ£áƒšáƒ˜ ხილული სáƒáƒ®áƒ”ლის ჩáƒáƒœáƒáƒªáƒ•ლებáƒ. მიუთითეთ ერთხელ ყáƒáƒ•ელი შეყვáƒáƒœáƒ˜áƒ¡áƒ—ვის."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებული ფáƒáƒ˜áƒšáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "ფáƒáƒ˜áƒšáƒ˜3-ის გáƒáƒ®áƒ¡áƒœáƒ (სáƒáƒ¤áƒ£áƒ«áƒ•ელი, თუ áƒáƒ áƒáƒ მითითებული --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "ფáƒáƒ˜áƒšáƒ˜2-ის გáƒáƒ®áƒ¡áƒœáƒ"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "ფáƒáƒ˜áƒšáƒ˜3-ის გáƒáƒ®áƒ¡áƒœáƒ"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+"+ დიდი მáƒáƒ“ლáƒáƒ‘რმáƒáƒ— ვინც გვáƒáƒ¢áƒ§áƒáƒ‘ინებს ბზიკების შესáƒáƒ®áƒ”ბ დრგვáƒáƒ¬áƒáƒ“ებს იდეებს!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"დáƒáƒ áƒ©áƒ”ნილი გáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ: %1 (სáƒáƒ˜áƒ“áƒáƒœáƒáƒª %2 áƒáƒ áƒ˜áƒ¡ ღáƒáƒ áƒ˜)"
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜ ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბულიáƒ.\n"
+"თუ გáƒáƒáƒ’რძელებთ ცვლილებები დáƒáƒ’ეკáƒáƒ áƒ’ებáƒáƒ—."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "ყველრშეტáƒáƒœáƒ˜áƒšáƒ˜ ბáƒáƒ˜áƒšáƒ˜áƒ¡ ბინáƒáƒ áƒ˜ ტáƒáƒšáƒ˜áƒ."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "ყველრშეტáƒáƒœáƒ˜áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ შეიცáƒáƒ•ს ერთიდáƒáƒ˜áƒ’ივე ტექსტი."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"A დრB ბინáƒáƒ áƒ£áƒšáƒáƒ“ ტáƒáƒšáƒ˜áƒ.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"A დრB áƒáƒ¥áƒ•თ ერთიდáƒáƒ˜áƒ’ივე ტექსტი. \n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"A დრC ბინáƒáƒ áƒ£áƒšáƒáƒ“ ტáƒáƒšáƒ˜áƒ.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"A დრC áƒáƒ¥áƒ•თ ერთიდáƒáƒ˜áƒ’ივე ტექსტი. \n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"B დრC ბინáƒáƒ áƒ£áƒšáƒáƒ“ ტáƒáƒšáƒ˜áƒ.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"B დრC áƒáƒ¥áƒ•თ ერთიდáƒáƒ˜áƒ’ივე ტექსტი. \n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის სრული რáƒáƒáƒ“ენáƒáƒ‘áƒ: "
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒ“áƒáƒ­áƒ áƒ˜áƒšáƒ˜ კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"გáƒáƒ“áƒáƒ£áƒ­áƒ áƒ”ლი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘áƒ: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბი"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<No src line>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Merge Conflict (Whitespace only)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<Merge Conflict>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბულიáƒ]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"ყველრკáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜ ჯერ áƒáƒ áƒáƒ გáƒáƒ“áƒáƒ­áƒ áƒ˜áƒšáƒ˜.\n"
+"ფáƒáƒ˜áƒšáƒ˜ áƒáƒ áƒáƒ შენáƒáƒ®áƒ£áƒšáƒ˜.\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "დáƒáƒ áƒ©áƒ”ნილი კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ”ბი"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+"\n"
+"\n"
+"სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ შექმნრვერ შედგáƒ. ფáƒáƒ˜áƒšáƒ˜ áƒáƒ áƒáƒ შენáƒáƒ®áƒ£áƒšáƒ˜."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ შენáƒáƒ®áƒ•ის შეცდáƒáƒ›áƒ"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "ჩáƒáƒ¬áƒ”რისáƒáƒ¡ შეცდáƒáƒ›áƒ."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "უნიკáƒáƒ“ი, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "უნიკáƒáƒ“ი"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "შეცვáƒáƒšáƒ” თუ áƒáƒ áƒ ASCII სიმბáƒáƒšáƒáƒ”ბი áƒáƒ  áƒáƒ˜áƒ¡áƒáƒ®áƒ”ბრმáƒáƒ áƒ—ებულáƒáƒ“."
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜ დრDiff გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜áƒ¡ შრიფტი"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "დელტáƒáƒ¡áƒ—ვის კურსივი"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"ირჩევს კურსივ შრიფტებს გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებისთვის.\n"
+"თუ შრიფტს áƒáƒ  áƒáƒ¥áƒ•ს კურსივის მხáƒáƒ áƒ“áƒáƒ­áƒ”რáƒ, მáƒáƒ¨áƒ˜áƒœ ეს áƒáƒ áƒáƒ¤áƒ”რს áƒáƒ  áƒáƒ™áƒ”თებს."
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "ფერი"
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "რეგიáƒáƒœáƒáƒšáƒ£áƒ áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრები"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "ზედáƒáƒžáƒ˜áƒ áƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "ფáƒáƒœáƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "Diff ფáƒáƒœáƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "ფერი A:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "ფერი B:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "ფერი C:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "კáƒáƒœáƒ¤áƒšáƒ˜áƒ¥áƒ¢áƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "მიმდინáƒáƒ áƒ” შუáƒáƒšáƒ”დის ფáƒáƒœáƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "მიმდინáƒáƒ áƒ” შუáƒáƒšáƒ”დის diff ფáƒáƒœáƒ˜áƒ¡ ფერი:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შედáƒáƒ áƒ”ბის სტáƒáƒ¢áƒ£áƒ¡áƒ˜"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜áƒ¡ ქცევáƒ"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "Tab სვáƒáƒ•ს ღáƒáƒ áƒ”ბს"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+"ჩáƒáƒ áƒ—ულიáƒ: tab-ის დáƒáƒ­áƒ”რრáƒáƒ’ენერირებს ღáƒáƒ áƒ”ბის გáƒáƒœáƒ¡áƒáƒ–ღვრულ რáƒáƒáƒ“ენáƒáƒ‘áƒáƒ¡.\n"
+"გáƒáƒ›áƒáƒ áƒ—ულიáƒ: ტáƒáƒ‘ულáƒáƒªáƒ˜áƒ˜áƒ¡ სიმბáƒáƒšáƒ იქნებრჩáƒáƒ¡áƒ›áƒ£áƒšáƒ˜."
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "ჩáƒáƒœáƒáƒ áƒ—ის ზáƒáƒ›áƒ:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "áƒáƒ•ტრშეწევáƒ"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+"ჩáƒáƒ áƒ—ულიáƒ: წინრხáƒáƒ–ის შეწევრგáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრáƒáƒ®áƒáƒšáƒ˜ ხáƒáƒ–ისთვის.\n"
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის áƒáƒ•ტრáƒáƒ¡áƒšáƒ˜"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+"ჩáƒáƒ áƒ—ულიáƒ: ნებისმიერი მáƒáƒœáƒ˜áƒ¨áƒ•ნრჯდებრგáƒáƒªáƒ•ლის ბუფერში.\n"
+"გáƒáƒ›áƒáƒ áƒ—ულიáƒ: თქვენ áƒáƒ¡áƒšáƒ˜ უნდრგáƒáƒáƒ™áƒ”თáƒáƒ— მáƒáƒ’. Ctrl-C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "ხáƒáƒ–ის დáƒáƒ¡áƒáƒ áƒ£áƒšáƒ˜áƒ¡ სტილი:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+"áƒáƒ§áƒ”ნებს ხáƒáƒ–ის ბáƒáƒšáƒáƒ¡ რáƒáƒ“ესáƒáƒª რედáƒáƒ¥áƒ¢áƒ£áƒ áƒ”ბული ფáƒáƒ˜áƒšáƒ˜ ინáƒáƒ®áƒ”ბáƒ.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "Diff & შერწყმáƒ"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Diff & შერწყმის პáƒáƒ áƒáƒ›áƒ”ტრები"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "რáƒáƒªáƒ®áƒ•ების იგნáƒáƒ áƒ˜áƒ áƒ”ბáƒ"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"რიცხვების იგნáƒáƒ áƒ˜áƒ áƒ”ბრფრáƒáƒ–ების შედáƒáƒ áƒ”ბისáƒáƒ¡. (იგივე ნáƒáƒ”რáƒáƒ“ რáƒáƒ’áƒáƒ  ღáƒáƒ áƒ”ბის "
+"იგნáƒáƒ áƒ˜áƒ áƒ”ბáƒ.)\n"
+"შეიძლებრდáƒáƒ’ეხმáƒáƒ áƒáƒ— ციფრული მáƒáƒœáƒáƒªáƒ”მებით ფáƒáƒ˜áƒšáƒ”ბის შედáƒáƒ áƒ”ბისáƒáƒ¡."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "C/C++ კáƒáƒ›áƒ”ნტáƒáƒ áƒ”ბის იგნáƒáƒ áƒ˜áƒ áƒ”ბáƒ"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "C/C++ კáƒáƒ›áƒ”ნტáƒáƒ áƒ”ბის ღáƒáƒ áƒ”ბáƒáƒ“ გáƒáƒœáƒ®áƒ˜áƒšáƒ•áƒ."
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "რეგისტრის იგნáƒáƒ áƒ˜áƒ áƒ”ბáƒ"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr "რეგისტრის სხვáƒáƒáƒ‘ის ღáƒáƒ áƒ”ბáƒáƒ“ გáƒáƒœáƒ®áƒ˜áƒšáƒ•áƒ. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "Preprocessor ბრძáƒáƒœáƒ”ბáƒ:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+"მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის მიერ გáƒáƒœáƒ¡áƒáƒ–ღვრული processing. (დეტáƒáƒšáƒ”ბისთვის იხ. დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ.)"
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "ხáƒáƒ–ის დáƒáƒ›áƒ—ხვევის preprocessor ბრძáƒáƒœáƒ”ბáƒ:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "მáƒáƒ’რáƒáƒ“ ცდრ(ნელიáƒ)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"გáƒáƒ áƒ” diff-სთვის რთáƒáƒ•ს --minimal პáƒáƒ áƒáƒ›áƒ”ტრს.\n"
+"დიდი ფáƒáƒ˜áƒšáƒ”ბის áƒáƒœáƒáƒšáƒ˜áƒ–ი ბევრáƒáƒ“ შენელდებáƒ."
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "ხელით áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რშერწყმáƒ"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რრეკურსიáƒ"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "ქვესáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეები გáƒáƒáƒœáƒáƒšáƒ˜áƒ–დეს თუ áƒáƒ áƒ."
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ შáƒáƒ‘ლáƒáƒœ(ებ)ი:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"გáƒáƒ¡áƒáƒáƒœáƒáƒšáƒ˜áƒ–ებელი ფáƒáƒ˜áƒšáƒ”ბის შáƒáƒ‘ლáƒáƒœ(ებ)ი.\n"
+"Wildcards: '*' დრ'?'\n"
+"რáƒáƒ›áƒ“ენიმე შáƒáƒ‘ლáƒáƒœáƒ˜áƒ¡ მითითებრშეიძლებრ';' გáƒáƒ›áƒ§áƒáƒ¤áƒ˜áƒ—"
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡-áƒáƒœáƒ¢áƒ˜-შáƒáƒ‘ლáƒáƒœ(ებ)ი:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"áƒáƒ áƒ გáƒáƒ¡áƒáƒáƒœáƒáƒšáƒ˜áƒ–ებელი ფáƒáƒ˜áƒšáƒ”ბის შáƒáƒ‘ლáƒáƒœ(ებ)ი.\n"
+"Wildcards: '*' დრ'?'\n"
+"რáƒáƒ›áƒ“ენიმე შáƒáƒ‘ლáƒáƒœáƒ˜áƒ¡ მითითებრშეიძლებრ';' გáƒáƒ›áƒ§áƒáƒ¤áƒ˜áƒ—"
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "Dir-áƒáƒœáƒ¢áƒ˜-შáƒáƒ‘ლáƒáƒœ(ებ)ი:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"áƒáƒ áƒ გáƒáƒ¡áƒáƒáƒœáƒáƒšáƒ˜áƒ–ებელი დირექტáƒáƒ áƒ˜áƒ”ბის შáƒáƒ‘ლáƒáƒœ(ებ)ი.\n"
+"Wildcards: '*' დრ'?'\n"
+"რáƒáƒ›áƒ“ენიმე შáƒáƒ‘ლáƒáƒœáƒ˜áƒ¡ მითითებრშეიძლებრ';' გáƒáƒ›áƒ§áƒáƒ¤áƒ˜áƒ—"
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ".cvsignore-ის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "დáƒáƒ›áƒáƒšáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბის დრდირექტáƒáƒ áƒ˜áƒ”ბის ძიებáƒ"
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "ფáƒáƒ˜áƒšáƒ”ბის დრდირექტáƒáƒ áƒ˜áƒ”ბის ძიებრდáƒáƒ›áƒáƒšáƒ£áƒšáƒ˜ áƒáƒ¢áƒ áƒ˜áƒ‘უტით."
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "'.'-ით დáƒáƒ¬áƒ§áƒ”ბული ფáƒáƒ˜áƒšáƒ”ბის დრდირექტáƒáƒ áƒ˜áƒ”ბის ძიებáƒ."
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "ფáƒáƒ˜áƒšáƒ—რბმულზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"ჩáƒáƒ áƒ—ულიáƒ: იმ ფáƒáƒ˜áƒšáƒ—რშედáƒáƒ áƒ”ბრრáƒáƒ–ეც მიუთითებს ბმული.\n"
+"გáƒáƒ›áƒáƒ áƒ—ულიáƒ: ბმულების შედáƒáƒ áƒ”ბáƒ."
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "დირექტáƒáƒ áƒ˜áƒáƒ—რბმულზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"ჩáƒáƒ áƒ—ულიáƒ: იმ დირექტáƒáƒ áƒ˜áƒáƒ—რშედáƒáƒ áƒ”ბრრáƒáƒ–ეც მიუთითებს ბმული.\n"
+"გáƒáƒ›áƒáƒ áƒ—ულიáƒ: ბმულების შედáƒáƒ áƒ”ბáƒ."
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "მხáƒáƒšáƒáƒ“ დელტების ჩáƒáƒ›áƒáƒ—ვლáƒ"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "ფáƒáƒ˜áƒšáƒ”ბი დრდირექტáƒáƒ áƒ˜áƒ”ბი ცვლილებების გáƒáƒ áƒ”შე სიáƒáƒ¨áƒ˜ áƒáƒ  áƒáƒ˜áƒ¡áƒáƒ®áƒ”ბáƒ."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr "ფáƒáƒ˜áƒšáƒ—რშედáƒáƒ áƒ”ბის რეჟიმი"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "áƒáƒ áƒáƒ‘ითი შედáƒáƒ áƒ”ბáƒ"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr "ყáƒáƒ•ელი ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ áƒáƒ‘ითი შედáƒáƒ áƒ”ბáƒ. (ნáƒáƒ’ულისხმები)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "სრული áƒáƒœáƒáƒšáƒ˜áƒ–ი"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+"სრული áƒáƒœáƒáƒšáƒ˜áƒ–ის გáƒáƒ™áƒ”თებრდრსტáƒáƒ¢áƒ˜áƒ¡áƒ¢áƒ˜áƒ™áƒ£áƒ áƒ˜ ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ექსტრრსვეტში áƒáƒ¡áƒáƒ®áƒ•áƒ.\n"
+"(უფრრნელირვიდრე ბინáƒáƒ áƒ£áƒšáƒ˜ შედáƒáƒ áƒ”ბáƒ, ბევრáƒáƒ“ ნელი ბინáƒáƒ áƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბისთვის.)"
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "მáƒáƒ“იფიცირების თáƒáƒ áƒ˜áƒ¦áƒ˜ ნდáƒáƒ‘რ(áƒáƒ áƒáƒ სáƒáƒœáƒ“áƒ)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"თუ მáƒáƒ“იფიცირების თáƒáƒ áƒ˜áƒ¦áƒ˜ დრფáƒáƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ ტáƒáƒšáƒ˜áƒ, მáƒáƒ— იდენტურáƒáƒ“ მიჩნევáƒ.\n"
+"კáƒáƒ áƒ’ირდიდი დირექტáƒáƒ áƒ˜áƒ”ბისთვის დრნელი ქსელებისთვის."
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "ზáƒáƒ›áƒ˜áƒ¡ ნდáƒáƒ‘რ(áƒáƒ áƒáƒ სáƒáƒœáƒ“áƒ)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"თუ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ ტáƒáƒšáƒ˜áƒ, მáƒáƒ— იდენტურáƒáƒ“ მიჩნევáƒ.\n"
+"კáƒáƒ áƒ’ირდიდი დირექტáƒáƒ áƒ˜áƒ”ბისთვის დრნელი ქსელებისთვის, რáƒáƒ“ესáƒáƒª მáƒáƒ“იფიკáƒáƒªáƒ˜áƒ˜áƒ¡ დრრ"
+"ჩáƒáƒ›áƒáƒ¥áƒáƒ©áƒ•ისáƒáƒ¡ იცვლებáƒ."
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "დირექტáƒáƒ áƒ˜áƒ”ბის სინქრáƒáƒœáƒ˜áƒ–áƒáƒªáƒ˜áƒ"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "ინტერვáƒáƒšáƒ”ბის სხვáƒáƒáƒ‘ის ტáƒáƒšáƒáƒ“ ჩáƒáƒ—ვლáƒ"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"თუ ფáƒáƒ˜áƒšáƒ”ბი მხáƒáƒšáƒáƒ“ ინტერვáƒáƒšáƒ”ბით გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•დებáƒ, მáƒáƒ—ი ტáƒáƒšáƒáƒ“ ჩáƒáƒ—თვლáƒ.\n"
+"ეს áƒáƒ¥áƒ¢áƒ˜áƒ£áƒ áƒ˜áƒ მხáƒáƒšáƒáƒ“ თუ სრული áƒáƒœáƒáƒšáƒ˜áƒ–ირáƒáƒ áƒ©áƒ”ული."
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "შერწმის ნáƒáƒªáƒ•ლáƒáƒ“ áƒáƒ®áƒšáƒ˜áƒ¡ áƒáƒ¡áƒšáƒ˜ (სáƒáƒ®áƒ˜áƒ¤áƒáƒ—áƒ)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"შიგნით ნუ ჩáƒáƒ˜áƒ®áƒ”დáƒáƒ•ტ, მხáƒáƒšáƒáƒ“ áƒáƒ˜áƒ¦áƒ”თ áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜.\n"
+"(გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ ეს მáƒáƒ áƒ¢áƒ მáƒáƒ¨áƒ˜áƒœ თუ იცით რáƒáƒ¡ áƒáƒ™áƒ”თებთ!)\n"
+"მáƒáƒ¨áƒ˜áƒœáƒáƒ ეფექტური, რáƒáƒ“ესáƒáƒª áƒáƒ  დირექტáƒáƒ áƒ˜áƒáƒ¡ áƒáƒ“áƒáƒ áƒ”ბთ."
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "სáƒáƒ áƒ”ზერვრáƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜ (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+"რáƒáƒ“ესáƒáƒª ფáƒáƒ˜áƒšáƒ˜ ძველ ფáƒáƒ˜áƒšáƒ–ე უნდრიქნáƒáƒ¡ შენáƒáƒ®áƒ£áƒšáƒ˜, მáƒáƒ¨áƒ˜áƒœ ძველ ფáƒáƒ˜áƒšáƒ¡\n"
+"სáƒáƒ®áƒ”ლი გáƒáƒ“áƒáƒ”რქმევრ'.orig' გáƒáƒ¤áƒáƒ áƒ—áƒáƒ•ებით იმის მáƒáƒ’ივრáƒáƒ“ რáƒáƒ› წáƒáƒ˜áƒ¨áƒáƒšáƒáƒ¡."
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "რეგიáƒáƒœáƒáƒšáƒ£áƒ áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრები"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "ენრ(გáƒáƒ“áƒáƒ¢áƒ•ირთვáƒáƒ სáƒáƒ­áƒ˜áƒ áƒ)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+"GUI-სტრიქáƒáƒœáƒ˜áƒ¡áƒ—ვის ენის შეცვლრáƒáƒœ \"áƒáƒ•ტáƒ\".\n"
+"ენის ცვლილებრრáƒáƒ› გáƒáƒáƒ¥áƒ¢áƒ˜áƒ£áƒ áƒ“ეს დáƒáƒ®áƒ£áƒ áƒ”თ დრგáƒáƒ“áƒáƒ¢áƒ•ირთეთ KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "ყველáƒáƒ¡áƒ—ვის იგივე კáƒáƒ“ირების გáƒáƒ›áƒáƒ§áƒ”ნებáƒ:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"áƒáƒ›áƒ˜áƒ¡ ჩáƒáƒ áƒ—ვრსáƒáƒ¡áƒ£áƒáƒšáƒ”ბáƒáƒ¡ გáƒáƒ«áƒšáƒ”ვთ ყველრკáƒáƒ“ირებრშეცვáƒáƒšáƒáƒ— მხáƒáƒšáƒáƒ“ პირველის "
+"შეცვლით.\n"
+"გáƒáƒ›áƒáƒ áƒ—ეთ ეს თუ გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•ებული ინდივიდუáƒáƒšáƒ£áƒ áƒ£áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრებირსáƒáƒ­áƒ˜áƒ áƒ."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "შენიშვნáƒ: ლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ კáƒáƒ“ირებრáƒáƒ áƒ˜áƒ¡"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ კáƒáƒ“ირებრA-თვის:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ კáƒáƒ“ირებრB-თვის:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ კáƒáƒ“ირებრC-თვის:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ კáƒáƒ“ირებრგáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜áƒ¡ შერწყმისრდრშენáƒáƒ®áƒ•ისთვის:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ კáƒáƒ“ირებრ-პრეპრáƒáƒªáƒ”სáƒáƒ áƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ”ბისთვის:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "მáƒáƒ áƒ¯áƒ•ნიდáƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• ენáƒ"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"ზáƒáƒ’ი ენრმáƒáƒ áƒ¯áƒ•ნიდáƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• იკითხებáƒ.\n"
+"ეს პáƒáƒ áƒáƒ›áƒ”ტრი შეცვლის ხედს დრრედáƒáƒ¥áƒ¢áƒáƒ áƒ¡."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "რეგიáƒáƒœáƒáƒšáƒ£áƒ áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრები"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"თქვენ áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ შრიფტის ცვლáƒáƒ“ი სიგáƒáƒœáƒ”.\n"
+"\n"
+"რáƒáƒ“გáƒáƒœ ეს პრáƒáƒ’რáƒáƒ›áƒ ვერ áƒáƒ›áƒ£áƒ¨áƒáƒ•ებს შრიფტის ცვლáƒáƒ“ სიგáƒáƒœáƒ”ს\n"
+"სწáƒáƒ áƒáƒ“, თქვენ შეიძლებრრედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბისáƒáƒ¡ პრáƒáƒ‘ლემები შეგექმნáƒáƒ—.\n"
+"\n"
+"გსურთ გáƒáƒáƒ’რძელáƒáƒ— თუ სხვრშრიფტს áƒáƒ˜áƒ áƒ©áƒ”ვთ."
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "შეუთáƒáƒ•სებელი შრიფტი"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "სáƒáƒ™áƒ£áƒ—áƒáƒ áƒ˜ თáƒáƒ•ის იმედáƒáƒ— გáƒáƒ’რძელებáƒ"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "სხვრშრიფტის áƒáƒ›áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+"ეს ყველრპáƒáƒ áƒáƒ›áƒ”ტრს სáƒáƒ¬áƒ§áƒ˜áƒ¡ მდგáƒáƒ›áƒáƒ áƒ”áƒáƒ‘áƒáƒ–ე áƒáƒ‘რუნებს. áƒáƒ áƒ მხáƒáƒšáƒáƒ“ მიმდინáƒáƒ áƒ” თემისáƒáƒ¡."
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr "PreprocessorCmd: "
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"შემდეგმრპáƒáƒ áƒáƒ›áƒ”ტრ(ებ)მáƒ, რáƒáƒ›áƒšáƒ”ბიც áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ, შეიძლებრშეცვáƒáƒšáƒáƒ¡ მáƒáƒœáƒáƒªáƒ”მები:\n"
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+"\n"
+"რáƒáƒ’áƒáƒ áƒª ჩáƒáƒœáƒ¡ ეს შერწყმისáƒáƒ¡ áƒáƒ áƒáƒ სáƒáƒ­áƒ˜áƒ áƒ.\n"
+"გსურთ áƒáƒ› პáƒáƒ áƒáƒ›áƒ”ტრების გáƒáƒ›áƒáƒ áƒ—ვრთუ áƒáƒ¥áƒ¢áƒ˜áƒ£áƒ áƒ˜ პáƒáƒ áƒáƒ›áƒ”ტრებით გáƒáƒ’რძელებáƒ?"
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr "პáƒáƒ áƒáƒ›áƒ”ტრი შერწყმისთვის áƒáƒ áƒáƒ უსáƒáƒ¤áƒ áƒ—ხáƒ"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "შერწყმისáƒáƒ¡ áƒáƒ› პáƒáƒ áƒáƒ›áƒ”ტრების გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "სáƒáƒ®áƒ˜áƒ¤áƒáƒ—რპáƒáƒ áƒáƒ›áƒ”ტრების გáƒáƒ›áƒáƒ áƒ—ვáƒ"
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "იტვირთებრA"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "იტვირთებრB"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Diff: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "Linediff: A <-> B"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "იტვირთებრC"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Diff: B <-> C"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Diff: A <-> C"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "Linediff: B <-> C"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "Linediff: A <-> C"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"ზáƒáƒ’ი შეტáƒáƒœáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜ áƒáƒ  áƒáƒ áƒ˜áƒ¡ მხáƒáƒšáƒáƒ“ ტექსტური ფáƒáƒ˜áƒšáƒ˜.\n"
+"გáƒáƒ˜áƒ—ვáƒáƒšáƒ˜áƒ¡áƒ¬áƒ˜áƒœáƒ”თ რáƒáƒ› KDiff3-შერწყმრáƒáƒ  გულისხმáƒáƒ‘ს ბინáƒáƒ áƒ£áƒš მáƒáƒœáƒáƒªáƒ”მებს.\n"
+"გáƒáƒáƒ’რძელეთ სáƒáƒ™áƒ£áƒ—áƒáƒ áƒ˜ თáƒáƒ•ის იმედáƒáƒ—."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "შეწყვეტáƒ"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "ფáƒáƒ˜áƒšáƒ—რგáƒáƒ®áƒ¡áƒœáƒ..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფრáƒáƒ’მენტის მáƒáƒ­áƒ áƒ..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜áƒ¡ გáƒáƒªáƒ•ლით ბიფერში გáƒáƒœáƒ—áƒáƒ•სებáƒ..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "გáƒáƒªáƒ•ლის ბუფერის შიგთáƒáƒ•სის ჩáƒáƒ¡áƒ›áƒ..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "შენáƒáƒ®áƒ•რდრგáƒáƒ’რძელებáƒ"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "შენáƒáƒ®áƒ•ის გáƒáƒ áƒ”შე გáƒáƒ’რძელებáƒ"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "ძიებრდáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "ძიებრდáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "დირექტáƒáƒ áƒ˜áƒ˜áƒ¡ შექმნისáƒáƒ¡ შეცდáƒáƒ›áƒ."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&დირექტáƒáƒ áƒ˜áƒ"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "მიმდინáƒáƒ áƒ” ელემენტის შერწყმის áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "მიმდინáƒáƒ áƒ” ელემენტის სინქრáƒáƒœáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&მáƒáƒ«áƒ áƒáƒáƒ‘áƒ"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iffview"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "შ&ერწყმáƒ"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&ფáƒáƒœáƒ¯áƒáƒ áƒ"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "A (ფუძე):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "ფáƒáƒ˜áƒšáƒ˜..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Dir..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "C (áƒáƒ áƒáƒ¡áƒáƒ•áƒáƒšáƒ“ებულáƒ_:"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜ (áƒáƒ áƒáƒ¡áƒáƒ•áƒáƒšáƒ“ებულáƒ):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "ტექსტის ძიებáƒ:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "რეგისტრისáƒáƒ“მი მგძნáƒáƒ‘იáƒáƒ áƒ”"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "ძიებრA"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "ძიებრB"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "ძიებრC"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ˜áƒ¡ ძიებáƒ"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "ძიე&ბáƒ"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის áƒáƒ•ტრáƒáƒ¡áƒšáƒ˜"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "ხელით áƒáƒ áƒ©áƒ”ვáƒ"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "შენáƒáƒ®áƒ•რვერ შედგáƒ."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "áƒáƒ áƒ áƒáƒ¥áƒ•ს ეფექტი. გáƒáƒœáƒ¡áƒáƒ–ღვრულ ხელსáƒáƒ¬áƒ§áƒáƒ”ბთáƒáƒœ თáƒáƒ•სებáƒáƒ“áƒáƒ‘ისთვის."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "გáƒáƒœáƒ¡áƒáƒ–ღვრულ ხელსáƒáƒ¬áƒ§áƒáƒ”ბთáƒáƒœ თáƒáƒ•სებáƒáƒ“áƒáƒ‘ისთვის."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "ფერები რედáƒáƒ¥áƒ¢áƒáƒ áƒ¨áƒ˜ დრDiff გáƒáƒ›áƒáƒœáƒáƒ¢áƒáƒœáƒ¨áƒ˜"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/lt.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2584 @@
+# Lithuanian translation of the packate
+# Automatically generated, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ziogelis 77\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-23 01:27+0100\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo.cpp:1
+#, fuzzy
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "nobody"
+
+#: _translatorinfo.cpp:3
+#, fuzzy
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "nobody@nowhere.lt"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Pab"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+#, fuzzy
+msgid "Name"
+msgstr ""
+"#-#-#-#-#  kate.po (kate)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcmicons.po (kcmicons)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcmkurifilt.po (kcmkurifilt)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfontinst.po (kfontinst)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  fontinst.po (fontinst)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcmview1394.po (kcmview1394)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcminfo.po (kcminfo)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  konqueror.po (konqueror)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kdcop.po (kdcop)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcmnic.po (kcmnic)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kcminput.po (kcminput)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  knetworkconf.po (knetworkconf)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kio_print.po (kio_print)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  ksysguard.po (ksysguard)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kfindpart.po (kfindpart)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kdeprint.po (kdeprint)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kio.po (kio)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kdelibs.po (kdelibs)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  katepart.po (katepart)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfilereplace.po (kfilereplace)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  ksysv.po (ksysv)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kfile_rpm.po (kfile_rpm)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kfile_deb.po (kfile_deb)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kmahjongg.po (kmahjongg)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kbattleship.po (kbattleship)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  konquest.po (konquest)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcoloredit.po (kcoloredit)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kstars.po (kstars)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kmessedwords.po (kmessedwords)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kiten.po (kiten)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kig.po (kig)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kvoctrain.po (kvoctrain)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kalarm.po (kalarm)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  multisynk.po (multisynk)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  knode.po (knode)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfile_vcf.po (kfile_vcf)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kontact.po (kontact)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  libkdepim.po (libkdepim)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  korganizer.po (korganizer)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kaddressbook.po (kaddressbook)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kmail.po (kmail)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  libkdenetwork.po (libkdenetwork)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  ktnef.po (ktnef)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kbabel.po (kbabel)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kcachegrind.po (kcachegrind)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kgpg.po (kgpg)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  nexscope.po (nexscope)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfile_desktop.po (kfile_desktop)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  domtreeviewer.po (domtreeviewer)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  fsview.po (fsview)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  katepybrowse.po (katepybrowse)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  dcoprss.po (dcoprss)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kopete.po (kopete)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  kget.po (kget)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfileshare.po (kfileshare)  #-#-#-#-#\n"
+"Vardas\n"
+"#-#-#-#-#  kfile_torrent.po (kfile_torrent)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  krdc.po (krdc)  #-#-#-#-#\n"
+"Pavadinimas\n"
+"#-#-#-#-#  noatun.po (noatun)  #-#-#-#-#\n"
+"Vardas"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Operacija"
+
+#: directorymergewindow.cpp:287
+#, fuzzy
+msgid "Status"
+msgstr ""
+"#-#-#-#-#  kdmchooser.po (kdmchooser)  #-#-#-#-#\n"
+"Statusas\n"
+"#-#-#-#-#  kdmgreet.po (kdmgreet)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  khelpcenter.po (khelpcenter)  #-#-#-#-#\n"
+"Būvis\n"
+"#-#-#-#-#  kcminfo.po (kcminfo)  #-#-#-#-#\n"
+"Statusas\n"
+"#-#-#-#-#  konqueror.po (konqueror)  #-#-#-#-#\n"
+"Būvis\n"
+"#-#-#-#-#  kcmkded.po (kcmkded)  #-#-#-#-#\n"
+"Būvis\n"
+"#-#-#-#-#  ksysguard.po (ksysguard)  #-#-#-#-#\n"
+"Būklė\n"
+"#-#-#-#-#  ktorrent.po (ktorrent)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kbackgammon.po (kbackgammon)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kstars.po (kstars)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  libkdepim.po (libkdepim)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  korganizer.po (korganizer)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  akregator.po (akregator)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kmail.po (kmail)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kbabel.po (kbabel)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kopete.po (kopete)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kfileshare.po (kfileshare)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  kpf.po (kpf)  #-#-#-#-#\n"
+"Būsena\n"
+"#-#-#-#-#  ksirc.po (ksirc)  #-#-#-#-#\n"
+"Būsena"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+#, fuzzy
+msgid "Ready."
+msgstr ""
+"#-#-#-#-#  kfindpart.po (kfindpart)  #-#-#-#-#\n"
+"Pasiruošęs\n"
+"#-#-#-#-#  kfilereplace.po (kfilereplace)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  pwmanager.po (pwmanager)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kdat.po (kdat)  #-#-#-#-#\n"
+"Pasiruošęs.\n"
+"#-#-#-#-#  kcron.po (kcron)  #-#-#-#-#\n"
+"Pasiruošęs.\n"
+"#-#-#-#-#  ksayit.po (ksayit)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kmouth.po (kmouth)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kmrml.po (kmrml)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kcoloredit.po (kcoloredit)  #-#-#-#-#\n"
+"Pasiruošęs.\n"
+"#-#-#-#-#  kverbos.po (kverbos)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kmail.po (kmail)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  ksync.po (ksync)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  dub.po (dub)  #-#-#-#-#\n"
+"Pasirengęs.\n"
+"#-#-#-#-#  kopete.po (kopete)  #-#-#-#-#\n"
+"Pasirengęs."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Tęsti"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Klaida."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Baigta."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Tipas"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Dydis"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+#, fuzzy
+msgid "Do Nothing"
+msgstr "Nieko"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr ""
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+#, fuzzy
+msgid "Quits the application"
+msgstr ""
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Išeina iš programos\n"
+"#-#-#-#-#  kmag.po (kmag)  #-#-#-#-#\n"
+"Baigs programos darbÄ…\n"
+"#-#-#-#-#  kmouth.po (kmouth)  #-#-#-#-#\n"
+"Baigs programos darbÄ…\n"
+"#-#-#-#-#  kverbos.po (kverbos)  #-#-#-#-#\n"
+"Baigs programos darbÄ…\n"
+"#-#-#-#-#  ksync.po (ksync)  #-#-#-#-#\n"
+"Baigs programos darbÄ…\n"
+"#-#-#-#-#  umbrello.po (umbrello)  #-#-#-#-#\n"
+"Baigs programos darbÄ…"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Iškirps pažymėtą sritį ir padės į talpyklą"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Nukopijuos pažymėtą sritį į talpyklą"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Padės talpyklės turinį dabartinėje pozicijoje"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Įjungs arba išjungs įrankinę"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Įjungs arba išjungs būsenos juostą"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+#, fuzzy
+msgid "Saving file..."
+msgstr ""
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Išsaugoma byla...\n"
+"#-#-#-#-#  kwordquiz.po (kwordquiz)  #-#-#-#-#\n"
+"Išsaugojama byla...\n"
+"#-#-#-#-#  kverbos.po (kverbos)  #-#-#-#-#\n"
+"Išsaugojama byla...\n"
+"#-#-#-#-#  ksync.po (ksync)  #-#-#-#-#\n"
+"Išsaugojama byla...\n"
+"#-#-#-#-#  umbrello.po (umbrello)  #-#-#-#-#\n"
+"Išsaugojama byla..."
+
+#: kdiff3.cpp:632
+#, fuzzy
+msgid "Saving file with a new filename..."
+msgstr ""
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Išsaugoma byla kitu vardu...\n"
+"#-#-#-#-#  kwordquiz.po (kwordquiz)  #-#-#-#-#\n"
+"Išsaugojama byla nauju vardu...\n"
+"#-#-#-#-#  kverbos.po (kverbos)  #-#-#-#-#\n"
+"Išsaugojama byla nauju vardu...\n"
+"#-#-#-#-#  ksync.po (ksync)  #-#-#-#-#\n"
+"Išsaugojama byla nauju vardu...\n"
+"#-#-#-#-#  umbrello.po (umbrello)  #-#-#-#-#\n"
+"Išsaugojama byla nauju vardu..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Išeinama..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Išeinama..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "Perjungti būsenos juostą..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+#, fuzzy
+msgid "Output"
+msgstr ""
+"#-#-#-#-#  kdeprint.po (kdeprint)  #-#-#-#-#\n"
+"Išvedimas\n"
+"#-#-#-#-#  kbabel.po (kbabel)  #-#-#-#-#\n"
+"Išvestis"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+#, fuzzy
+msgid "Unicode"
+msgstr ""
+"#-#-#-#-#  kcmkonsole.po (kcmkonsole)  #-#-#-#-#\n"
+"Unikodinis\n"
+"#-#-#-#-#  kdelibs.po (kdelibs)  #-#-#-#-#\n"
+"Unikodas\n"
+"#-#-#-#-#  kofficefilters.po (kofficefilters)  #-#-#-#-#\n"
+"Unikodas\n"
+"#-#-#-#-#  kmouth.po (kmouth)  #-#-#-#-#\n"
+"Unikodas\n"
+"#-#-#-#-#  kaddressbook.po (kaddressbook)  #-#-#-#-#\n"
+"Unikodas"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Spalva"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+#, fuzzy
+msgid "Foreground color:"
+msgstr ""
+"#-#-#-#-#  clockapplet.po (clockapplet)  #-#-#-#-#\n"
+"Priekinio plano spalva:\n"
+"#-#-#-#-#  ksysguard.po (ksysguard)  #-#-#-#-#\n"
+"Teksto spalva:\n"
+"#-#-#-#-#  ffrs.po (ffrs)  #-#-#-#-#\n"
+"Priekinio plano spalva:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Fono spalva:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Redaktorius"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operacija"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Nutraukti"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Klaida atveriant bylÄ…"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Iškerpamas žymėjimas..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopijuojama pažymėtą vietą į talpyklę..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Įterpamas talpyklės turinys..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Langas"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+#, fuzzy
+msgid "Configure..."
+msgstr ""
+"#-#-#-#-#  kxkb.po (kxkb)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kcmfonts.po (kcmfonts)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kdelibs.po (kdelibs)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  katepart.po (katepart)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  quanta.po (quanta)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kxsldbg.po (kxsldbg)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kplato.po (kplato)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  k3b.po (k3b)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  libkdehighscores.po (libkdehighscores)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kwin4.po (kwin4)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  libkdegames.po (libkdegames)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kcmkamera.po (kcmkamera)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kpilot.po (kpilot)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  uachangerplugin.po (uachangerplugin)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  katemake.po (katemake)  #-#-#-#-#\n"
+"Konfigūruoti...\n"
+"#-#-#-#-#  kcmwifi.po (kcmwifi)  #-#-#-#-#\n"
+"Derinti..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+#, fuzzy
+msgid "Case sensitive"
+msgstr ""
+"#-#-#-#-#  kate.po (kate)  #-#-#-#-#\n"
+"Skirti raidžių dydį\n"
+"#-#-#-#-#  quanta.po (quanta)  #-#-#-#-#\n"
+"Skirti raidžių dydį\n"
+"#-#-#-#-#  kfilereplace.po (kfilereplace)  #-#-#-#-#\n"
+"Skirti raidžių dydį\n"
+"#-#-#-#-#  kbabel.po (kbabel)  #-#-#-#-#\n"
+"Skiriant raidžių dydį\n"
+"#-#-#-#-#  kopete.po (kopete)  #-#-#-#-#\n"
+"Skirti raidžių dydį"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Ieškoti"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Iškerpamas žymėjimas..."
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/nb.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2302 @@
+# translation of kdiff3.po to 
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Knut Yrvin <knuty@skolelinux.no>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2003-10-30 11:10+0100\n"
+"Last-Translator: Knut Yrvin <knuty@skolelinux.no>\n"
+"Language-Team:  <i18n-nb@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: _translatorinfo.cpp:1
+#, fuzzy
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Knut Yrvin"
+
+#: _translatorinfo.cpp:3
+#, fuzzy
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "knuty@skolelinux.no"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr ""
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+#, fuzzy
+msgid "Name"
+msgstr "Navn"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr ""
+
+#: directorymergewindow.cpp:287
+#, fuzzy
+msgid "Status"
+msgstr "Status"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+#, fuzzy
+msgid "Ready."
+msgstr "Klar."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr ""
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+#, fuzzy
+msgid "Merge"
+msgstr "Slå sammen"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr ""
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr ""
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+#, fuzzy
+msgid "Type"
+msgstr "Type"
+
+#: directorymergewindow.cpp:2610
+#, fuzzy
+msgid "Size"
+msgstr "Størrelse"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr ""
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr ""
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr ""
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr ""
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr ""
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr ""
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr ""
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr ""
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr ""
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr ""
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Color"
+msgstr "Farge"
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr ""
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr ""
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor"
+msgstr "Behandler, Redigerer"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr ""
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr ""
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr ""
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr ""
+
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "&Søk"
+
+#: smalldialogs.cpp:339
+#, fuzzy
+msgid "Case sensitive"
+msgstr "Skill mellom store og små bokstaver"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+#, fuzzy
+msgid "&Search"
+msgstr "&Søk"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/nl.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/nl.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,18 +1,23 @@
-# translation of kdiff3.po to Nederlands
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# translation of kdiff3.po to Dutch
+# translation of kdiff3.po to
+# translation of kdiff3.po to
+# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+#
 # Rinse de Vries <rinse@kde.nl>, 2004.
-#
+# Rinse de Vries <rinsedevries@kde.nl>, 2004, 2005, 2006.
+# Sander Koning <sanderkoning@kde.nl>, 2005.
+# Rinse de Vries <RinseDeVries@home.nl>, 2005.
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-03 00:02+0200\n"
-"Last-Translator: Rinse de Vries <rinse@kde.nl>\n"
-"Language-Team: Nederlands <kde-i18n-nl@kde.org>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-04-03 00:09+0200\n"
+"Last-Translator: Rinse de Vries <rinsedevries@kde.nl>\n"
+"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
+"X-Generator: KBabel 1.11.2\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 #: _translatorinfo.cpp:1
@@ -25,17 +30,17 @@
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr "frank_schoolmeesters@fastmail.fm,rinse@kde.nl"
-
-#: diff.cpp:241
+msgstr "frank_schoolmeesters@yahoo.com,rinsedevries@kde.nl"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Het opslaan van de klembordinhoud in een tijdelijk bestand is mislukt."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Van klembord"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -49,7 +54,7 @@
 "\n"
 "Dit commando zal nu worden uitgeschakeld."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -57,14 +62,14 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"De voorverwerking van regelovereenkomsten is mogelijk mislukt. Controleer "
-"dit commando:\n"
+"De voorverwerking van regelovereenkomsten is mogelijk mislukt. Controleer dit "
+"commando:\n"
 "\n"
 " %1\n"
 "\n"
 "Dit commando zal nu worden uitgeschakeld."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -72,268 +77,269 @@
 "Fout met dataverlies:\n"
 "Als dit reproduceerbaar is, neem dan contact op met de auteur.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Ernstige interne fout"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Bovenste regel %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Bovenste regel"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Einde"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mix van koppelingen en bestanden."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Koppeling: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Grootte: "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Datum en grootte: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Het aanmaken van de tijdelijke kopie van %1 is mislukt."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Het openen van %1 is mislukt."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "Bestand wordt vergeleken..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Fout bij het lezen van %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Naam"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operatie"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Niet opgelost"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Opgelost"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Niet-wit"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Wit"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"U bent momenteel bezig met het samenvoegen van een map. Wilt u dat "
-"werkelijk, of wilt u de samenvoeging afbreken en de map opnieuw inlezen?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"U bent momenteel bezig met het samenvoegen van een map. Wilt u dat werkelijk, "
+"of wilt u de samenvoeging afbreken en de map opnieuw inlezen?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Opnieuw inlezen"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Doorgaan met samenvoegen"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Het openen van de mappen is mislukt:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Map A \"%1\" bestaat niet of is geen map.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Map B \"%1\" bestaat niet of is geen map.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Map C \"%1\" bestaat niet of is geen map.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Fout bij openen van map"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
 "De doelmap kan niet hetzelfde zijn als A of B als er drie mappen worden "
 "samengevoegd.\n"
 "Controleer dit opnieuw voordat u doorgaat."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parameter-waarschuwing"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
 msgstr "Mappen worden geanalyseerd..."
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Inlezen van map A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Inlezen van map B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Inlezen van map C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Sommige submappen waren niet leesbaar in"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Controleer de toegangsrechten van de submappen."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Gereed."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Status van mappenvergelijking"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Aantal submappen:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Aantal identieke bestanden:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Aantal verschillende bestanden:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Aantal handmatige samenvoegingen:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Dit heeft effect op alle samenvoegingen."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Verandering van alle samenvoegingen"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "D&oorgaan"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Voortgang"
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Onvoltooid."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "A naar B kopiëren"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "B naar A kopiëren"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "A verwijderen"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "B verwijderen"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "A & B verwijderen"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Samenvoegen met A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Samenvoegen met B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Samenvoegen met A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Verwijderen (indien voorhanden)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Samenvoegen"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Samenvoegen (handmatig)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Fout: botsende bestandstypen"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Fout: de datums zijn hetzelfde, maar de bestanden niet."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Deze operatie is momenteel niet beschikbaar."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operatie niet mogelijk"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -348,42 +354,42 @@
 "Als u dit kunt reproduceren, neem dan contact op met de auteur van dit "
 "programma."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Programmafout"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Er deed zich een fout voor tijdens het kopiëren.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Fout bij samenvoegen"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Fout."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Gereed."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Niet opgeslagen."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Onbekende samenvoeging. (Dit mag niet voorkomen!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Onbekende samenvoeging."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -404,310 +410,358 @@
 "GEEN ENKELE GARANTIE dat het programma naar behoren zal werken. Maak "
 "reservekopieën van uw vitale gegevens!"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Samenvoeging starten"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Starten"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simuleren"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"Het gemarkeerde item is van een verschillend type in de verschillende "
-"mappen. Kies wat er moet gebeuren."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"De wijzigingsdatums van het bestanden zijn gelijk, maar de bestanden niet. "
+"Het gemarkeerde item is van een verschillend type in de verschillende mappen. "
 "Kies wat er moet gebeuren."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
-msgstr "Deze operatie is niet mogelijk omdat er momenteel een map wordt samengevoegd."
-
-#: directorymergewindow.cpp:1838
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"De wijzigingsdatums van het bestanden zijn gelijk, maar de bestanden niet. Kies "
+"wat er moet gebeuren."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Deze operatie is niet mogelijk omdat er momenteel een map wordt samengevoegd."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Er deed zich een fout voor tijdens de laatste stap.\n"
 "Wilt u doorgaan met het item dat de fout veroorzaakte of wilt u dit item "
 "overslaan?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Samenvoegen voortzetten na een foutmelding"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Verder gaan met het laatste item"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Item overslaan"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Overgeslagen."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "In uitvoering..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "De samenvoeging is voltooid."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Samenvoeging voltooid"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Samenvoegingssimulatie is voltooid. Controleer of u akkoord kunt gaan met de "
+"Samenvoegsimulatie is voltooid. Controleer of u akkoord kunt gaan met de "
 "voorgestelde operaties."
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Er deed zich een fout voor. Klik op OK voor meer details.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Fout tijdens het wissen van %1: reservekopie aanmaken is mislukt."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "map ( %1 ) recursief wissen"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "wissen ( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
-msgstr "Fout: het wissen van de map is mislukt omdat de map niet kon worden geopend."
-
-#: directorymergewindow.cpp:2063
+msgstr ""
+"Fout: het wissen van de map is mislukt omdat de map niet kon worden geopend."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Fout: map verwijderen( %1 ) operatie is mislukt."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Fout: wisoperatie is mislukt."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "handmatig samenvoegen ( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
 "     Opmerking: na een handmatige samenvoeging dient de gebruiker verder te "
 "gaan via F7."
 
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Fout: kopiëren( %1 -> %2 ) is mislukt. De bestaande bestemming kon niet "
-"gewist worden."
-
-#: directorymergewindow.cpp:2135
+"Fout: kopiëren( %1 -> %2 ) is mislukt. De bestaande bestemming kon niet gewist "
+"worden."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "Koppeling kopiëren ( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-"Fout: koppeling kopiëren is mislukt: externe koppelingen worden vooralsnog "
-"niet ondersteund."
-
-#: directorymergewindow.cpp:2152
+"Fout: koppeling kopiëren is mislukt: externe koppelingen worden vooralsnog niet "
+"ondersteund."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Fout: koppeling kopiëren is mislukt."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "kopiëren ( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
 "Fout tijdens het hernoemen ( %1 -> %2 ): de bestaande bestemming kan niet "
 "worden gewist."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "hernoemen( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Fout: hernoemen is mislukt."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr ""
 "Fout tijdens het aanmaken van de map %1. Bestaand bestand kan niet worden "
 "gewist."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "Map aanmaken( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Fout bij het aanmaken van de map."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
-msgstr "Best."
-
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+msgstr "Doel"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Map"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Type"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Grootte"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Attr"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Laatste wijziging"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Koppelingsbestemming"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "niet beschikbaar"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
-msgstr "A (best.): "
-
-#: directorymergewindow.cpp:2353
+msgstr "A (doel): "
+
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (basis): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
-msgstr "B (best.): "
-
-#: directorymergewindow.cpp:2367
+msgstr "B (doel): "
+
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
-msgstr "C (best.): "
-
-#: directorymergewindow.cpp:2373
+msgstr "C (doel): "
+
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
-msgstr "Best.: "
-
-#: directorymergewindow.cpp:2398
+msgstr "Doel: "
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Staat van mappen samenvoegen opslaan als..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Mapsamenvoeging starten/voortzetten"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Operatie uitvoeren voor huidig item"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Geselecteerde bestand vergelijken"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Huidig bestand samenvoegen"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Alle submappen invouwen"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Alle submappen uitvouwen"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Staat van mappen samenvoegen opslaan..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Staat van mappen samenvoegen laden..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Voor alle items A kiezen"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Voor alle items B kiezen"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Voor alle items C kiezen"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Operatie voor alle items automatisch kiezen"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Geen operatie voor alle items"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Mappen synchroniseren"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Nieuwere bestanden kopiëren in plaats van samenvoegen"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Identieke bestanden tonen"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Verschillende bestanden tonen"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Bestanden alleen in A tonen"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Bestanden alleen in B tonen"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Bestanden alleen in C tonen"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Expliciet geselecteerde bestand vergelijken"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Expliciet geselecteerde bestanden samenvoegen"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Niets doen"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Wissen (indien bestaat)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "A en B wissen"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Naar A en B samenvoegen"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "A && B verwijderen"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Samenvoegen met A && B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Het wissen van een oudere reservekopie is mislukt tijdens het aanmaken van "
-"de nieuwe reservekopie.\n"
+"Het wissen van een oudere reservekopie is mislukt tijdens het aanmaken van de "
+"nieuwe reservekopie.\n"
 "Bestandsnaam: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -715,402 +769,437 @@
 "Tijdens het aanmaken van een reservekopie is het hernoemen mislukt. \n"
 "Bestandsnamen: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Bestandstatus opvragen: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Bestand lezen: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Bestand schrijven: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Onvoldoende geheugen"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Map aanmaken: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Map verwijderen: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Bestand verwijderen: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Symbolische koppeling aanmaken: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Bestand hernoemen: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Bestand kopiëren: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
 "Fout tijdens bestanden kopiëren: het openen van het bestand is mislukt.\n"
 "Bestandsnaam: %1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
 "Fout tijdens bestanden kopiëren: het bestand kon niet worden opgeslagen.\n"
 "Bestandsnaam: %1"
 
-#: fileaccess.cpp:859
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
 "Fout tijdens bestanden kopiëren: het openen is mislukt.\n"
 "Bestandsnaam: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
 "Fout tijdens bestanden kopiëren: het opslaan is mislukt.\n"
 "Bestandsnaam: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Map lezen: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Map inlezen: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Huidige configuratie:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Fout bij configuratie-optie:"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Optie '--auto' is gebruikt, maar er is geen uitvoerbestand opgegeven."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Optie '--auto' is genegeerd voor mappenvergelijking."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Opslag is mislukt."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Het openen van deze bestanden is mislukt:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Fout bij bestanden openen"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Opent documenten voor vergelijking..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-"Slaat het samenvoegingsresultaat op. Alle conflicten dienen te worden "
-"opgelost!"
-
-#: kdiff3.cpp:333
+"Slaat het samenvoegresultaat op. Alle conflicten dienen te worden opgelost!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Slaat het huidige document op als..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Verschillen afdrukken"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Sluit de toepassing"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Knipt de geselecteerde sectie uit en plaatst deze op het klembord"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopieert de geselecteerde sectie naar het klembord"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Plakt de inhoud van het klembord op de huidige cursorpositie"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Alles in huidig venster selecteren"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Tekst opzoeken"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Opnieuw zoeken"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Activeert/deactiveert de werkbalk"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Activeert/deactiveert de statusbalk"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "KDiff3 instellen..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Ga naar huidig onderscheid"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Ga naar eerste onderscheid"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Ga naar laatste onderscheid"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Slaat witruimteverschilen over als \"Witruimte tonen\" is uitgeschakeld.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Slaat witruimteverschillen niet over, zelfs  als \"Witruimte tonen\" is "
+"uitgeschakeld.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Ga naar vorig onderscheid"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Ga naar volgend onderscheid"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Ga naar vorig conflict"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Ga naar volgend conflict"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Ga naar vorig onopgelost conflict"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Ga naar volgend onopgelost conflict"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Regel(s) van A selecteren"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Regel(s) van B selecteren"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Regel(s) van C selecteren"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Automatisch naar het volgende onopgeloste conflict gaan"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
-msgstr "Spaties && tabulator-karakters in verschillen tonen"
-
-#: kdiff3.cpp:389
+msgstr "Spaties && tabulator-tekens in verschillen tonen"
+
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Witruimte tonen"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Regelnummering tonen"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "A overal kiezen"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "B overal kiezen"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "C overal kiezen"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "A voor alle onopgeloste conflicten kiezen"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "B voor alle onopgeloste conflicten kiezen"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "C voor alle onopgeloste conflicten kiezen"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr "A voor alle onopgeloste witruimte-conflicten kiezen"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr "B voor alle onopgeloste witruimte-conflicten kiezen"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr "C voor alle onopgeloste witruimte-conflicten kiezen"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "A voor alle onopgeloste witruimteconflicten kiezen"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "B voor alle onopgeloste witruimteconflicten kiezen"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "C voor alle onopgeloste witruimteconflicten kiezen"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Automatisch eenvoudige conflicten oplossen"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Elk onderscheid maken bij conflicten"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Automatisch samenvoegen d.m.v. reguliere expressie uitvoeren"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Automatisch geschiedenisconflicten oplossen"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Vergelijking bij selectie splitsen"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Venster A tonen"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Venster B tonen"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Venster C tonen"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Focus op volgend venster zetten"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normaal overzicht"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A vs B overzicht"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A vs C overzicht"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B vs C overzicht"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Regels afbreken in vensters met verschillen"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Handmatige uitlijning van vergelijking toevoegen"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Alle handmatige uitlijningen van vergelijkingen wissen"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Focus op vorig venster zetten"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Splitsen van vensters omschakelen"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Map- en tekstweergave splitsen in hoofdvenster"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Tussen map- en tekstweergave wisselen"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Het resultaat van de samenvoeging is niet opgeslagen."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Opslaan && afsluiten"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Afsluiten zonder opslag"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "De opslag van het resultaat van de samenvoeging is mislukt."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
 "U bent momenteel bezig met het samenvoegen van mappen. Wilt u werkelijk "
 "afbreken?"
 
-#: kdiff3.cpp:547
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Bestand wordt opgeslagen..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Bestand wordt opgeslagen met een nieuwe naam..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Afdrukken..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Afdrukken afgebroken."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Selectie"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Afdrukken is voltooid."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Programma wordt afgesloten..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Werkbalk aan/uit..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Statusbalk aan/uit..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Zoektekst:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Hoofdlettergevoelig"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Zoeken in A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Zoeken in B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Zoeken in C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Zoeken in uitvoer"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Zoeken"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "De bestanden om te vergelijken zijn niet gevonden."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
@@ -1120,81 +1209,106 @@
 "Dit doet zich meestal voor t.g.v. een installatieprobleem. Lees a.u.b. het "
 "README-bestand van het broncodepakket voor meer details."
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Hulpprogramma voor tekstvergelijking en -samenvoeging"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Hulpmiddel voor het vergelijken en samenvoegen van bestanden en mappen"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Invoer samenvoegen."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
-msgstr "Expliciet basisbestand. Voor compatibiliteit met sommige hulpprogramma's."
-
-#: main.cpp:39
+msgstr ""
+"Expliciet basisbestand. Voor compatibiliteit met sommige hulpprogramma's."
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Uitvoerbestand. -m is inbegrepen. Bijv.: -o nieuwbestand.txt."
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr "Uitvoerbestand, opnieuw (voor compatibiliteit met sommige hulpprogramma's)."
-
-#: main.cpp:41
+msgstr ""
+"Uitvoerbestand, opnieuw (voor compatibiliteit met sommige hulpprogramma's)."
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
 "Geen grafisch venster als alle conflicten automatisch oplosbaar zijn ('-o "
 "bestand' is nodig)."
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Conflicten niet automatisch oplossen (voor compatibiliteit ...)."
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Zichtbare naamvervanging voor invoerbestand 1 (basis)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Zichtbare naamvervanging voor invoerbestand 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Zichtbare naamvervanging voor invoerbestand 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Alternatieve zichtbare naamvervanging. Ditmaal voor elke invoer opgeven."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Heeft geen effect. Voor compatibiliteit met sommige hulpprogramma's."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Voor compatibiliteit met sommige hulpprogramma's."
-
-#: main.cpp:52
+msgstr ""
+"Alternatieve zichtbare naamvervanging. Ditmaal voor elke invoer opgeven."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Omzeil een instelling. Gebruik dit eenmalig voor elke instelling. Bijv. --cs "
+"\"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Toon een lijst met instellingen en huidige waarden."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Gebruik een ander configuratiebestand."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
-msgstr "Eerste bestand om te openen (basis, indien niet opgegeven met '--base')."
-
-#: main.cpp:53
+msgstr ""
+"Eerste bestand om te openen (basis, indien niet opgegeven met '--base')."
+
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "Tweede bestand om te openen"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "Derde bestand om te openen"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Genegeerd. (Gebruikergedefinieerd.)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr "En iedereen bedankt die fouten heeft gemeld en met ideeën kwam!"
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Aantal overgebleven onopgeloste conflicten: %1 (waarvan %2 witruimtes zijn)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1202,55 +1316,55 @@
 "De uitvoer is gewijzigd.\n"
 "Als u verder gaat zullen uw wijzigingen verloren gaan."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Alle invoerbestanden zijn binair gelijk."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Alle invoerbestanden bevatten dezelfde tekst."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Bestanden A en B zijn binair gelijk.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Bestanden A en B hebben dezelfde tekst.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Bestanden A en C zijn binair gelijk.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Bestanden A en C hebben dezelfde tekst.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Bestanden B en C zijn binair gelijk.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Bestanden B en C hebben dezelfde tekst.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Totaal aantal conflicten: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1258,7 +1372,7 @@
 "\n"
 "Aantal automatisch opgeloste conflicten: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1266,27 +1380,31 @@
 "\n"
 "Aantal onopgeloste conflicten: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflicten"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Geen regel in de bron>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Samenvoegconflict (alleen witruimte)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Samenvoegingsconflict>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Uitvoer"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Gewijzigd]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1294,132 +1412,179 @@
 "Nog niet alle conflicten zijn opgelost.\n"
 "Bestand is niet opgeslagen.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Er zijn nog onopgeloste conflicten"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Bestand niet opgeslagen."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Het aanmaken van de reservekopie is mislukt. Het bestand is niet opgeslagen."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Fout bij opslaan van het bestand"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Onvoldoende geheugen tijdens het voorbereiden van de opslag."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Fout bij het opslaan."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Verander dit indien niet-ascii tekens niet juist weergegeven worden."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Lettertype voor editor & vergelijkingsvenster"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Cursief lettertype voor onderscheiden"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
 "Selecteert de cursieve versie van het lettertype voor verschillen.\n"
-"Indien het lettertype geen cursieve karakters ondersteunt, dan doet deze "
-"optie niets."
-
-#: optiondialog.cpp:353
+"Indien het lettertype geen cursieve tekens ondersteunt, dan doet deze optie "
+"niets."
+
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Kleur"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Kleuren in editor & vergelijkingvenster"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Kleurinstellingen"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Weergaven voor editor en vergelijkingen:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Voorgrondkleur:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Achtergrondkleur:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Achtergrondkleur bij verschillen:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Kleur voor A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Kleur voor B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Kleur voor C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Kleur voor conflicten:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Achtergrondkleur voor huidig bereik:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Achtergrondkleur voor verschillen in huidig bereik:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Status van mappenvergelijking"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Editorgedrag"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tab voegt spaties in"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
 "Aan: de Tab-toets voegt het passende aantal spaties in.\n"
-"Uit: een tabulatorkarakter zal ingevoegd worden."
-
-#: optiondialog.cpp:450
+"Uit: een tabulatorteken zal ingevoegd worden."
+
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tabgrootte:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Automatisch inspringen"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Aan: de insprong van de vorige regel wordt gebruikt voor een nieuwe regel.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Automatische kopieerselectie"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1427,92 +1592,87 @@
 "Aan: elke selectie zal onmiddellijk op het klembord geplaatst worden.\n"
 "Uit: kopiëren gebeurt expliciet, bijvoorbeeld via Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Regeleinde:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-"Stelt de regeleinden in voor als een bewerkt bestand wordt opgeslagen. "
+"Stelt de regeleinden in voor als een bewerkt bestand wordt opgeslagen.\n"
 "DOS/Windows: CR+LF' UNIX: LF; met CR=0, LF=A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Lokale tekenset gebruiken"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Verander dit indien niet-ascii karakters niet juist weergegeven worden."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Vergelijken & samenvoegen"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Instellingen voor vergelijking & samenvoeging"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "'Carriage return' behouden"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
-"'Carriage return'-karakters ('\\r') tonen als deze bestaan.\n"
+"'Carriage return'-tekens ('\\r') tonen als deze bestaan.\n"
 "Helpt bij het vergelijken van bestanden die gewijzigd werden onder "
 "verschillende besturingssystemen."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Getallen negeren"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Numerieke karakters negeren tijdens de vergelijkingfase. (Gelijk aan "
-"witruimtes negeren.)\n"
+"Numerieke tekens negeren tijdens de vergelijkingfase. (Gelijk aan witruimtes "
+"negeren.)\n"
 "Kan helpen bij het vergelijken van bestanden met numerieke gegevens."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "C/C++ commentaar negeren"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "C/C++ commentaar als witruimtes behandelen."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Geen onderscheid hoofd-/kleine letters"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
-"Verschil in hoofd-/kleine letters behandelen als witruimteverschillen ('a' "
-"<=> 'A')"
-
-#: optiondialog.cpp:539
+"Verschil in hoofd-/kleine letters behandelen als witruimteverschillen ('a' <=> "
+"'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Preprocessorcommando:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
-msgstr "Gebruikergedefinieerde voorbehandeling (zie documentatie voor meer details.)"
-
-#: optiondialog.cpp:546
+msgstr ""
+"Gebruikergedefinieerde voorbehandeling (zie documentatie voor meer details.)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Preprocessor-commando alleen voor regelcontroles:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1520,11 +1680,11 @@
 "Deze preprocessor wordt alleen gebruikt bij regelcontroles.\n"
 "(Zie documentatie voor meer details)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Grondig zoeken (trager)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1532,11 +1692,11 @@
 "Activeert de optie '--minimal' voor een externe vergelijking.\n"
 "De analyse van grote bestanden zal veel trager zijn."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Vertraging voor automatisch doorgaan (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
@@ -1546,43 +1706,146 @@
 "conflict springt.\n"
 "Bereik: 0-2000 ms"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Standaardsamenvoeging van witruimtes bij 2 bestanden:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Handmatige keuze"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
 "Bij het samenvoegen van bestanden toestaan dat er automatisch een oplossing "
-"gekozen wordt voor witruimte-conflicten."
-
-#: optiondialog.cpp:584
+"gekozen wordt voor witruimteconflicten."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Standaardsamenvoeging van witruimtes bij 3 bestanden:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.2  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Bestandensamenvoeging"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Recursieve mappen"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Bepaalt of submappen wel of niet worden ingelezen."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Bestandspatroon(en):"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1592,11 +1855,11 @@
 "Jokers: '*' en '?'\n"
 "Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Bestand antipatroon(en):"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1606,11 +1869,11 @@
 "Jokers: '*' en '?'\n"
 "Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Map antipatroon(en):"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1620,11 +1883,11 @@
 "Jokers: '*' en '?'\n"
 "Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken. ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr ".cvsignore gebruiken"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1632,23 +1895,23 @@
 "Breidt het antipatroon uit met alles dat genegeerd zou worden door CVS.\n"
 "Via lokale \".cvsignore\"-bestanden kan dit mapspecifiek zijn."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Verborgen bestanden en mappen zoeken"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Zoekt naar verborgen bestanden en mappen."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Zoekt naar bestanden en mappen die beginnen met '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Bestandskoppelingen volgen"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1656,11 +1919,11 @@
 "Aan: vergelijk het bestand naarwaar de koppeling verwijst.\n"
 "Uit: vergelijk de koppelingen."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Mapkoppelingen volgen"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1668,31 +1931,44 @@
 "Aan: vergelijk de map naarwaar de koppeling verwijst.\n"
 "Uit: vergelijk de koppeling."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Alleen onderscheid tonen"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
-msgstr "Onveranderde bestanden en mappen zullen niet worden getoond in de lijst."
-
-#: optiondialog.cpp:687
+msgstr ""
+"Onveranderde bestanden en mappen zullen niet worden getoond in de lijst."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr "Bestandenvergelijkmodus"
-
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+msgstr "Bestandsvergelijkingsmodus"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Binaire vergelijking"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Binaire vergelijking van elk bestand (standaard)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Volledige analyse"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
@@ -1700,11 +1976,11 @@
 "Doe een volledige analyse en toon de statistieken in extra kolommen.\n"
 "(Trager dan een binaire vergelijking, veel trager bij binaire bestanden.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Wijzigingsdatum vertrouwen (onveilig)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1714,26 +1990,25 @@
 "bestandsgroottes gelijk zijn.\n"
 "Nuttig voor grote mappen en trage netwerken."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Grootte vertrouwen (onveilig)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
-"Gaat er van uit dat bestanden gelijk zijn als de bestandsgroottes gelijk "
-"zijn.\n"
-"Nuttig voor grote mappen en trage netwerken wanneer de datum verandert "
-"tijdens een download."
-
-#: optiondialog.cpp:707
+"Gaat er van uit dat bestanden gelijk zijn als de bestandsgroottes gelijk zijn.\n"
+"Nuttig voor grote mappen en trage netwerken wanneer de datum verandert tijdens "
+"een download."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Mappen synchroniseren"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1741,14 +2016,27 @@
 msgstr ""
 "Bestanden worden in beide mappen opgeslagen zodat beide achteraf hetzelfde "
 "zijn.\n"
-"Werkt alleen wanneer twee mappen vergeleken worden zonder dat er een "
-"bestemming is opgegeven."
-
-#: optiondialog.cpp:715
+"Werkt alleen wanneer twee mappen vergeleken worden zonder dat er een bestemming "
+"is opgegeven."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Witruimteverschillen worden als gelijk beschouwd"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Als bestanden alleen qua witruimtes van elkaar verschillen worden ze als gelijk "
+"beschouwd.\n"
+"Dit is alleen actief als volledige analyse is gekozen."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Nieuwere bestanden kopiëren in plaats van samenvoegen (onveilig)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1758,32 +2046,27 @@
 "(Gebruik dit enkel als u weet wat u doet!)\n"
 "Alleen effectief wanneer men twee mappen met elkaar vergelijkt."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Reservekopie aanmaken (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
-"Wanneer een bestand bewaard moet worden over een oud bestand, dan zal het "
-"oude bestand worden hernoemd met als extensie '.orig', i.p.v. gewist te "
-"worden."
-
-#: optiondialog.cpp:753
+"Wanneer een bestand bewaard moet worden over een oud bestand, dan zal het oude "
+"bestand worden hernoemd met als extensie '.orig', i.p.v. gewist te worden."
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Regionale instellingen"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Taal (herstart vereist)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1791,7 +2074,78 @@
 "Kies de taal voor de GUI-tekst, of \"Auto\".\n"
 "Om de taal te wijzigen dient u KDiff3 te herstarten."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Dezelfde codering gebruiken voor alles:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Schakel dit in dit om alle coderingen te wijzigen door alleen de eerste aan te "
+"passen.\n"
+"Schakel dit uit als er verschillende individuele instellingen nodig zijn."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Opmerking: lokale codering is "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Bestandscodering voor A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Bestandscodering voor B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Bestandscodering voor C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Bestandscodering voor samenvoeguitvoer en opslag:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Bestandscodering voor preprocessorbestanden:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Rechts-naar-links-taal"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Sommige talen worden van rechts naar links gelezen.\n"
+"Deze instelling zal de viewer en editor hierop aanpassen."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operatie"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Regionale instellingen"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1807,33 +2161,33 @@
 "\n"
 "Wilt u doorgaan, of wilt u een ander lettertype selecteren?"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Incompatibel lettertype"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Doorgaan op eigen risico"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Ander lettertype kiezen"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Dit zet alle opties terug, niet alleen die van het huidige onderwerp."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Preprocessorcommando: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "De volgende optie(s) die hebt gekozen kunnen data wijzigen:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1841,58 +2195,57 @@
 msgstr ""
 "\n"
 "Dit is meestal niet gewenst bij een samenvoeging.\n"
-"Wilt u deze instellingen uitschakelen of doorgaan met deze instellingen "
-"actief?"
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr "Opties onveilig voor samenvoeging"
+"Wilt u deze instellingen uitschakelen of doorgaan met deze instellingen actief?"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
+msgid "Option Unsafe for Merging"
+msgstr "Optie onveilig voor samenvoeging"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Deze opties gebruiken tijdens samenvoegen"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Onveilige opties uitschakelen"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "A laden"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "B laden"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Vergelijking: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Regelvergelijking: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "C laden"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Vergelijking: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Vergelijking: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Regelvergelijking: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Regelvergelijking: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1902,102 +2255,242 @@
 "Opmerking: KDiff3 is niet bedoeld voor binaire gegevens.\n"
 "U kunt verder gaan op eigen risico."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Afbreken"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Bestanden openen..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fout bij openen van bestand"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Selectie wordt geknipt..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Selectie wordt op het klembord geplaatst..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Klembordinhoud wordt ingevoegd..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Opslaan && doorgaan"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Doorgaan zonder opslaan"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Zoeken voltooid."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Zoeken voltooid"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Fout bij het aanmaken van de map."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 instellen"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Map"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Samenvoeging van huidig item"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Synchronisatie van huidig item"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Navigatie"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Versch&ilweergave"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Sa&menvoegen"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Venster"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (basis):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Bestand..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Map..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (optioneel):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Uitvoer (optioneel):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Instellen..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Afbreken"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Bestanden openen..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Fout bij openen van bestand"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Selectie wordt geknipt..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Selectie wordt op het klembord geplaatst..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Klembordinhoud wordt ingevoegd..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Opslaan && doorgaan"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Doorgaan zonder opslaan"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Zoeken voltooid."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Zoeken voltooid"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "KDiff3 instellen"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Map"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Samenvoeging van huidig item"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Synchronisatie van huidig item"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Navigatie"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "Versch&ilweergave"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "Sa&menvoegen"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Venster"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Zoektekst:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Hoofdlettergevoelig"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Zoeken in A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Zoeken in B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Zoeken in C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Zoeken in uitvoer"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Zoeken"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Automatische kopieerselectie"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Handmatige keuze"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Opslag is mislukt."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/pl.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/pl.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,24 +1,35 @@
+# translation of kdiff3.po to polish
+# translation of kdiff3.po to Polish
+# translation of pl.po to
+# translation of pl.po to Polish
 # translation of en_GB.po to Polish
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Tomasz Waleµczak <tom@w.pl>, 2004.
 # Tomasz Waleńczak <tom@w.pl>, 2004.
+# Michal Rudolf <mrudolf@kdewebdev.org>, 2004.
+# Marcin Bokszczanin <mboksz@bcig.pl>, 2005.
+# Krzysztof Lichota <lichota@mimuw.edu.pl>, 2005.
+# Robert Gomulka <rgom@o2.pl>, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-05-24 08:32+0200\n"
-"Last-Translator: Tomasz Waleńczak <tom@w.pl>\n"
-"Language-Team: Polish\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-12-30 14:10+0100\n"
+"Last-Translator: Robert Gomulka <rgom@o2.pl>\n"
+"Language-Team: polish <pl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms:  nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr "Tomasz Walenczak"
+msgstr "Tomasz Waleńczak, Marcin Bokszczanin"
 
 #: _translatorinfo.cpp:3
 msgid ""
@@ -26,15 +37,15 @@
 "Your emails"
 msgstr "tom@w.pl"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr "Nieudany zapis danych ze zchowka do pliku tymczasowego."
-
-#: diff.cpp:245
+msgstr "Błąd zapisu zawartości schowka do pliku tymczasowego."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "ze schowka"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -42,8 +53,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:425
+"Przetwarzenie wstępne nie powiodło się. Proszę sprawdzić polecenie:\n"
+"\n"
+"  %1\n"
+"\n"
+"Polecenie przetwarzenia wstępnego zostanie wyłączone."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -51,279 +67,285 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"Przetwarzenie wstępne dopasowywania wierszy nie powiodło się. Proszę sprawdzić "
+"polecenie:\n"
+"\n"
+"  %1\n"
+"\n"
+"Polecenie przetwarzenia wstępnego dopasowywania wierszy zostanie wyłączone."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
 "Błąd utraty danych:\n"
-"Jeśli jesteś w stanie to powtórzyć skontaktuj się z autorem programu.\n"
-
-#: diff.cpp:1270 diff.cpp:1284
+"Jeśli jest powtarzalny, to skontaktuj się z autorem programu.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Poważny błąd wewnętrzny"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Nr pierwszej linii na ekranie: %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Koniec"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
-msgstr "Pomieszane linki i normalne pliki."
-
-#: directorymergewindow.cpp:121
+msgstr "Pomieszane dowiÄ…zania i normalne pliki."
+
+#: directorymergewindow.cpp:149
 msgid "Link: "
-msgstr "Link: "
-
-#: directorymergewindow.cpp:129
+msgstr "DowiÄ…zanie: "
+
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Rozmiar. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Data & Rozmiar: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Tworzenie tymczasowej kopii %1 nieudane."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
-msgstr "Nieudane otwarcie %1."
-
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "Zapisywanie pliku..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+msgstr "Otwieranie %1 nie powiodło się."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Porównywanie pliku..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Błąd czytania z %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nazwa"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operacja"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
+msgstr "NierozwiÄ…zane"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "RozwiÄ…zane"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Nie biały"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Biały"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"Obecnie wykonywane jest łączenie katalogów. Jesteś pewny że chcesz "
-"przerwać tą operację i ponownie przeskanować katalog?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Obecnie wykonywane jest łączenie katalogów. Jesteś pewny że chcesz przerwać tą "
+"operację i ponownie przeskanować katalog?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Ponowne skanowanie"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
-msgstr "Kontynuacja łączenia"
-
-#: directorymergewindow.cpp:421
+msgstr "Wznów łączenie"
+
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
-msgstr "Nieudane otwarcie katalogu:"
-
-#: directorymergewindow.cpp:424
+msgstr "Otwieranie katalogu nie powiodło się:"
+
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog A \"%1\" nie istnieje lub nie jest katalogiem.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog B \"%1\" nie istnieje lub nie jest katalogiem.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog C \"%1\" nie istnieje lub nie jest katalogiem.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
-msgstr "Błąd otwarcia katalogu"
-
-#: directorymergewindow.cpp:440
+msgstr "Błąd otwierania katalogu"
+
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"Docelowy katalog nie może być taki sam jak A lub B jeśli łączone są "
-"trzy katalogi.\n"
-"Sprawdź ponownie zanim zaczniesz kontynuować"
-
-#: directorymergewindow.cpp:442
+"Docelowy katalog nie może być taki sam jak A lub B jeśli łączone są trzy "
+"katalogi.\n"
+"Sprawdź ponownie zanim będziesz kontynuować."
+
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Ostrzeżenie co do parametru"
 
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "Synchronizacja katalogów"
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Skanowanie katalogów ..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Czytanie katalogu A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Czytanie katalogu B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Czytanie katalogu C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Niektóre podkatalogi są nie do odczytu w"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Sprawdź prawa dostępu do podkatalogów."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Gotowe."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Status porównywania katalogów"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
-msgstr "Ilość podkatalogów:"
-
-#: directorymergewindow.cpp:621
+msgstr "Liczba podkatalogów:"
+
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
-msgstr "Ilość identycznych plików:"
-
-#: directorymergewindow.cpp:622
+msgstr "Liczba identycznych plików:"
+
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
-msgstr "Ilość różniących się plików:"
-
-#: directorymergewindow.cpp:625
+msgstr "Liczba różniących się plików:"
+
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
-msgstr "Ilość ręcznych połączeń:"
-
-#: directorymergewindow.cpp:761
+msgstr "Liczba ręcznych połączeń:"
+
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
-msgstr "To wpłynie na wszystkie operacje połączenia"
-
-#: directorymergewindow.cpp:762
+msgstr "To wpłynie na wszystkie operacje łączenia."
+
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Zmiana wszystkich operacji łączenia"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "K&ontynuuj"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "W trakcie "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Do zrobienia."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Kopiuj A do B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Kopiuj B do A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Usuń A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Usuń B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Usuń A i B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Połącz z A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Połącz z B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Połącz z A i B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Usuń (jeśli istnieje)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Połącz"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Połącz (ręcznie)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Błąd: Konflikt typów plików"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Błąd: Data identyczna ale pliki nie."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Ta operacja jest w tej chwili niemożliwa."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Niemożliwa operacja"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -335,45 +357,44 @@
 "\n"
 "mergeResultSaved: m_pMFI=0\n"
 "\n"
-"Jeśli wiesz jak to powtórzyć, proszę skontaktować się z autorem "
-"programu."
-
-#: directorymergewindow.cpp:1554
+"Jeśli wiesz jak to powtórzyć, proszę skontaktować się z autorem programu."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Błąd programu"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Wystąpił błąd w trakcie kopiowania.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Błąd połączenia"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Błąd."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Zrobione."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
-msgstr "Nie zapisane."
-
-#: directorymergewindow.cpp:1634
+msgstr "Niezapisane."
+
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Nieznana operacja połączenia. (To się nigdy nie powinno wydarzyć!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
-msgstr "Nieznana operacja połączenia."
-
-#: directorymergewindow.cpp:1681
+msgstr "Nieznana operacja łączenia."
+
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -389,311 +410,360 @@
 "Wybierz \"Zrób to\" jeśli czytałeś instrukcję i wiesz co robisz.\n"
 "Wybierz \"Symuluj\" otrzymasz informacje co otrzymasz\n"
 "\n"
-"Miej na uwadze że program nadal jest wersji beta i BRAK GWARANCJI co do "
-"wyników działania! Wykonaj kopie zapasowe swoich istotnych danych!"
-
-#: directorymergewindow.cpp:1686
+"Miej na uwadze że program nadal jest wersji beta i BRAK GWARANCJI co do wyników "
+"działania! Wykonaj kopie zapasowe swoich istotnych danych!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Rozpoczęcie połączenia"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Wykonaj"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Symuluj"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr "Podświetlona pozycja jest innego typu w innym katalogu. Wybierz co zrobić."
-
-#: directorymergewindow.cpp:1721
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"Podświetlona pozycja jest innego typu w innym katalogu. Wybierz co zrobić."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
-msgstr "Data modyfikacji plików jest taka sama ale pliki nie. Wybierz co zrobić."
-
-#: directorymergewindow.cpp:1778
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Data modyfikacji plików jest taka sama ale pliki nie. Wybierz co zrobić."
+
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
-"Ta operacja jest nie możliwa do wykonania w tej chwili gdyż obecnie "
-"wykonywana jest operacja połączenia katalogów"
-
-#: directorymergewindow.cpp:1838
+"Ta operacja jest nie możliwa do wykonania w tej chwili gdyż obecnie wykonywana "
+"jest operacja połączenia katalogów."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "W ostatnim kroku wystąpił błąd.\n"
-"Chcesz kontynuować z pozycja która powoduje błąd czy tez pominąć tą "
-"pozycjÄ™?"
-
-#: directorymergewindow.cpp:1840
+"Chcesz kontynuować z pozycja która powoduje błąd czy tez pominąć tą pozycję?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Kontynuuj połączenie po błędzie"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Kontynuuj z ostatniÄ… pozycjÄ…"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Pomiń pozycję"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Pominięto."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "W trakcie..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Operacja połączenia zakończona."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Połączenie zakończone"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Symulacja połączenia zakończona. Sprawdź czy zgadzasz się na "
-"zaproponowane operacje."
-
-#: directorymergewindow.cpp:1977
+"Symulacja połączenia zakończona. Sprawdź czy zgadzasz się na zaproponowane "
+"operacje."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Wystąpił błąd. Wciśnij OK aby zobaczyć szczegółowe informacje.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Błąd: W trakcie usuwania %1: Błąd tworzenia kopii zapasowej."
 
-#: directorymergewindow.cpp:2027
-#, fuzzy
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
-msgstr "delete directory recursively( %1 )"
-
-#: directorymergewindow.cpp:2029
+msgstr "usuwaj katalogi rekursywnie( %1 )"
+
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "usuń( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "Błąd: Nieudane usuwanie katalogu w momencie próby czytania katalogu."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Błąd: rmdir( %1 ) operacja nieudana."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Błąd: Nieudana operacja usuwania."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "ręczne połączenie( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Uwaga: Po ręcznym połączeniu użytkownik powinien kontynuować "
-"wciskajÄ…c F7."
-
-#: directorymergewindow.cpp:2125
+"     Uwaga: Po ręcznym połączeniu użytkownik powinien kontynuować wciskając F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Błąd: Nieudane kopiowanie( %1 -> %2 ) .Nieudane kasowanie katalogu "
-"docelowego."
-
-#: directorymergewindow.cpp:2135
-#, fuzzy
+"Błąd: Nieudane kopiowanie( %1 -> %2 ) .Nieudane kasowanie katalogu docelowego."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
-msgstr "Błąd: Nie udane copyLink: Odległe linki nie są jeszcze obsługiwane."
-
-#: directorymergewindow.cpp:2152
+msgstr ""
+"Błąd: Nie udane copyLink: Odległe dowiązania nie są jeszcze obsługiwane."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Błąd: Nieudane copyLink."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "kopiowanie( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Błąd w czasie zmiany nazwy( %1 -> %2 ): Nie można usunąć istniejącego "
-"miejsca docelowego."
-
-#: directorymergewindow.cpp:2204
+"Błąd w czasie zmiany nazwy( %1 -> %2 ): Nie można usunąć istniejącego miejsca "
+"docelowego."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "zmiana nazwy( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Błąd: Nieudana zmiana nazwy."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "Błąd w czasie makeDir %1. Nie można usunąć istniejącego pliku."
 
-#: directorymergewindow.cpp:2247
-#, fuzzy
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Błąd w trakcie tworzenia katalogu."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Cel"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Katalog"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Typ"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Rozmiar"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Atrybut"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Ostatnia modyfikacja"
 
-#: directorymergewindow.cpp:2289
-#, fuzzy
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
-msgstr "Link-Destination"
-
-#: directorymergewindow.cpp:2330
+msgstr "DowiÄ…zanie do pliku"
+
+#: directorymergewindow.cpp:2663
 msgid "not available"
-msgstr "nie dostępne"
-
-#: directorymergewindow.cpp:2350
+msgstr "niedostępne"
+
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Cel): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Podstawa): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Cel): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Cel): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Cel: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Połączenia katalogów"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Start/Kontynuuj Połączenie Katalogów "
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "wykonaj operację na bieżącej pozycji"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Porównaj zaznaczone pliki"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Połącz bieżący plik"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Uwzględnij podkatalogi"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Nie uwzględniaj podkatalogów"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Połączenia katalogów"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Połączenia katalogów"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Wybierz A dla wszystkich pozycji"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Wybierz B dla wszystkich pozycji"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Wybierz C dla wszystkich pozycji"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Automatyczny wybór dla wszystkich pozycji"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Brak operacji dla wszystkich pozycji"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Synchronizacja katalogów"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Kopiuj nowsze zamiast łączyć (niepewne)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Liczba różniących się plików:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Porównaj zaznaczone pliki"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Porównaj zaznaczone pliki"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Nic nie rób"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Usuń (jeśli istnieje)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Usuń A i B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "Połącz z A i B"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Błąd w trakcie wykonywania kopii zapasowej. Nieudane kasowanie starej "
-"kopii. \n"
+"Błąd w trakcie wykonywania kopii zapasowej. Nieudane kasowanie starej kopii. \n"
 "Nazwa pliku: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -701,483 +771,548 @@
 "Błąd w trakcie wykonywania kopii zapasowej. Nieudana zmiana nazwy. \n"
 "Nazwa plików: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Pobranie statusu pliku: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Czytanie pliku: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Zapisywanie pliku: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Brak pamięci"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Tworzenie katalogu: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Usuwanie katalogu: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Usuwanie pliku: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
-msgstr "Tworzenie linku symbolicznego: %1 -> %2"
-
-#: fileaccess.cpp:788
+msgstr "Tworzenie dowiÄ…zania symbolicznego:%1 -> %2"
+
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Zmiana nazwy pliku: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Kopiowanie pliku: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
-msgstr "Błąd podczas kopiowania pliku: Nieudane otwarcie pliku. Nazwa pliku: %1"
-
-#: fileaccess.cpp:844
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"Błąd podczas kopiowania pliku: Nieudane otwarcie pliku. Nazwa pliku: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Błąd podczas kopiowania pliku: Nieudane otwarcie pliku do zapisu. Nazwa pliku: "
 "%1"
-msgstr ""
-"Błąd podczas kopiowania pliku: Nieudane otwarcie pliku do zapisu. Nazwa "
-"pliku: %1"
-
-#: fileaccess.cpp:859
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Błąd w czasie kopiowania. Nieudany odczyt. Nazwa pliku: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Błąd w czasie kopiowania. Nieudany zapis. Nazwa pliku: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Czytanie katalogu: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
-msgstr "Wylistowanie katalogu: %1"
-
-#: kdiff3.cpp:135
+msgstr "Wyświetlenie zawartości katalogu: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Operacja synchronizacji dla bieżącej pozycji"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Błąd otwarcia pliku"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Użyta opcja --auto, ale nie określone wyjście."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Opcja --auto-zignorowana przy porównywaniu katalogów."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Nieudany zapis."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Nieudane otwarcie następujących plików:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Błąd otwarcia pliku"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Otwieranie dokumentów do porównania..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr ""
-"Zapisywanie rezultatu połączenia. Wszystkie konflikty muszą być "
-"rozwiÄ…zane!"
-
-#: kdiff3.cpp:333
+"Zapisywanie rezultatu połączenia. Wszystkie konflikty muszą być rozwiązane!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Zapisywanie bieżącego dokumentu jako..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Wyjście z programu"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Wycina zaznaczony fragment i umieszcza go w schowku"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopiuje zaznaczony fragment do schowka"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Wklejanie zawartości schowka w aktualne położenie"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Znajdź tekst"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Szukaj ponownie tekstu"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Włącza/wyłącza pasek narzędzi"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Włącza/wyłącza pasek statusu"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Konfiguracja KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Idź do bieżącej różnicy"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Idź do pierwszej różnicy"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Idź do ostatniej różnicy"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Pomija różnice w znakach odstępu gdy opcja \"Pokaż znaki odstępu\" jest "
+"wyłączona)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Nie pomija różnic w znakach odstępu gdy opcja \"Pokaż znaki odstępu\" jest "
+"wyłączona)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Idź do poprzedniej różnicy"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Idź do następnej różnicy"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Idź do poprzedniego konfliktu"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Idź do następnego konfliktu"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Idź do poprzedniego nie rozwiązanego konfliktu"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Idź do następnego nie rozwiązanego konfliktu"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Wybierz linie z A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Wybierz linie z B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Wybierz linie z C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Automatycznie idź do następnego nierozwiązanego konfliktu po wybraniu "
-"źródła"
-
-#: kdiff3.cpp:388
+"Automatycznie idź do następnego nierozwiązanego konfliktu po wybraniu źródła"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Pokaż spacje i tabulację w miejsce różnic"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
-msgstr "Pokaż białe znaki"
-
-#: kdiff3.cpp:391
+msgstr "Pokaż znaki odstępu"
+
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Pokaż numery linii"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Wybierz wszędzie A"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Wybierz wszędzie B"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Wybierz wszędzie C"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr "Wybierz A do wszystkich nierozwiązanych konfliktów"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr "Wybierz B do wszystkich nierozwiązanych konfliktów"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr "Wybierz C do wszystkich nierozwiązanych konfliktów"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr "Wybierz A dla wszystkich nierozwiązanych konfliktów białych znaków"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr "Wybierz B dla wszystkich nierozwiązanych konfliktów białych znaków"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr "Wybierz C dla wszystkich nierozwiązanych konfliktów białych znaków"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Wybierz A dla wszystkich nierozwiązanych konfliktów"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Wybierz B dla wszystkich nierozwiązanych konfliktów"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Wybierz C dla wszystkich nierozwiązanych konfliktów"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Wybierz A dla wszystkich nierozwiązanych konfliktów znaków odstępu"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Wybierz B dla wszystkich nierozwiązanych konfliktów znaków odstępu"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Wybierz C dla wszystkich nierozwiązanych konfliktów znaków odstępu"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Automatycznie rozwiąż proste konflikty"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Zamień różnice na konflikty"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Automatycznie rozwiąż proste konflikty"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Pokaż okno A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Pokaż okno B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Pokaz okno C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Uaktywnij następne okno"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
+msgstr "Normalne przeglÄ…danie"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Przegląd różnic między A i B"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Przegląd różnic między A i C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Przegląd różnic między B i C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Zawijanie wyrazów w oknach różnic"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
 msgstr ""
 
-#: kdiff3.cpp:410
-msgid "A vs. B Overview"
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
 msgstr ""
 
-#: kdiff3.cpp:411
-msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
-msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
-msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Uaktywnij poprzednie okno"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Przełącz orientację podziału okien"
 
-#: kdiff3.cpp:421
-#, fuzzy
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
-msgstr "Dir && Text Split Screen View"
-
-#: kdiff3.cpp:423
+msgstr "Widok dzielony katalogu i tekstu"
+
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Przełącza między widokiem katalogów i tekstu"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
-msgstr "Rezultat połączenia nie został zapisany"
-
-#: kdiff3.cpp:505
+msgstr "Rezultat połączenia nie został zapisany."
+
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Zapisz i Wyjdź"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Zakończ bez zapisywania"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Nieudany zapis rezultatu połączenia."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Obecnie wykonujesz połączenie katalogów. Jesteś pewny że chcesz "
-"przerwać?"
-
-#: kdiff3.cpp:547
+"Obecnie wykonujesz połączenie katalogów. Jesteś pewny że chcesz przerwać?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Zapisywanie pliku..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
-msgstr "Zapisywanie pliku pod nowÄ… nazwÄ….."
-
-#: kdiff3.cpp:587
+msgstr "Zapisywanie pliku pod nowÄ… nazwÄ…..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Wyjście..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Operacja połączenia zakończona."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Wyjście..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Przełączanie paska narzędzi..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Przełączanie paska statusu..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Szukanie tekstu:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Rozróżniaj wielkość liter"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Przeszukiwanie A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Przeszukiwanie B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Przeszukiwanie C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Wynik szukania"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Szukanie"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Nie można znaleźć plików do porównania."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "Nie można znaleźć fragmentu programu!\n"
-"Może to być spowodowane niepoprawną instalacją. Przeczytaj README aby "
-"uzyskać szczegółowe informacje."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Narzędzia do porównywania i połączeń"
+"Może to być spowodowane niepoprawną instalacją. Przeczytaj README aby uzyskać "
+"szczegółowe informacje."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Narzędzia do porównywania i łączenia plików i katalogów"
+
+#: main.cpp:40
 msgid "Merge the input."
-msgstr "Połącz pliki wejściowe"
-
-#: main.cpp:37
+msgstr "Połącz pliki wejściowe."
+
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr ""
-
-#: main.cpp:39
+"Bezpośrednio podany plik bazowy - w celu zgodności z niektórymi narzędziami."
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
-msgstr ""
-
-#: main.cpp:40
+msgstr "Plik wyjściowy. Implikuje opcję -m. Przykład: -o nowyplik.txt"
+
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr ""
-
-#: main.cpp:41
+"Plik wyjściowy, ponownie (w celu zapewnienia zgodności z niektórymi "
+"narzędziami)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-"Brak GUI jeśli wszystkie konflikty mogą być automatycznie rozwiązane. "
-"(Wymaga pliku -o)"
-
-#: main.cpp:42
+"Brak GUI jeśli wszystkie konflikty mogą być automatycznie rozwiązane. (Wymaga "
+"pliku -o)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Nie rozwiązuj konfliktów automatycznie. (Dla zgodności...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
-msgstr ""
-
-#: main.cpp:44
+msgstr "Widoczna nazwa dla pliku 1 (podstawowego)."
+
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
-msgstr ""
-
-#: main.cpp:45
+msgstr "Widoczna nazwa dla pliku 2."
+
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
-msgstr ""
-
-#: main.cpp:47
+msgstr "Widoczna nazwa dla pliku 3."
+
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
+"Alternatywna zastępcza nazwa widoczna. Proszę podać jedną dla każdego pliku "
+"wejściowego."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
 msgstr ""
 
-#: main.cpp:50
-msgid "For compatibility with certain tools."
+#: main.cpp:54
+msgid "Show list of config settings and current values."
 msgstr ""
 
-#: main.cpp:52
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Liczba różniących się plików:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "Otwórz plik1 (bazowy, jeśli nie określono poprzez --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "Otwórz plik 2 "
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "Otwórz plik3"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr "+ Wielkie dzięki zgłaszającym błędy i wnoszącym nowe pomysły!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
 msgstr ""
-
-#: mergeresultwindow.cpp:254
+"Liczba pozostałych nie rozwiązanych konfliktów: %1 (z których %2 dotyczy znaków "
+"odstępu)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1185,92 +1320,95 @@
 "Plik wyjściowy został zmieniony.\n"
 "Jeśli będziesz kontynuować zmiany zostaną utracone."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Wszystkie pliki wejściowe są binarnie równe."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Wszystkie wejściowe pliki zawierając ten sam tekst."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Pliki A i B sÄ… binarnie identyczne.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Pliki A i B majÄ… identyczny tekst.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Pliki A i C sÄ… binarnie identyczne.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Pliki A i C majÄ… identyczny tekst.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Pliki B i C sÄ… binarnie identyczne.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Pliki B i C majÄ… identyczny tekst. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
-msgstr "Całkowita ilość konfliktów: "
-
-#: mergeresultwindow.cpp:739
+msgstr "Całkowita liczba konfliktów: "
+
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
 "\n"
-"Ilość automatycznie rozwiązanych konfliktów: "
-
-#: mergeresultwindow.cpp:740
+"Liczba automatycznie rozwiązanych konfliktów: "
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
 msgstr ""
 "\n"
-"Ilość nie rozwiązanych konfliktów: "
-
-#: mergeresultwindow.cpp:742
+"Liczba nie rozwiązanych konfliktów: "
+
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Konflikty"
 
-#: mergeresultwindow.cpp:1081
-#, fuzzy
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
-msgstr "<No src line>"
-
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+msgstr "<Brak wiersza źr.>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Konflikt łączenia (tylko znaki odstępu)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Konflikt połączenia>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
-msgstr ""
-
-#: mergeresultwindow.cpp:1157
+msgstr "Wyjście"
+
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[zmodyfikowane]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1278,41 +1416,53 @@
 "Nie wszystkie konflikty zostały rozwiązane.\n"
 "Plik nie został zapisany.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Pozostałe konflikty"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Plik nie zapisany."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Tworzenie pliku zapasowego nie powiodło się. Plik nezapisany."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Błąd zapisu pliku"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Brak pamięci w czasie przygotowywania do zapisu."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Błąd w czasie zapisu."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8-bitowy"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Zmień to jeśli znaki non-ascii są wyświetlane niepoprawnie."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Czcionka edytora i wyjścia różnic"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Kursywa do różnic"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1320,64 +1470,99 @@
 "Wybierz kursywę do pokazania różnic.\n"
 "Jeśli czcionka nie ma kursywy, wtedy to nic nie zmieni."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Kolor"
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 #, fuzzy
-msgid "Colors in Editor & Diff Output"
-msgstr "Kolory w edytorze i Diff Output"
-
-#: optiondialog.cpp:367
+msgid "Colors Settings"
+msgstr "Ustawienia regionalne"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Kolor podstawowy:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Kolor tła:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Kolor tła dla różnic:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Kolor A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Kolor B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Kolor C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Kolor dla konfliktów:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Kolor tła zaznaczonego bloku:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Kolor tła różnic w bloku:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Status porównywania katalogów"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Edytor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
-msgstr "Zachowanie Edytora"
-
-#: optiondialog.cpp:441
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "Zachowanie edytora"
+
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Zamień znaki tabulacji na spacje"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1385,65 +1570,59 @@
 "Włą: Wciśnięcie tabulacji wstawi określoną liczbę spacji.\n"
 "Wył: Zostanie wprowadzony znak tabulacji."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Szerokość tabulacji:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
-msgstr "Automatyczna indentacja"
-
-#: optiondialog.cpp:458
+msgstr "Automatyczne wcięcia"
+
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"Włą: Indentacja  poprzedniej linii będzie użyta jako nowa linia.\n"
-
-#: optiondialog.cpp:462
+"Włą: Wcięcie poprzedniej linii będzie użyte w nowej linii.\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Wybór auto kopiowania"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
 "Włą: Jakiekolwiek zaznaczenie powoduje natychmiastowy zapis do schowka.\n"
-"Wył: Musisz jawnie skopiować np. poprzez Ctrl-C"
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
-msgstr "Znak końca linii:"
-
-#: optiondialog.cpp:482
+"Wył: Musisz jawnie skopiować np. poprzez Ctrl-C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Znaki końca linii:"
+
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-"Ustaw znak końca linii jaki będzie użyty podczas zapisywania pliku\n"
+"Ustawia znak końca linii, jaki będzie używany podczas zapisywania pliku\n"
 "DOS/Windows: CR+LF; Unix: LF; gdzie CR=0x0D; LF=0x0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Użyj lokalnego kodowania"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Zmień to jeśli znaki non-ascii są wyświetlane niepoprawnie."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Różnice i Połączenia"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Ustawienia różnic i połączeń"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Zachowuj znak końca linii"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1452,59 +1631,60 @@
 "Pomaga to w porównywaniu plików które zostały\n"
 "zmodyfikowane w rożnych systemach operacyjnych."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignoruj cyfry"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 "Ignoruj liczby podczas sprawdzania (Podobne do Ignoruj białe znaki)\n"
 "Może być pomocne przy porównywania plików z danymi numerycznymi."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignoruj komentarze C/C++ "
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Traktuj komentarze C/C++ jak białe znaki."
 
-#: optiondialog.cpp:532
-#, fuzzy
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignoruj cyfry"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr ""
-
-#: optiondialog.cpp:539
+msgstr "Różnice wielkości liter traktuj jak zmiany znaków odstępu. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Komenda preprocesora:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr "Zdefiniowany przez użytkownika pre-proces. (Zobacz szczegóły w docs.)"
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
-msgstr ""
-
-#: optiondialog.cpp:550
+msgstr "Linia komend preprocesora:"
+
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
-
-#: optiondialog.cpp:553
+"Ta komenda może być użyta tylko z linii poleceń.\n"
+"(Aby uzyskać szczegóły zobacz docs.)"
+
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
-msgstr "Try hard (wolne)"
-
-#: optiondialog.cpp:556
+msgstr "Próbuj bardziej (wolne)"
+
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1512,175 +1692,294 @@
 "Udostępnia opcję --minimal dla zewnętrznego.\n"
 "Analizowanie dużych plików będzie znacznie wolniejsze."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
-msgstr ""
-
-#: optiondialog.cpp:566
+msgstr "Czas automatycznego przejścia (ms):"
+
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-
-#: optiondialog.cpp:571
+"W trybie automatycznego przechodzenia wynik aktualnego zaznaczenia \n"
+"jest pokazywany przez podany czas zanim nastąpi przejście do następnego \n"
+"konfliktu. Zakres: 0-2000 ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
+msgstr "Domyślne łączenie znaków białych przy 2 plikach:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Wybór użytkownika"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "Ręczny wybór"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+"Pozwól algorytmowi łączenia dokonać automatycznego wyboru wejścia - tylko dla "
+"znaków odstępu."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "Domyślne łączenie znaków białych przy 3 plikach:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
 msgstr ""
 
-#: optiondialog.cpp:584
-msgid "White space 3-file merge default:"
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
 msgstr ""
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.2  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Połączenia katalogów"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Rekursywne katalogi"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Czy mają być analizowane podkatalogi."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Wzorzec plików:"
 
-#: optiondialog.cpp:620
-#, fuzzy
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Wzorzec plików do analizy. \n"
-"Wildcards: '*' i '?'\n"
+"Wzorzec(rce) plików do analizy. \n"
+"Znaki szablonowe (wildcards): '*' i '?'\n"
 "Można określić kilka wzorców poprzez użycie separatora: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Anty wzorzec plików:"
 
-#: optiondialog.cpp:631
-#, fuzzy
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Wzorce plików jakie mają być wyłączone z analizy. \n"
-"Wildcards: '*' i '?'\n"
+"Wzorzec(rce) plików jakie mają być wyłączone z analizy. \n"
+"Znaki szablonowe (wildcards): '*' i '?'\n"
 "Możesz określić kilka wzorców używając separatora: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Anty wzorzec katalogów:"
 
-#: optiondialog.cpp:642
-#, fuzzy
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Wzorzec katalogów jakie mają być wykluczone z analizy. \n"
-"Wildcards: '*' and '?'\n"
+"Wzorzec(rce) katalogów jakie mają być wykluczone z analizy. \n"
+"Znaki szablonowe (wildcards): '*' and '?'\n"
 "Możesz użyć kilku wzorców poprzez użycie separatora: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Użyj .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
 "Rozszerz anty wzorzec na wszystko co będzie ignorowane przez CVS. \n"
-"W lokalnym \".cvsignore\" -pliki mogą być specyficzne dla katalogów"
-
-#: optiondialog.cpp:656
+"W lokalnym \".cvsignore\" -pliki mogą być specyficzne dla katalogów."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Znajdź ukryte pliki i katalogi"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Znajduje pliki i katalogi z atrybutem ukryty."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Znajduje pliki i katalogi z nazwÄ… zaczynajÄ…cÄ… siÄ™ na '.' ."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
-msgstr "Podążaj za linkami"
-
-#: optiondialog.cpp:668
+msgstr "Podążaj za dowiązaniami"
+
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Włą: Porównuj pliki na które wskazuje link.\n"
-"Wył: Porównuj linki."
-
-#: optiondialog.cpp:673
+"Włą: Porównuj pliki na które wskazuje dowiązanie.\n"
+"Wył: Porównuj dowiązania."
+
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
-msgstr "Podążaj za linkami katalogów"
-
-#: optiondialog.cpp:676
+msgstr "Podążaj za dowiązaniami katalogów"
+
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Włą: Porównuj katalogi na które wskazuje link. \n"
-"Wył: Porównuj linki."
-
-#: optiondialog.cpp:681
+"Włą: Porównuj katalogi na które wskazuje dowiązanie. \n"
+"Wył: Porównuj dowiązania."
+
+#: optiondialog.cpp:1021
 msgid "List only deltas"
-msgstr "Wylistuj tylko różnicę"
-
-#: optiondialog.cpp:684
+msgstr "Wyświetl tylko różnice"
+
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Pliki i katalogi bez zmian nie mają pokazać się na liście."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-#, fuzzy
-msgid "Binary Comparison"
-msgstr "Status porównywania katalogów"
-
-#: optiondialog.cpp:692
+msgstr "Tryb porównania plików"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Porównanie binarne"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Binarne porównanie dla każdego pliku (domyślne)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Pełna analiza"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
+"Wykonaj pełną analizę i pokaż statystyki w dodatkowych kolumnach.\n"
+"(Wolniejsze niż porównanie binarne, i znacznie wolniejsze dla plików "
+"binarnych.)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Ufaj dacie modyfikacji (niepewne)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1690,11 +1989,11 @@
 "identyczny\n"
 "Użyteczne przy dużych katalogach lub wolnych połączeniach sieciowych."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Ufaj rozmiarowi (niepewne)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
@@ -1704,11 +2003,11 @@
 "Użyteczne przy dużych katalogach lub wolnych połączeniach \n"
 "sieciowych gdzie data jest modyfikowana w trakcie ściągania."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Synchronizacja katalogów"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1719,11 +2018,23 @@
 "Działa tylko przy porównywaniu dwóch katalogów \n"
 "bez określonego miejsca docelowego."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Różnice w znakach odstępu ignorowane"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Jeśli pliki różnią się tylko znakami odstępu, to uznaj je za identyczne.\n"
+"Opcja aktywna tylko w przypadku pełnej analizy."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Kopiuj nowsze zamiast łączyć (niepewne)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1733,11 +2044,11 @@
 "(Użyj tego tylko jeśli wiesz co robisz!)\n"
 "Efektywne tylko przy porównywaniu dwóch katalogów."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Tworzenie kopii zapasowych (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1745,27 +2056,94 @@
 "Gdy plik będzie zapisywany w miejsce starego, to stary plik\n"
 "zmieni nazwę z rozszerzeniem '.orig', zamiast zostać usuniętym."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Ustawienia regionalne"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
-msgstr "Język ( wymaga ponownego uruchomienia)"
-
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Automatycznie"
-
-#: optiondialog.cpp:783
+msgstr "Język(wymaga ponownego uruchomienia)"
+
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-"Wybór języka dla GUI lub \"Automatycznie\". \n"
-"By nastąpiła zmiana języka zrestartuj KDiff3."
-
-#: optiondialog.cpp:825
+"Wybierz język dla GUI lub ustaw na\"Automatycznie\". \n"
+"Po zmianie języka należy uruchomić ponownie KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Używanie tego samego kodowania dla wszystkiego:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Włączenie tej opcji pozwala na zmianę wszystkich kodowań zmieniając tylko "
+"pierwsze. \n"
+"Proszę wyłączyć jeśli potrzebne są różne ustawienia indywidualne. "
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Uwaga: lokalne kodowanie to "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Kodowanie pliku A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Kodowanie pliku B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Kodowanie pliku C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Kodowanie pliku wynikowego i przy zapisywaniu:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Kodowanie plików preprocesora:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Język z pismem prawy-do-lewego"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Niektóre języka pisze się od prawej strony do lewej. \n"
+"Ustawienie to zmieni odpowiednio za równo przeglądarkę jak i edutor."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operacja"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Ustawienia regionalne"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1781,88 +2159,91 @@
 "\n"
 "Chcesz kontynuować czy też wybrać inną czcionkę."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Niekompatybilna czcionka"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Kontynuacja na własne ryzyko"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Wybierz innÄ… czcionkÄ™"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Kasuje wszystkie ustawienia. Działa nie tylko na bieżącej zakładce."
 
-#: pdiff.cpp:257
-#, fuzzy
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
-msgstr "Komenda preprocesora:"
-
-#: pdiff.cpp:262
+msgstr "Komenda preprocesora: "
+
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-
-#: pdiff.cpp:263
+"Następująca opcja(e) które wybrano mogą zmienić dane:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr "Opcja niepewna dla połączeń"
+"\n"
+"Najczęściej nie jest to pożądane podczas połączenia.\n"
+"Chcesz wyłączyć te ustawienia czy kontynuować z włączonymi tymi ustawieniami?"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr "Użyj tych opcji podczas połączeń"
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr "Niepewne funkcje wyłączone"
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Opcja niebezpieczna podczas łączenia"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Użyj tych opcji podczas łączenia"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Wyłącz niebezpieczne opcje"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Wczytywanie A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Wczytywanie B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Różnica: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
-msgstr ""
-
-#: pdiff.cpp:321
+msgstr "Różnica: A <-> B"
+
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Wczytywanie C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Różnica: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Różnica: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
-msgstr ""
-
-#: pdiff.cpp:355
+msgstr "Różnica: B <-> C"
+
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
-msgstr ""
-
-#: pdiff.cpp:502
+msgstr "Różnica: A <-> C"
+
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1872,116 +2253,251 @@
 "Zauważ że KDiff3 nie nadaje się do łączenia danych binarnych.\n"
 "Kontynuuj na własne ryzyko."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "O programie"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Otwieranie plików..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Błąd otwarcia pliku"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Wytnij zaznaczenie..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopiuj zaznaczony fragment do schowka..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Wkleja zawartość schowka..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Zapisz i Kontynuuj"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Zakończ bez zapisywania"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Wynik szukania."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Połączenie zakończone"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Błąd w trakcie tworzenia katalogu."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "K&Diff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Konfiguracja KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Katalog"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Operacja połączenia dla bieżącej pozycji"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Operacja synchronizacji dla bieżącej pozycji"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Idź"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "&Różnice"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Połączenie"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Okno"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Podstawa):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Plik..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Katalog..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Opcjonalnie):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Wynik (opcjonalnie):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Konfiguracja..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "O programie"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Otwieranie plików..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Błąd otwarcia pliku"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Wytnij zaznaczenie..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Kopiuj zaznaczony fragment do schowka..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Wkleja zawartość schowka..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Zapisz i Kontynuuj"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Zakończ bez zapisywania"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Szukaj tekstu:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Rozróżniaj wielkość liter"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Przeszukiwanie A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Przeszukiwanie B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Przeszukiwanie C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
 msgstr "Wynik szukania"
 
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Połączenie zakończone"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "K&Diff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Konfiguracja KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Katalog"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Szukanie"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Wybór auto kopiowania"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Wybór użytkownika"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
 
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
 msgstr ""
 
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Idź"
-
-#: rc.cpp:9
-msgid "D&iffview"
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
 msgstr ""
 
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Połączenie"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Okno"
-
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Błąd zapisu pliku tymczasowego: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Konwertuj na duże litery"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Zmień wszystkie małe znaki na duże w czasie czytania. (np. 'a'->'A')"
-
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Konwertuj na duże litery"
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Nieudany zapis."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Nie ma wpływu na wynik. Ze względu na kompatybilność z pewnymi narzędziami."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Ze względu na kompatybilność z pewnymi narzędziami."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Kolory w edytorze i wyjściu różnic"
--- a/kdiff3/po/pt.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/pt.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,37 +1,38 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-02 11:13+0100\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-03-28 02:05+0100\n"
 "Last-Translator: Pedro Morais <morais@kde.org>\n"
 "Language-Team: pt <kde-i18n-pt@kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-POFile-SpellExtra: LF return Dif carriage ms diff CR KDiff cvsignore\n"
+"X-POFile-SpellExtra: orig Log\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr "Pedro Morais"
+msgstr "José Nuno Pires,Pedro Morais"
 
 #: _translatorinfo.cpp:3
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr "morais@kde.org"
-
-#: diff.cpp:241
+msgstr "jncp@netcabo.pt,morais@kde.org"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr ""
-"A escrita de dados da área de transferência para o ficheiro temporário "
-"falhou."
-
-#: diff.cpp:245
+"A escrita de dados da área de transferência para o ficheiro temporário falhou."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Da Ãrea de Transferência"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -39,13 +40,11 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-"O preprocessamento possivelmente falhou. Verifique este comando:\n"
-"\n"
+"O pré-processamento possivelmente falhou. Verifique este comando:\n"
 "  %1\n"
-"\n"
-"O comando de preprocessamento vai ser desactivado."
-
-#: diff.cpp:425
+"O comando de pré-processamento vai ser desactivado."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -53,14 +52,12 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"O preprocessamento com procura de linhas possivelmente falhou. Verifique "
-"este comando:\n"
-"\n"
+"O pré-processamento com procura de linhas possivelmente falhou. Verifique este "
+"comando:\n"
 "  %1\n"
-"\n"
-"O comando de preprocessamento com procura de linhas vai ser desactivado."
-
-#: diff.cpp:1268 diff.cpp:1282
+"O comando de pré-processamento com procura de linhas vai ser desactivado."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -68,268 +65,269 @@
 "Erro de perda de dados:\n"
 "Se for reprodutível, contacte por favor o autor.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Erro Interno Grave"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Linha de topo %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Linha de topo"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Fim"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mistura de ligações e ficheiros normais."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Ligação: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Tamanho. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Data e Tamanho: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "A criação da cópia temporária do %1 falhou."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "O acesso ao %1 foi mal-sucedido."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "A comparar o ficheiro..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
-msgstr "Erro ao ler do %1"
-
-#: directorymergewindow.cpp:252
+msgstr "Erro ao ler de %1"
+
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nome"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
-msgstr "Operações"
-
-#: directorymergewindow.cpp:257
+msgstr "Operação"
+
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Estado"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Não resolvido"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Resolvido"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Não vazio"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Vazio"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"Você está neste momento a fazer uma junção de directoria. Tem a certeza "
-"que deseja interromper a junção e analisar a directoria de novo?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Você está neste momento a fazer uma junção de pastas. Tem a certeza que deseja "
+"interromper a junção e analisar a pasta de novo?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
-msgstr "Analisar de Novo"
-
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+msgstr "Pesquisar de Novo"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Continuar a Junção"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
-msgstr "O acesso às directorias foi mal-sucedido:"
-
-#: directorymergewindow.cpp:424
+msgstr "O acesso às pastas foi mal-sucedido:"
+
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"A directoria A \"%1\" não existe ou não é uma directoria.\n"
-
-#: directorymergewindow.cpp:427
+"A pasta A \"%1\" não existe ou não é uma pasta.\n"
+
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"A directoria B \"%1\" não existe ou não é uma directoria.\n"
-
-#: directorymergewindow.cpp:430
+"A pasta B \"%1\" não existe ou não é uma pasta.\n"
+
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"A directoria C \"%1\" não existe ou não é uma directoria.\n"
-
-#: directorymergewindow.cpp:432
+"A pasta C \"%1\" não existe ou não é uma pasta.\n"
+
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
-msgstr "Erro de Acesso à Directoria"
-
-#: directorymergewindow.cpp:440
+msgstr "Erro de Acesso à Pasta"
+
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"A directoria de destino não pode ser a mesma que a A ou a B quando são "
-"reunidas três directorias.\n"
+"A pasta de destino não pode ser a mesma que a A ou a B quando são reunidas três "
+"pastas.\n"
 "Verifique de novo antes de continuar."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Aviso do Parâmetro"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
-msgstr "A procurar as directorias..."
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "A pesquisar as pastas..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
-msgstr "A Ler a Directoria A"
-
-#: directorymergewindow.cpp:518
+msgstr "A Ler a Pasta A"
+
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
-msgstr "A Ler a Directoria B"
-
-#: directorymergewindow.cpp:540
+msgstr "A Ler a Pasta B"
+
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
-msgstr "A Ler a Directoria C"
-
-#: directorymergewindow.cpp:566
+msgstr "A Ler a Pasta C"
+
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
-msgstr "Algumas das sub-directorias não eram legíveis"
-
-#: directorymergewindow.cpp:571
+msgstr "Algumas das sub-pastas não eram legíveis"
+
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
-msgstr "Verifique as permissões das sub-directorias."
-
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+msgstr "Verifique as permissões das sub-pastas."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Pronto."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
-msgstr "Estado da Comparação da Directoria"
-
-#: directorymergewindow.cpp:620
+msgstr "Estado da Comparação da Pasta"
+
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
-msgstr "Número de sub-directorias:"
-
-#: directorymergewindow.cpp:621
+msgstr "Número de sub-pastas:"
+
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Número de ficheiros iguais:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Número de ficheiros diferentes:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Número de junções manuais:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Isto afecta todas as operações de junção."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "A Mudar Todas as Operações de Junção"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "C&ontinuar"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "A processar "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "A fazer."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Copiar A para B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Copiar B para A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Apagar A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Apagar B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Apagar A e B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Juntar a A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Juntar a B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Juntar a A e B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Apagar (se existir)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
-msgstr "Juntar"
-
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+msgstr "Reunir"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Juntar (manual)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Erro: Tipos de Ficheiros em Conflito"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Erro: As datas são iguais mas os ficheiros não."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Esta operação não é possível de momento."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Operação Não Possível"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -343,42 +341,42 @@
 "\n"
 "Se souber como reproduzir isto, contacte por favor o autor do programa."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Erro no Programa"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Ocorreu um erro ao copiar.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Erro na Junção"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Erro."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Terminado."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Não gravado."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Operação de junção desconhecida. (Isto nunca deve acontecer!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Operação de junção desconhecida."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -394,308 +392,353 @@
 "Escolha \"Fazê-lo\" se leu as instruções e sabe o que está a fazer.\n"
 "Se escolher \"Simulá-lo\" irá saber o que iria acontecer.\n"
 "\n"
-"Tenha em atenção que este programa está ainda em estado Beta e NÃO "
-"EXISTE NENHUMA GARANTIA! Faça cópias de segurança dos seus dados vitais!"
-
-#: directorymergewindow.cpp:1686
+"Tenha em atenção que este programa está ainda em estado Beta e NÃO EXISTE "
+"NENHUMA GARANTIA! Faça cópias de segurança dos seus dados vitais!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "A Iniciar a Junção"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Fazê-lo"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simulá-lo"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
-"O item realçado tem um tipo diferente nas várias directorias. Seleccione o "
-"que fazer."
-
-#: directorymergewindow.cpp:1721
+"O item realçado tem um tipo diferente nas várias pastas. Seleccione o que "
+"fazer."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
 "As datas de modificação dos ficheiros são iguais mas estes não o são. "
 "Seleccione o que fazer."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
-"Esta operação não é possível de momento que a junção da directoria "
-"está a decorrer."
-
-#: directorymergewindow.cpp:1838
+"Esta operação não é possível de momento que a junção da pasta está a decorrer."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Ocorreu um erro no último passo.\n"
 "Deseja continuar com o item que causou o erro ou deseja saltar este item?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Continuar a junção após um erro"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Continuar com o Último Item"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Saltar o Item"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Ignorado."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Em progresso..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "A operação de junção terminou."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Junção Completa"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
 "A simulação da junção terminou: Verifique se concorda com as operações "
 "propostas."
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Ocorreu um erro. Carregue em OK para ver a informação detalhada.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Erro: Ao tentar apagar o %1: a criação da cópia de segurança falhou."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
-msgstr "apagar recursivamente as directorias( %1 )"
-
-#: directorymergewindow.cpp:2029
+msgstr "apagar recursivamente as pastas( %1 )"
+
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "delete( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
-msgstr ""
-"Erro: a operação de remoção da directoria falhou ao tentar ler a "
-"directoria."
-
-#: directorymergewindow.cpp:2063
+msgstr "Erro: a operação de remoção da pasta falhou ao tentar ler a pasta."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Erro: a operação rmdir( %1 ) falhou."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Erro: a operação de remoção falhou."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "junção manual( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr "     Nota: Após uma junção manual o utilizador deve continuar com o F7."
-
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Nota: Após uma junção manual o utilizador deve continuar com o F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
-msgstr "Erro: a cópia( %1 -> %2 ) falhou. A remoção do destino existente falhou."
-
-#: directorymergewindow.cpp:2135
+msgstr ""
+"Erro: a cópia( %1 -> %2 ) falhou. A remoção do destino existente falhou."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Erro: o copyLink falhou: As ligações remotas ainda não são suportadas."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Erro: o copyLink falhou."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "cópia( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Erro durante o rename( %1 -> %2 ): Não é possível remover o destino "
-"existente."
-
-#: directorymergewindow.cpp:2204
+"Erro durante o rename( %1 -> %2 ): Não é possível remover o destino existente."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "rename( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Erro: A mudança de nome falhou."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr "Erro durante o makeDir do %1. Não é possível remover o ficheiro existente."
-
-#: directorymergewindow.cpp:2247
+msgstr ""
+"Erro durante o makeDir do %1. Não é possível remover o ficheiro existente."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
-msgstr "Erro ao criar a directoria."
-
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+msgstr "Erro ao criar a pasta."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Dest"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dir"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Tipo"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Tamanho"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Atrib"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Última Modificação"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Ligação-Destino"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "não disponível"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Dest): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Base): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Dest): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Dest): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Dest: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Gravar o Estado da Junção de Pastas Como..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
-msgstr "Iniciar/Continuar a Junção da Directoria"
-
-#: directorymergewindow.cpp:2399
+msgstr "Iniciar/Continuar a Junção da Pasta"
+
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
-msgstr "Executar a Operação o Item Actual"
-
-#: directorymergewindow.cpp:2400
+msgstr "Executar a Operação no Item Actual"
+
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Comparar o Ficheiro Seleccionado"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Juntar o Ficheiro Actual"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
-msgstr "Fechar Todas as Sub-Directorias"
-
-#: directorymergewindow.cpp:2403
+msgstr "Fechar Todas as Sub-Pasta"
+
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
-msgstr "Expandir Todas as Sub-Directorias"
-
-#: directorymergewindow.cpp:2405
+msgstr "Expandir Todas as Sub-Pastas"
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Gravar o Estado da Junção de Pastas..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Carregar o Estado da Junção de Pastas..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Seleccionar Todos os Itens do A"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Seleccionar Todos os Itens do B"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Seleccionar Todos os Itens do C"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Escolher Automaticamente a Operação para Todos os Itens"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Nenhuma Operação para Todos os Itens"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Sincronizar as Pastas"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copiar os Ficheiros Mais Recentes em Vez de Juntar"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Mostrar os Ficheiros Idênticos"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Mostrar os Ficheiros Diferentes"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Mostrar os Ficheiros Apenas no A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Mostrar os Ficheiros Apenas no B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Mostrar os Ficheiros Apenas no C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Comparar os Ficheiros Seleccionados Explicitamente"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Juntar os Ficheiros Seleccionados Explicitamente"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Não Fazer Nada"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Apagar (Se Existir)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Apagar A e B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "Juntar a A e B"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Ao tentar fazer uma cópia de segurança, a remoção de uma cópia anterior "
-"falhou. \n"
+"Ao tentar fazer uma cópia de segurança, a remoção de uma cópia anterior falhou. "
+"\n"
 "Ficheiro: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -703,488 +746,548 @@
 "Ao tentar fazer uma cópia de segurança, a mudança de nome falhou. \n"
 "Ficheiros: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "A obter o estado do ficheiro: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "A ler o ficheiro: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "A escrever o ficheiro: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Sem memória"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
-msgstr "A criar a directoria: %1"
-
-#: fileaccess.cpp:731
+msgstr "A criar a pasta: %1"
+
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
-msgstr "A remover a directoria: %1"
-
-#: fileaccess.cpp:746
+msgstr "A remover a pasta: %1"
+
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "A remover o ficheiro. %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "A criar a ligação simbólica: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "A mudar o nome do ficheiro: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "A copiar o ficheiro: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para "
-"leitura falhou. Ficheiro: %1"
-
-#: fileaccess.cpp:844
+"Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para leitura "
+"falhou. Ficheiro: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para "
-"escrita falhou. Ficheiro: %1"
-
-#: fileaccess.cpp:859
+"Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para escrita "
+"falhou. Ficheiro: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"Erro durante a operação de cópia do ficheiro: A leitura falhou. Ficheiro: "
-"%1"
-
-#: fileaccess.cpp:868
+"Erro durante a operação de cópia do ficheiro: A leitura falhou. Ficheiro: %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Erro durante a operação de cópia do ficheiro: A escrita falhou. Ficheiro: "
-"%1"
-
-#: fileaccess.cpp:1171
+"Erro durante a operação de cópia do ficheiro: A escrita falhou. Ficheiro: %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
-msgstr "A ler a directoria: "
-
-#: fileaccess.cpp:1297
+msgstr "A ler a pasta: "
+
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
-msgstr "A analisar a directoria: %1"
-
-#: kdiff3.cpp:135
+msgstr "A analisar a pasta: %1"
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Configuração Actual:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Erro da Opção de Configuração:"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr ""
-"A opção --auto foi indicada, mas não foi especificado nenhum ficheiro de "
-"saída."
-
-#: kdiff3.cpp:241
+"A opção --auto foi indicada, mas não foi especificado nenhum ficheiro de saída."
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
-msgstr "A opção --auto é ignorada para a comparação de directorias."
-
-#: kdiff3.cpp:277
+msgstr "A opção --auto é ignorada para a comparação de pastas."
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "A gravação falhou."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "O acesso a estes ficheiros falhou:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Erro de Acesso ao Ficheiro"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Abre os documentos para os comparar..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr "Grava o resultado da gravação. Todos os conflitos devem ficar resolvidos!"
-
-#: kdiff3.cpp:333
+msgstr ""
+"Grava o resultado da gravação. Todos os conflitos devem ficar resolvidos!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Grava o documento actual como..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Imprimir as diferenças"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Sai da aplicação"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Corta a secção seleccionada e coloca-a na área de transferência"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Copia a secção seleccionada para a área de transferência"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Cola o conteúdo da área de transferência na posição actual"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Selecciona tudo na janela actual"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Procura por um texto"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Procura de novo pelo texto"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Activa/desactiva a barra de ferramentas"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Activa/desactiva a barra de estado"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Configurar o KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Ir para o Delta Actual"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Ir para o Primeiro Delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Ir para o Último Delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Ignora as diferenças de espaço em branco quando \"Mostrar os Espaços em "
+"Branco\" está desactivado.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Não ignora as diferenças de espaço em branco mesmo quando \"Mostrar os Espaços "
+"em Branco\" está desactivado.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Ir para o Delta Anterior"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Ir para o Próximo Delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Ir para o Conflito Anterior"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Ir para o Próximo Conflito"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Ir para o Conflito por Resolver Anterior"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Ir para o Conflito por Resolver Seguinte"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Seleccionar as Linhas do A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Seleccionar as Linhas do B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Seleccionar as Linhas do C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Ir Automaticamente para o Próximo Conflito por Resolver Após a Selecção "
-"do Código"
-
-#: kdiff3.cpp:388
+"Ir Automaticamente para o Próximo Conflito por Resolver Após a Selecção do "
+"Código"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Mostrar as Diferenças de Espaços e Tabulações"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Mostrar os Espaços em Branco"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Mostrar os Números de Linha"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Escolher o A em Todo o Lado"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Escolher o B em Todo o Lado"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Escolher o C em Todo o Lado"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr "Escolher A nos Conflitos por Resolver"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr "Escolher B nos Conflitos por Resolver"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr "Escolher C nos Conflitos por Resolver"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr "Escolher A nos Conflitos de Espaço em Branco por Resolver"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr "Escolher B nos Conflitos de Espaço em Branco por Resolver"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr "Escolher C nos Conflitos de Espaço em Branco por Resolver"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Escolher A em Todos os Conflitos por Resolver"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Escolher B em Todos os Conflitos por Resolver"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Escolher C em Todos os Conflitos por Resolver"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Escolher A em Todos os Conflitos de Espaço em Branco por Resolver"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Escolher B em Todos os Conflitos de Espaço em Branco por Resolver"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Escolher C em Todos os Conflitos de Espaço em Branco por Resolver"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Resolver Automaticamente os Conflitos Simples"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Passar os Deltas para Conflitos"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Executar a Junção Automática de Expressões Regulares"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Resolver Automaticamente os Conflitos do Histórico"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Dividir a Diferença na Selecção"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Mostrar a Janela A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Mostrar a Janela B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Mostrar a Janela C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Foco na Próxima Janela"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Vista Normal"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "Vista A vs. B"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "Vista A vs. C"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "Vista B vs. C"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr "Quebrar Linha nas Janelas de Diferenças"
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Adicionar o Alinhamento Manual das Diferenças"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Limpar Todos os Alinhamentos de Diferenças Manuais"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Foco na Janela Anterior"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Comutar a Orientação da Repartição"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
-msgstr "Janela Repartida de Directorias e Texto"
-
-#: kdiff3.cpp:423
+msgstr "Janela Repartida de Pastas e Texto"
+
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
-msgstr "Mudar Entre a Janela de Directorias e de Texto"
-
-#: kdiff3.cpp:504 pdiff.cpp:1754
+msgstr "Mudar Entre a Janela de Pastas e de Texto"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "O resultado da junção não foi ainda gravado."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Gravar e Sair"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Sair sem Gravar"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "A gravação do resultado da junção falhou."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Você está a fazer uma junção de directorias de momento. Tem a certeza "
-"que quer interromper?"
-
-#: kdiff3.cpp:547
+"Você está a fazer uma junção de pastas de momento. Tem a certeza que quer "
+"interromper?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "A gravar o ficheiro..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "A gravar o ficheiro com um novo nome..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "A imprimir..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Impressão cancelada."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Selecção"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "A impressão terminou."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "A sair..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "A comutar a barra de ferramentas..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Comutar a barra de estado..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Texto da procura:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Distinguir capitalização"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Procurar A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Procurar B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Procurar C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Resultado da procura"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Procurar"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Não foi possível encontrar os ficheiros a comparar."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "Não foi possível obter a componente!\n"
-"Isto acontece normalmente devido a um problema de instalação. Leia por "
-"favor o ficheiro README no pacote de código para mais detalhes."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Ferramenta de Junção e Diferenças do Texto"
+"Isto acontece normalmente devido a um problema de instalação. Leia por favor o "
+"ficheiro README no pacote de código para mais detalhes."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Ferramenta para Comparação e Junção de Ficheiros e Pastas"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Juntar a entrada."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
-msgstr "Ficheiro de base explícito. Para a compatibilidade com certas ferramentas."
-
-#: main.cpp:39
+msgstr ""
+"Ficheiro de base explícito. Para a compatibilidade com certas ferramentas."
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Ficheiro de saída. Implica o -m. P.ex.: -o novoficheiro.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr "Ficheiro de saída, de novo. (para a compatibilidade com certas ferramentas)"
-
-#: main.cpp:41
+msgstr ""
+"Ficheiro de saída, de novo. (para a compatibilidade com certas ferramentas)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-"Sem interface se todos os conflitos são resolvidos automaticamente (precisa "
-"do -o ficheiro)"
-
-#: main.cpp:42
+"Sem interface se todos os conflitos são resolvidos automaticamente (precisa do "
+"-o ficheiro)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Não resolver os conflitos automaticamente. (Para compatibilidade...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Substituição do nome visível para o ficheiro de entrada 1 (base)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Substituição do nome visível para o ficheiro de entrada 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Substituição do nome visível para o ficheiro de entrada 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Substituição alternativa do nome visível. Indique isto para cada entrada."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Não tem qualquer efeito. Para a compatibilidade com certas ferramentas."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Para a compatibilidade com certas ferramentas."
-
-#: main.cpp:52
+msgstr ""
+"Substituição alternativa do nome visível. Indique isto para cada entrada."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Substitui uma opção de configuração. Use uma vez para todas as opções. P.ex.:  "
+"--cs \"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Mostra uma lista das opções de configuração e os valores actuais."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Usar um ficheiro de configuração diferente."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "o ficheiro 1 a abrir (base, se não for indicado através do --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "o ficheiro 2 a abrir"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "o ficheiro 3 a abrir"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Ignorado. (Definido pelo utilizador.)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
-msgstr "Muitos agradecimentos a todos os que comunicaram erros e contribuiram ideias!"
-
-#: mergeresultwindow.cpp:254
+msgstr ""
+"Muitos agradecimentos a todos os que comunicaram erros e contribuíram ideias!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Número de conflitos por resolver: %1 (dos quais %2 são espaço em branco)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1192,55 +1295,55 @@
 "O resultado foi modificado.\n"
 "Se você continuar as suas alterações serão perdidas."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Todos os ficheiros de entrada são iguais a nível binário."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Todos os ficheiros de entrada contêm o mesmo texto."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Os ficheiros A e B são iguais a nível binário.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Os ficheiros A e B têm texto igual.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Os ficheiros A e C são iguais a nível binário.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Os ficheiros A e C têm texto igual.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Os ficheiros B e C são iguais a nível binário.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Os ficheiros B e C têm texto igual.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Número total de conflitos: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1248,7 +1351,7 @@
 "\n"
 "Número total de conflitos resolvidos automaticamente: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1256,27 +1359,31 @@
 "\n"
 "Número de conflitos por resolver: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflitos"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Sem linha de origem>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Conflito na Junção (Apenas espaço em branco)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Conflito na Junção>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Resultado"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Modificado]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1284,41 +1391,54 @@
 "Nem todos os conflitos estão ainda resolvidos.\n"
 "O ficheiro não foi gravado.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Conflitos Restantes"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"O ficheiro não foi gravado."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"A criação de salvaguarda falhou. Ficheiro não gravado."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Erro na Gravação do Ficheiro"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Falta de memória ao preparar a gravação."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Erro ao gravar."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bit"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+"Altere isto se os caracteres não-ASCII não são mostrados correctamente."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Tipo de Letra do Resultado do Diff e do Editor"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Texto itálico para os deltas"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1326,63 +1446,98 @@
 "Seleccionar a versão itálica do texto para as diferenças.\n"
 "Se o tipo de letra não suportar caracteres itálicos, isto não fará nada."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Cor"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Cores no Resultado do Editor e Diferenças"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Configuração das Cores"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Ãreas do Editor e das Diferenças:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
-msgstr "Cor do texto:"
-
-#: optiondialog.cpp:373
+msgstr "Cor principal:"
+
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Cor de fundo:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Cor de fundo das diferenças:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Cor A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Cor B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Cor C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Cor do conflito:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Cor de fundo do intervalo actual:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Cor de fundo da diferença do intervalo actual:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "Cor dos intervalos de diferenças seleccionados manualmente:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Ãrea de Comparação das Pastas:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "Cor do ficheiro mais recente:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+"Se mudar esta cor, só fará efeito ao iniciar a próxima comparação de pastas."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "Cor do ficheiro mais antigo:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "Cor dos ficheiros intermédios:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "Cor dos ficheiros em falta:"
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Comportamento do Editor"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "O Tab insere espaços"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1390,66 +1545,57 @@
 "Ligado: se carregar no Tab gera o número apropriado de espaços.\n"
 "Desligado: será introduzido um carácter Tab."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tamanho das tabulações:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Indentação automática"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Ligado: A indentação da linha anterior é usada para uma nova linha.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Copiar automaticamente a selecção"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Ligado: Qualquer selecção é posta automaticamente na área de "
-"transferência.\n"
+"Ligado: Qualquer selecção é posta automaticamente na área de transferência.\n"
 "Desligado: Você tem de copiar explicitamente, p.ex., com o Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
-msgstr "Tipo de Fim de Linha:"
-
-#: optiondialog.cpp:482
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Estilo de fim de linha:"
+
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Escolhe os fins de linha para quando um ficheiro editado é gravado.\n"
-"DOS/Windows: CR+LF; Unix: LF; com CR=0D, LF=0A"
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Utilizar a codificação local"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Altere isto se os caracteres não-ASCII não são mostrados correctamente."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+"DOS/Windows: CR+LF; UNIX: LF; com CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
 msgstr "Diferença e Junção"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr "Configuração da Diferença e da Junção"
-
-#: optiondialog.cpp:510
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr "Configuração da Diferença e Junção"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Manter o 'carriage return'"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1457,53 +1603,53 @@
 "Mostrar os caracteres de 'carriage return' '\\r' se existirem.\n"
 "Ajuda a compara os ficheiros modificados em sistemas operativos diferentes."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorar os números"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Ignora os caracteres numéricos durante a fase de correspondência das "
-"linhas (Semelhante ao Ignorar os Espaços).\n"
+"Ignora os caracteres numéricos durante a fase de correspondência das linhas "
+"(Semelhante ao Ignorar os Espaços).\n"
 "Pode ajudar a comparar os ficheiros com dados numéricos."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
-msgstr "Ignorar Comentários de C/C++"
-
-#: optiondialog.cpp:528
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Ignorar comentários de C/C++"
+
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Tratar os comentários de C/C++ como espaço em branco."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignorar a capitalização"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
-"Tratar diferenças de capitalização como mudanças de espaço em branco. "
-"('a'<=>'A')"
-
-#: optiondialog.cpp:539
+"Tratar diferenças de capitalização como mudanças de espaço em branco. ('a'<=>"
+"'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Comando do pré-processador:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"Pré-processamento definido pelo utilizador. (Veja a documentação para "
-"mais detalhes)."
-
-#: optiondialog.cpp:546
+"Pré-processamento definido pelo utilizador. (Veja a documentação para mais "
+"detalhes)."
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Comando do pré-processador para a correspondência de linhas:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1511,11 +1657,11 @@
 "Este pré-processador só é usado na correspondência das linhas.\n"
 "(Veja a documentação para mais detalhes)."
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Tentar com persistência (lento)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1523,56 +1669,190 @@
 "Activa a opção --minimal do 'diff' externo.\n"
 "A análise dos ficheiros grandes será muito mais lenta."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Atraso no avanço automático (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"Quando estiver no modo de Avanço Automático, o resultado da selecção "
-"actual é mostrado durante o período indicado, antes de saltar para o "
-"próximo conflito. Intervalo: 0-2000 ms"
-
-#: optiondialog.cpp:571
+"Quando estiver no modo de Avanço Automático, o resultado da selecção actual é "
+"mostrado durante o período indicado, antes de saltar para o próximo conflito. "
+"Intervalo: 0-2000 ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Junção de espaço em branco com 2 ficheiros:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "Escolha manual"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Escolha Manual"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Permite ao algoritmo de junção escolher automaticamente o ficheiro a "
-"utilizar para as alterações de apenas espaço em branco."
-
-#: optiondialog.cpp:584
+"Permite ao algoritmo de junção escolher automaticamente o ficheiro a utilizar "
+"para as alterações de apenas espaço em branco."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Junção de espaço em branco com 3 ficheiros:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Expressão Regular de Junção Automática"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Expressão regular de junção automática:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"A expressão regular das linhas em que o KDiff3 deverá escolher automaticamente "
+"uma origem.\n"
+"Quando uma linha com um conflito corresponder à expressão regular então será - "
+"se disponível - o C, caso contrário será escolhido o B."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr "Executar a junção automática da expressão regular ao iniciar a junção"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Executa a junção para as expressões regulares de junção automática\n"
+"imediatamente após o início de uma junção.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Junção do Histórico do Controlo de Versões"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Expressão regular do início do histórico:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.4  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"A expressão regular para o início do item de histórico da junção.\n"
+"Normalmente, este valor contém a palavra-chave \"$Log$
+"Normalmente, este valor contém a palavra-chave \"Revision 1.4  2006/04/10 08:33:34  joachim99
+"Normalmente, este valor contém a palavra-chave \"KDiff3 0.9.89
+"Normalmente, este valor contém a palavra-chave \"\".\n"
+"Valor por omissão: \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Expressão regular do início do item de histórico:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"Um item de histórico da junção consiste em várias linhas.\n"
+"Indique a expressão regular usada para detectar a primeira linha (sem o "
+"comentário inicial).\n"
+"Use os parêntesis para agrupar as chaves que deseja usar na ordenação.\n"
+"Se for deixado em branco, o KDiff3 assume que as linhas em branco separar os "
+"itens de histórico.\n"
+"Veja a documentação para saber mais detalhes."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Ordenação da junção do histórico"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Ordenar o histórico do controlo de versões por uma chave."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "Ordem da chave de ordenação do início do item de histórico:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Cada um dos parêntesis usados na expressão regular no item inicial do "
+"histórico\n"
+"agrupa uma chave que poderá ser usada na ordenação.\n"
+"Indique a lista de chaves (que são numeradas por ordem de ocorrência,\n"
+"a começar no 1), usando o ',' como separador (p.ex., \"4,5,6,1,2,3,7\").\n"
+"Se for deixado em branco, não será feita nenhuma ordenação.\n"
+"Veja a documentação para saber mais detalhes."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr "Juntar o histórico do controlo de versões ao iniciar a junção"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+"Executar a junção automática do histórico do controlo de versões ao iniciar a "
+"junção."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Testar as suas expressões regulares"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Comando de junção irrelevante:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Se for indicado, este programa é executado após a junção automática,\n"
+"quando não forem detectadas mais alterações relevantes.\n"
+"É invocado com os parâmetros: ficheiro1 ficheiro2 ficheiro3"
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
-msgstr "Junção de Directorias"
-
-#: optiondialog.cpp:611
+msgstr "Junção de Pastas"
+
+#: optiondialog.cpp:951
 msgid "Recursive directories"
-msgstr "Directorias recursivas"
-
-#: optiondialog.cpp:613
+msgstr "Pastas recursivas"
+
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
-msgstr "Se se analisam as sub-directorias ou não."
-
-#: optiondialog.cpp:615
+msgstr "Se se analisam as sub-pastas ou não."
+
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Padrões de ficheiros:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1582,11 +1862,11 @@
 "Caracteres especiais: '*' e '?'\n"
 "Podem ser indicados vários padrões usando o separador: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Anti-padrões de ficheiros:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1596,50 +1876,50 @@
 "Caracteres especiais: '*' e '?'\n"
 "Podem ser indicados vários padrões usando o separador: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
-msgstr "Anti-padrões de directorias:"
-
-#: optiondialog.cpp:642
+msgstr "Anti-padrões de pastas:"
+
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Os padrões das directorias a excluir da análise.\n"
+"Os padrões das pastas a excluir da análise.\n"
 "Caracteres especiais: '*' e '?'\n"
 "Podem ser indicados vários padrões usando o separador: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Usar o .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
 "Extende o anti-padrão para tudo o que seria ignorado pelo CVS.\n"
-"Isto pode ser específico para cada directoria, através dos ficheiros "
-"'.cvsignore' locais."
-
-#: optiondialog.cpp:656
+"Isto pode ser específico para cada pasta, através dos ficheiros '.cvsignore' "
+"locais."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
-msgstr "Procurar os ficheiros e directorias escondidos"
-
-#: optiondialog.cpp:659
+msgstr "Procurar os ficheiros e pastas escondidos"
+
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
-msgstr "Procura os ficheiros e directorias com o atributo 'escondido'."
-
-#: optiondialog.cpp:661
+msgstr "Procura os ficheiros e pastas com o atributo 'escondido'."
+
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
-msgstr "Procura os ficheiros e directorias que comecem por '.'."
-
-#: optiondialog.cpp:665
+msgstr "Procura os ficheiros e pastas que comecem por '.'."
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Seguir as ligações de ficheiros"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1647,43 +1927,59 @@
 "Ligado: Compara o ficheiro para o qual a ligação aponta.\n"
 "Desligado: Compara as ligações."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
-msgstr "Seguir as ligações de directorias"
-
-#: optiondialog.cpp:676
+msgstr "Seguir as ligações de pastas"
+
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Ligado: Compara a directoria para o qual a ligação aponta.\n"
+"Ligado: Compara a pastas para a qual a ligação aponta.\n"
 "Desligado: Compara as ligações."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Listar apenas os deltas"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
-msgstr "Os ficheiros e directorias sem alterações não aparecerão na lista."
-
-#: optiondialog.cpp:687
+msgstr "Os ficheiros e pastas sem alterações não aparecerão na lista."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "Comparação de nomes de ficheiros com distinção de maiúsculas"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"A comparação de pastas irá comparar os ficheiros ou pastas quando os seus nomes "
+"corresponderem.\n"
+"Configure esta opção, no caso de os nomes terem mesmo de corresponder. (Por "
+"omissão, no Windows, está desligada; caso contrário, está ligada.)"
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Modo de Comparação de Ficheiros"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
-msgstr "Comparação Binária"
-
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Comparação binária"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Comparação binária de cada ficheiro. (Por omissão)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr "Análise Completa"
-
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Análise completa"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
@@ -1693,52 +1989,64 @@
 "(Mais lento que a comparação binária, muito mais lento para ficheiros "
 "binários.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Confiar na data de modificação (inseguro)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"Assumir que os ficheiros são iguais se a data de modificação e o tamanho "
-"do ficheiro são iguais.\n"
-"Útil para as directorias grandes ou para redes lentas."
-
-#: optiondialog.cpp:702
+"Assumir que os ficheiros são iguais se a data de modificação e o tamanho do "
+"ficheiro são iguais.\n"
+"Útil para as pastas grandes ou para redes lentas."
+
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Confiar no tamanho (inseguro)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Assumir que os ficheiros são iguais se o seu tamanho é igual.\n"
-"Útil para as directorias grandes ou para redes lentas."
-
-#: optiondialog.cpp:707
+"Útil para as pastas grandes ou para redes lentas."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
-msgstr "Sincronizar as directorias"
-
-#: optiondialog.cpp:710
+msgstr "Sincronizar as pastas"
+
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
-"Oferece-se para armazenar os ficheiros em ambas as directorias\n"
-"de modo a que ambas as directoria fiquem iguais no fim.\n"
-"Funciona apenas ao comparar duas directorias sem indicar um destino."
-
-#: optiondialog.cpp:715
+"Oferece-se para armazenar os ficheiros em ambas as pastas\n"
+"de modo a que ambas as pastas fiquem iguais no fim.\n"
+"Funciona apenas ao comparar duas pastas sem indicar um destino."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Diferenças de espaço em branco consideradas iguais"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Se os ficheiros apenas diferem em espaço em branco considerá-los iguais.\n"
+"Isto está activo apenas quando é escolhida a análise completa."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Copiar o mais recente em vez de juntar (inseguro)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1746,13 +2054,13 @@
 msgstr ""
 "Não analisa os ficheiros, selecciona apenas o ficheiro mais recente.\n"
 "(Use isto apenas se souber o que está a fazer!)\n"
-"Só faz efeito ao comparar duas directorias."
-
-#: optiondialog.cpp:723
+"Só faz efeito ao comparar duas pastas."
+
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Salvaguarda dos ficheiros (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1760,19 +2068,15 @@
 "Quando um ficheiro for gravado por cima de um anterior, então o ficheiro\n"
 "antigo será renomeado para uma extensão '.orig' em vez de ser removido."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Configuração Regional"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Língua (necessário reiniciar)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Auto"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1780,7 +2084,80 @@
 "Escolha a língua da interface gráfica ou \"Auto\".\n"
 "Para mudar de língua tem que reiniciar o KDiff3."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Utilizar a mesma codificação para tudo:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Active isto para permitir modificar todas as codificações alterando apenas a "
+"primeira.\n"
+"Torne inactivo se forem necessárias opções individuais."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Nota: A codificação local é"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Codificação do Ficheiro A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Codificação do Ficheiro B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Codificação do Ficheiro C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Codificação do Ficheiro para Junção de Resultado e Gravação:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Codificação do Ficheiro dos Ficheiros de Pré-processador:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Língua da Direita para a Esquerda"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Algumas línguas são lidas da direita para esquerda.\n"
+"Esta opção muda o visualizador e editor de acordo com elas."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Integração"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Configuração da Integração"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Opções da linha de comandos a ignorar:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Uma lista das opções da linha de comandos que deverão ser ignoradas, quando o "
+"KDiff3 for usado por outras ferramentas.\n"
+"Se desejar indicar vários valores, separe-os por ';'\n"
+"Isto irá eliminar o erro de \"Opção desconhecida\"."
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1796,33 +2173,33 @@
 "\n"
 "Deseja continuar ou prefere seleccionar outro tipo de letra."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Tipo de Letra Incompatível"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Continuar à Mesma"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Seleccionar Outro Tipo de Letra"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Isto repõe todas as opções, não só as do tópico actual."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Comando do pré-processador: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "As seguintes opções que seleccionou podem alterar os dados:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1833,199 +2210,305 @@
 "Muito provavelmente isto não é desejável durante uma junção.\n"
 "Quer desactivar estas configurações ou continuar com elas activas?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr "Opção insegura para junção"
-
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr "Utilizar estas opções durante a junção"
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr "Desactivar opções inseguras"
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Opção Insegura para Junção"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Usar Estas Opções Durante a Junção"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Desactivar Opções Inseguras"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "A Carregar o A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "A Carregar o B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Diferenças: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Dif. Linhas: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "A Carregar o C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Diferenças: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Diferenças: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Dif. Linhas: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Dif. Linhas: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
 "Alguns dos ficheiros de entrada não parecem ser ficheiros de texto puros.\n"
-"Lembre-se que a junção do KDiff3 não foi pensada para os dados "
-"binários.\n"
+"Lembre-se que a junção do KDiff3 não foi pensada para os dados binários.\n"
 "Continue por sua conta e risco."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Interromper"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "A aceder aos ficheiros..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Erro ao abrir o ficheiro"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "A cortar a selecção..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "A copiar a selecção para a área de transferência..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "A inserir o conteúdo da área de transferência..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Gravar e Continuar"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continuar sem Gravar"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Procura terminada."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Procura Terminada"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+"Por favor carregue nas linhas que deverão corresponder em todas as janelas."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+"Não está nada seleccionado em nenhuma janela de entrada das diferenças."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Erro ao adicionar o intervalo manual de diferenças"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configurar o KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Pasta"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Operação de Junção do Item Actual"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Operação de Sincronização do Item Actual"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Movimento"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iferenças"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Reu&nir"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Janela"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Base):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Ficheiro..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
-msgstr "Directoria..."
-
-#: pdiff.cpp:962
+msgstr "Pasta..."
+
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (Opcional):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Trocar/Copiar os Nomes ..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Memória Virtual"
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Resultado (opcional):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Configurar..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Cancelar"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "A aceder aos ficheiros..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Erro ao abrir ficheiro"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "A cortar a selecção..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "A copiar a selecção para a área de transferência..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "A inserir o conteúdo da área de transferência..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Gravar e Continuar"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Continuar sem Gravar"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Procura terminada."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Procura Terminada"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Configurar o KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Directoria"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Operação de Junção do Item Actual"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Operação de Sincronização do Item Actual"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Movimento"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "D&iferenças"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Juntar"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Janela"
-
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Erro ao escrever o ficheiro temporário: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Converter para maiúsculas"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Passa todos os caracteres minúsculos para maiúsculos na leitura. (p.ex.: "
-#~ "'a'->'A')"
-
-#~ msgid "Codec for file contents"
-#~ msgstr "Codificação do conteúdo dos ficheiros"
-
-#~ msgid ""
-#~ "Choose the codec that should be used for your input files\n"
-#~ "or \"Auto\" if unsure."
-#~ msgstr ""
-#~ "Escolha a codificação a utilizar nos ficheiros\n"
-#~ "ou \"Auto\" se não estiver certo."
-
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Converter para maiúsculas\n"
-
-#~ msgid ""
-#~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
-#~ msgstr ""
-#~ "A execução do 'diff' externo falhou.\n"
-#~ "Verifique se o 'diff' funciona, se o programa consegue gravar na pasta "
-#~ "temporária ou se o disco está cheio.\n"
-#~ "A opção do 'diff' externo será agora desactivada e será usado o 'diff' "
-#~ "interno."
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Texto da procura:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Distinguir capitalização"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Procurar A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Procurar B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Procurar C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Resultado da procura"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Procurar"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "sem selecção"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Corresponder manualmente as linhas"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Teste de Expressões Regulares"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Linha inicial da junção automática do exemplo:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+"Para um teste da junção automática, copie uma linha usada nos seus ficheiros."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Resultado correspondente:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "Linha inicial do histórico do exemplo (com o comentário inicial):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Copie uma linha inicial do histórico, como a usada nos seus ficheiros,\n"
+"mas omita o comentário inicial."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "Ordem da chave do histórico:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+"Linha inicial do item do histórico do exemplo (sem o comentário inicial):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Copie uma linha inicial do item de histórico, como a usada nos seus ficheiros,\n"
+"mas omita o comentário inicial."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Resultado da chave de ordenação:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "OK"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Sucesso da correspondência."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "A correspondência falhou."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+"Os parêntesis de abertura e fecho não correspondem na expressão regular."
--- a/kdiff3/po/pt_BR.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/pt_BR.po	Mon Apr 10 08:40:51 2006 +0000
@@ -16,8 +16,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-05-17 17:35-0300\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-06-29 13:57-0300\n"
 "Last-Translator: Lisiane Sztoltz Teixeira <lisiane@conectiva.com.br>\n"
 "Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@mail.kde.org>\n"
 "MIME-Version: 1.0\n"
@@ -37,17 +37,16 @@
 "Your emails"
 msgstr "phalkmin@yahoo.com.br"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr ""
-"A gravação de dados da área de transferência para o arquivo temporário "
-"falhou."
-
-#: diff.cpp:245
+"A gravação de dados da área de transferência para o arquivo temporário falhou."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Da Ãrea de Transferência"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -61,7 +60,7 @@
 "\n"
 "O comando de pré-processamento será desabilitado agora."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -69,14 +68,14 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"O pré-processamento de coincidência de linha possivelmente falhou. "
-"Verifique este comando:\n"
+"O pré-processamento de coincidência de linha possivelmente falhou. Verifique "
+"este comando:\n"
 "\n"
 "  %1\n"
 "\n"
 "O pré-processamento de coincidência de linha será desabilitado agora."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -84,270 +83,272 @@
 "Erro de perda de dados:\n"
 " Se o erro puder ser reproduzido, contate o autor.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Erro Interno Severo"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Linha %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Final"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Mistura de links e arquivos normais."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Link:"
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Tamanho"
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Data & Tamanho"
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Criação da cópia temporário de %1 falhou."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Abertura %1 falhou."
 
-#: directorymergewindow.cpp:180
+#: directorymergewindow.cpp:208
 #, fuzzy
-msgid "Comparing file ..."
-msgstr "Salvando arquivo...."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+msgid "Comparing file..."
+msgstr "Comparando arquivo...."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Erro de leitura de %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Nomelinks"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Operação"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Estado"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
-msgstr ""
-
-#: directorymergewindow.cpp:259
+msgstr "Sem solução"
+
+#: directorymergewindow.cpp:289
 msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
+msgstr "Resolvido"
+
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
+msgstr "Diferente de branco"
+
+#: directorymergewindow.cpp:291
 msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
+msgstr "Branco"
+
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
 "Você está tentando fazer uma mesclagem de pastas. Você tem certeza de que "
 "deseja mesclar e rescanear a pasta?"
 
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Rescanear"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Continuar Mesclando"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Abertura de pastas falhou:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "A \"%1\" não existe ou não é uma pasta.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "B \"%1\"não existe ou não é uma pasta.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "C \"%1\"não existe ou não é um pasta.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Erro na abertura da pasta"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"A pasta de destino não pode ser a mesma que A ou B quando três pastas "
-"estão sendo mescladas.\n"
+"A pasta de destino não pode ser a mesma que A ou B quando três pastas estão "
+"sendo mescladas.\n"
 " Cheque novamente antes de continuar"
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Aviso de Parâmetro"
 
-#: directorymergewindow.cpp:447
+#: directorymergewindow.cpp:488
 #, fuzzy
-msgid "Scanning directories ..."
-msgstr "Sincronizar pastas"
-
-#: directorymergewindow.cpp:496
+msgid "Scanning directories..."
+msgstr "Varrendo pastas..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Lendo Pasta A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Lendo Pasta B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Lendo Pasta C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Alguns sub-pastas não são legíveis em "
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Cheque as permissões dos sub-pastas."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Pronto"
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Estado da Comparação de Pastas"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "-Número de sub-pastas:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Número de arquivos iguais: "
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Número de arquivos diferentes:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Número de mesclagens manuais:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Isso afetará todas as operações de mesclagem."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Mudando todas operações de Mesclagem"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "C&ontinuar"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Processando"
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Para Fazer"
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Copiar A para B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Copiar B para A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Apagar A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Apagar B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Apagar A & B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Mesclar para A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Mesclar para B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Mesclar para A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Apagar (se existir)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Mesclar"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Mesclar (manual)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Erro: Tipos de Arquivos Conflitantes"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Erro: Datas são iguais, mas os arquivos diferem."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Essa operação não é possível no momento."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "A Operação Não É Possível"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -361,42 +362,42 @@
 "\n"
 "Se você souber como reproduzir isso, contacte o autor."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Erro do Programa"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Ocorreu um erro ao copiar.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Erro de Mesclagem"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Erro."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Concluído."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Não salvo."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Operação de Mesclagem desconhecida. (Isso nunca deve acontecer!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Operação de Mesclagem desconhecida."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -412,297 +413,354 @@
 "Escolha \"Faça\" se você leu as instruções e sabe o que está fazendo.\n"
 "Escolhendo \"Simular\" você verá o que irá acontecer.\n"
 "\n"
-" Saiba que esse programa ainda está em fase beta, e não Hà GARANTIA "
-"alguma! Faça backups dos seus dados!"
-
-#: directorymergewindow.cpp:1686
+" Saiba que esse programa ainda está em fase beta, e não Hà GARANTIA alguma! "
+"Faça backups dos seus dados!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Iniciando mesclagem"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Faça"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simular"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
-"O item selecionado tem um tipo diferente em diferentes pastas. Selecione o "
-"que fazer."
-
-#: directorymergewindow.cpp:1721
+"O item selecionado tem um tipo diferente em diferentes pastas. Selecione o que "
+"fazer."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
 "As datas de modificação do arquivo são iguais mas os arquivos não são. "
 "Selecione o que fazer."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr ""
-"Essa operação não é possível porque a mesclagem de pastas atualmente "
-"está sendo executada."
-
-#: directorymergewindow.cpp:1838
+"Essa operação não é possível porque a mesclagem de pastas atualmente está sendo "
+"executada."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Houve um erro no último passo.\n"
 "Você quer continuar com o item que causou o erro ou prefere pular esse item?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Continuar mesclagem após um erro"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Continuar com último item"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Ignorar Item"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Ignorado."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Em progresso..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Operação de mesclagem completa."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Mesclagem completa."
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Simulação da Mesclagem completa: Verifique se você concorda com as "
-"operações propostas"
-
-#: directorymergewindow.cpp:1977
+"Simulação da Mesclagem completa: Verifique se você concorda com as operações "
+"propostas"
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Ocorreu um erro. Pressione OK para visualizar mais informações.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Erro: Ao apagar %1: Criação do backup falhou."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "apagar pasta recursivamente( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "apagar( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "Erro: operação de exclusão falhou ao tentar ler a pasta."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Erro: rmdir( %1 ) falhou."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Erro: Operação de exclusão falhou."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "mesclagem manual( %1, %2,%3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr "      Nota: Após uma mesclagem manual o usuário deverá continuar via F7."
-
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"      Nota: Após uma mesclagem manual o usuário deverá continuar via F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr "Erro: cópia( %1 -> %2 ) falhou. Remoção do destino falhou."
 
-#: directorymergewindow.cpp:2135
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "copyLink( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Erro: copyLink falhou: Ligações remotas não são suportadas."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Erro: copyLink falhou"
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "cópia( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Erro durante renomear( %1 -> %2): Não foi possível apagar destino "
-"existente."
-
-#: directorymergewindow.cpp:2204
+"Erro durante renomear( %1 -> %2): Não foi possível apagar destino existente."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "renomear( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Erro: renomear falhou."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr "Erro durante makeDir of %1. Não foi possível apagar o arquivo existente."
-
-#: directorymergewindow.cpp:2247
+msgstr ""
+"Erro durante makeDir of %1. Não foi possível apagar o arquivo existente."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "makeDir( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Erro ao criar a pasta."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Destino"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dir"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Tipo"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Tamanho"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Atributos"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Última modificação"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Ligação-Destino"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "Não disponível"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Destino):"
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (Base): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (Destino): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (Dest): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Destino: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Mesclagem de Pastas"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Inicia/Continua Mesclagem de Pastas"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Executar operação para o Item Atual"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Comparar Arquivo Selecionado"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Mesclar arquivo atual"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Agrupar todas as Sub-pastas"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Desagrupar todos as Sub-pastas"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Mesclagem de Pastas"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Mesclagem de Pastas"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Escolha A para Todos os Itens"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Escolha B para todos os Itens"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Escolha C para todos os Itens"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Auto-Escolhes Operação para todos os Itens"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Nenhuma operação para Todos os Itens"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Sincronizar pastas"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Copiar mais novo ao invés de mesclar (inseguro)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Número de arquivos diferentes:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Comparar Arquivo Selecionado"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Comparar Arquivo Selecionado"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Não faça nada"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Remover (se existir)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "Remover A e B"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Mesclar para A e B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
+msgstr "Apagar A & B"
+
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
+msgstr "Mesclar para A & B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -710,7 +768,7 @@
 "Ao tentar fazer um backup, remoção de um backup antigo falhou. \n"
 " Nome do Arquivo: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -718,491 +776,549 @@
 "Ao tentar fazer backup, renomeação falhou. \n"
 " Nomes de Arquivos: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Obter status do arquivo: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Lendo arquivo:%1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Gravando arquivo: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Memória insuficiente"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Criando pasta: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Removendo pasta: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Removendo arquivo: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Criando link simbólico: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Renomeando arquivo: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Copiando arquivo:  %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Erro durante a operação de cópia de arquivos: Abertura de arquivos para "
-"leitura falhou. Nome do Arquivos: %1"
-
-#: fileaccess.cpp:844
+"Erro durante a operação de cópia de arquivos: Abertura de arquivos para leitura "
+"falhou. Nome do Arquivos: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Erro durante operação de cópia de arquivo: Abertura do arquivo para "
-"escrita falhou. Nome do Arquivo: %1"
-
-#: fileaccess.cpp:859
+"Erro durante operação de cópia de arquivo: Abertura do arquivo para escrita "
+"falhou. Nome do Arquivo: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"Erro durante operação de cópia de arquivo: Leitura falhou. Nome do "
-"Arquivo: %1"
-
-#: fileaccess.cpp:868
+"Erro durante operação de cópia de arquivo: Leitura falhou. Nome do Arquivo: %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Erro durante operação de cópia de arquivo: Escrita falhou. Nome do "
-"Arquivo: %1"
-
-#: fileaccess.cpp:1171
+"Erro durante operação de cópia de arquivo: Escrita falhou. Nome do Arquivo: %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Lendo pasta: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listando pasta: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Operação de Sincronismo no item atual"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Erro na abertura do arquivo"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Opção --auto usada, mas nenhum arquivo de saída especificado."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Opção --auto ignorada para comparação de pastas."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Falha ao salvar."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Abertura desses arquivos falhou: "
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Erro na abertura do arquivo"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Abre documentos para comparação..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr "Salva o resultado da mesclagem. Todos os conflitos precisam ser resolvidos!"
-
-#: kdiff3.cpp:333
+msgstr ""
+"Salva o resultado da mesclagem. Todos os conflitos precisam ser resolvidos!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Salva o documento atual como..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Fecha a aplicação"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Recorta a seção selecionada e insera na Ãrea de Transferência"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Copia a seção selecionada para a área de transferência"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Cola o conteúdo da Ãrea de Transferência para a posição atual"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Pesquisar por uma string"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Pesquisar novamente pela string"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Habilita / Desabilita a barra de ferramentas"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Habilita / Desabilita a barra de status"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Configurar KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Vá para o Delta atual"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Vá para o primeiro Delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Vá para o Último Delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Vá para o Delta Anterior"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Vá para o próximo Delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Vá para o conflito anterior"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Vá para o próximo conflito"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Vá para o Conflito Não-Resolvido Anterior."
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Vá para o Próximo Conflito Não-Resolvido"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Seleciona Linha(s) De A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Seleciona Linha(s) De B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Selecione Linha(s) De C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Automaticamente Vá para o Próximo Conflito Não-Resolvido Após a "
-"seleção da fonte."
-
-#: kdiff3.cpp:388
+"Automaticamente Vá para o Próximo Conflito Não-Resolvido Após a seleção da "
+"fonte."
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Mostrar caracteres de Espaço && Tabuladores para diferenças."
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Mostrar espaços em branco"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Mostrar Números das linhas"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Escolher A em qualquer lugar"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Escolher B em qualquer lugar"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Escolher C em qualquer lugar"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Escolha A para conflitos não-resolvidos"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Escolha B para conflitos não-resolvidos"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Escolha C para conflitos não-resolvidos"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Escolha A para todos os conflitos de espaço em branco não-resolvidos"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Escolha B para todos os conflitos de espaço em branco não-resolvidos"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Escolha C para todos os conflitos de espaço em branco não-resolvidos"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Automaticamente resolva conflitos simples"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Defina Delta para Conflitos"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Automaticamente resolva conflitos simples"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Exibir Janela A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Exibir Janela B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Exibir Janela C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Foco na Próxima Janela"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
+msgstr "Revisão Normal"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Revisão A vs. B"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Revisão A vs. C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Revisão B vs. C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Janelas de Diferença de Quebra de Linha"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
 msgstr ""
 
-#: kdiff3.cpp:410
-msgid "A vs. B Overview"
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
 msgstr ""
 
-#: kdiff3.cpp:411
-msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
-msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
-msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Foco na Janela Anterior"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Alterar Orientação da Divisão"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Tela de Visualização de Pasta && Texto"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Alterar entre visualização de Pasta e Texto"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "O resultado da Mesclagem não foi salvo."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Salvar && Encerrar"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Encerrar sem Salvar"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Falha ao salvar o resultado da mesclagem"
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Você está fazendo uma mesclagem de pastas. Tem certeza de que deseja "
-"cancelar?"
-
-#: kdiff3.cpp:547
+"Você está fazendo uma mesclagem de pastas. Tem certeza de que deseja cancelar?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Salvando arquivo...."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Salvando arquivo com um novo nome..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Saindo..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Operação de mesclagem completa."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Saindo..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Mudando Barra de Ferramentas..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Mudar a Barra de Status..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Texto de Busca:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Caso sensitivo"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Pesquisa A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Pesquisa B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Pesquisa C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Pesquisa saída"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Pesquisa"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Não encontrou arquivos para comparação."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
-"Não foi possível encontrar nossa parte! Isso normalmente acontece por "
-"problemas na instalação. Leia nosso arquivo de LEIAME no pacote de fontes "
-"para detalhes."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Ferramenta de diferença de Texto e Mesclagem"
+"Não foi possível encontrar nossa parte! Isso normalmente acontece por problemas "
+"na instalação. Leia nosso arquivo de LEIAME no pacote de fontes para detalhes."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Mesclar a Entrada."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Arquivo Base Explicito. Para compatibilidade com certas ferramentas."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Arquivo de Saída. Implica -m. Ex.: -o novoarquivo.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr "Arquivo de saída, novamente (Para compatibilidade com certas ferramentas.)"
-
-#: main.cpp:41
+msgstr ""
+"Arquivo de saída, novamente (Para compatibilidade com certas ferramentas.)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-"Sem GUI se todos os conflitos forem auto-solucionáveis. (Necessita -o "
-"arquivo)"
-
-#: main.cpp:42
+"Sem GUI se todos os conflitos forem auto-solucionáveis. (Necessita -o arquivo)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Não resolver conflitos automaticamente. (Para compatibilidade...)"
 
-#: main.cpp:43
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "Recolocação do nome vísivel para o arquivo de entrada (base)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "Recolocação do nome vísivel para o arquivo de entrada 2."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "Recolocação do nome vísivel para o arquivo de entrada 3."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+"Recolocação do nome vísivel alternativo. Coloque apenas um para cada entrada."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
 #, fuzzy
-msgid "Visible name replacement for input file 1 (base)."
-msgstr "Recolocação do nome vísivel. Coloque apenas um para cada entrada."
-
-#: main.cpp:44
-#, fuzzy
-msgid "Visible name replacement for input file 2."
-msgstr "Recolocação do nome vísivel. Coloque apenas um para cada entrada."
-
-#: main.cpp:45
-#, fuzzy
-msgid "Visible name replacement for input file 3."
-msgstr "Recolocação do nome vísivel. Coloque apenas um para cada entrada."
-
-#: main.cpp:47
-#, fuzzy
-msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Recolocação do nome vísivel. Coloque apenas um para cada entrada."
-
-#: main.cpp:48
-#, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Para compatibilidade com certas ferramentas."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Para compatibilidade com certas ferramentas."
-
-#: main.cpp:52
+msgid "Use a different config file."
+msgstr "Número de arquivos diferentes:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "file1 abrindo (base, se não especificado via --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "file2 abrindo"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "file3 abrindo"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-
-#: mergeresultwindow.cpp:254
+"Muito obrigada para aqueles que relataram bugs e contribuíram com idéias!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Número de conflitos não resolvidos restantes: %1"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1210,55 +1326,55 @@
 "A saída foi modificada.\n"
 " Se você continuar suas mudanças serão perdidas."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Todos os arquivos de entrada são binariamente iguais."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Todos os arquivos de entrada contém o mesmo texto."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Arquivos A e B são binariamente iguais.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Arquivos A e B possuem texto igual. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Arquivos A e C são binariamente iguais. \n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Arquivos A e C possuem textos semelhantes. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Arquivos B e C são binariamente iguais. \n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Arquivos B e C possuem textos semelhantes. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Número total de conflitos:"
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1266,7 +1382,7 @@
 "\n"
 " Nr. de conflitos resolvidos automaticamente: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1274,27 +1390,32 @@
 "\n"
 " Nr. de conflitos não resolvidos: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Conflitos"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Sem linha src>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Conflito de Mesclagem>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Conflito de Mesclagem>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Saída"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Modificado]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1302,41 +1423,51 @@
 "Nem todos os conflitos foram resolvidos.\n"
 "Arquivo não foi salvo.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Conflitos Deixados"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-"\n"
-"\n"
-" Arquivo não foi salvo."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Erro ao salvar arquivo"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Memória insuficiente ao preparar para salvar."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Erro ao escrever."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+"Mude isto se caracteres diferentes de ASCII não forem exibidos corretamente."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Fonte de Saída do Editor & Diff "
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Fonte em Itálico para deltas"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1344,63 +1475,100 @@
 "Seleciona a versão em itálico da fonte para diferenças.\n"
 "Se a fonte não suportar caracteres em itálico, ele não fará nada."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Cor"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Cores na saída do Editor & Diferenciador"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Configurações Regionais"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Cor de Primeiro Plano"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Cor do plano de fundo"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Cor do plano de fundo do Diferenciador:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Cor A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Cor B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Cor C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Cor de Conflitos:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Cor do plano de fundo da seleção atual:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Cor do plano de fundo da seleção atual do Diferenciador:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Estado da Comparação de Pastas"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
 msgstr "Comportamento do Editor"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tab insere espaços"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1408,66 +1576,61 @@
 "Ligado: Ao pressionar Tab um número apropriado de espaços é gerado.\n"
 " Desligado: Um caracter de Tab será inserido."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tamanho da tabulação:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Auto identação"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "Ligado: A identação da linha anterior é usada para uma nova linha. \n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Auto copiar seleção"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Ligado: Qualquer seleção é imediatamente enviada para a Ãrea de "
-"Transferência.\n"
+"Ligado: Qualquer seleção é imediatamente enviada para a Ãrea de Transferência.\n"
 "Desligado: Você deve explicitamente copiar, por exemplo, via Ctrl+C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+#, fuzzy
+msgid "Line end style:"
 msgstr "Estilo de fim de linha:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
+#, fuzzy
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Configura os finais de linha para quando um arquivo editado for salvo.\n"
 "DOS/Windows: CR+LF; Unix: LF; com CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Usar codificação local"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Mude isto se caracteres diferentes de ASCII não forem exibidos corretamente."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Diff & Mesclagem"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Configurações de Diff & Mesclagem"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Preservar retorno de carro."
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1476,52 +1639,51 @@
 "Ajuda a comparar arquivos que foram modificados em diferentes sistemas "
 "operacionais."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorar Números"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Ignonar caracteres numéricos durante fase de combinação de linhas. "
-"(Similar a Ignorar espaços em branco.)\n"
+"Ignonar caracteres numéricos durante fase de combinação de linhas. (Similar a "
+"Ignorar espaços em branco.)\n"
 "Pode ajudar a comparar arquivos com dados numéricos."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
 msgstr "Ignorar Comentários de C/C++"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Trata comentários C/C++ como espaços em branco."
 
-#: optiondialog.cpp:532
-#, fuzzy
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "Ignorar Números"
-
-#: optiondialog.cpp:535
+msgstr "Ignorar caixa"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr ""
-
-#: optiondialog.cpp:539
+msgstr "Tratar casos diferentes como mudanças de espaços em branco ('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Comando do Preprocessador:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"Pré-processamento definido pelo usuário. (Veja os documentos para "
-"detalhes.)"
-
-#: optiondialog.cpp:546
+"Pré-processamento definido pelo usuário. (Veja os documentos para detalhes.)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Comando do Preprocessador compatível com linha:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1529,11 +1691,11 @@
 "Esse pré-processador é usado somente durante combinação de linhas.\n"
 " (Veja os documentos para detalhes.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Tentar duramente (lento)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1541,11 +1703,11 @@
 "Habilita a opção --minimal para o diff externo.\n"
 " A análise dos arquivos grandes será muito mais lenta."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Atraso do auto avanço (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
@@ -1554,43 +1716,147 @@
 " pelo tempo especificado, antes de pular para o próximo conflito. Alcance: "
 "0-2000 ms"
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Mesclagem padrão de 2 arquivos com espaços em branco:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
 msgstr "Escolha manual"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Permite que o algoritmo de mesclagem selecione automaticamente uma entrada "
-"para mudanças somente em espaços em branco."
-
-#: optiondialog.cpp:584
+"Permite que o algoritmo de mesclagem selecione automaticamente uma entrada para "
+"mudanças somente em espaços em branco."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Mesclagem padrão de 3 arquivos com espaços em branco:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Mesclagem de Pastas"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Pastas Recursivas"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Decide analisar sub-pastas ou não."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Padrão(ões) de Arquivo(s):"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1600,11 +1866,11 @@
 "Curingas: '*' e '?'\n"
 "Vários padrões podem ser especificados usando o separador: ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Arquivo anti-padrão(ões):"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1614,11 +1880,11 @@
 "Curingas: '*' e '?'\n"
 "Vários padrões podem ser especificados usando o separador: ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Dir-anti-padrão(ões):"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1628,11 +1894,11 @@
 "Curingas: '*' e '?'\n"
 "Vários padrões podem ser especificados usando o separador: ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Usar .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1640,23 +1906,23 @@
 "Extende o antipadrão para qualquer coisa que possa ser ignorada pelo CVS.\n"
 "A partir de \".cvsignore\"-arquivos isso pode ser especifico das pastas."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Encontrar arquivos e pastas invisíveis"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Encontra arquivos e pastas com o atributo invisível."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Encontrar arquivos e pastas começando com '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Seguir as ligações de arquivos"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1664,11 +1930,11 @@
 "Ligado: Compara o arquivo para onde a ligação aponta.\n"
 "Desligado: Compara as ligações."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Seguir ligações de pastas"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1676,42 +1942,58 @@
 "Ligado: Compara a pasta para onde a ligação aponta.\n"
 "Desligado: Compara as ligações."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Listar somente deltas"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Arquivos e pastas sem mudanças não irão aparecer na lista."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
+msgstr "Modo de Comparação de Arquivo"
+
+#: optiondialog.cpp:1043
 #, fuzzy
-msgid "Binary Comparison"
-msgstr "Estado da Comparação de Pastas"
-
-#: optiondialog.cpp:692
+msgid "Binary comparison"
+msgstr "Comparação de Binário"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Comparação de binário de cada arquivo (padrão)."
+
+#: optiondialog.cpp:1046
+#, fuzzy
+msgid "Full analysis"
+msgstr "Análise Completa"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
+"Faz uma análise completa e mostra informações de estatística em colunas "
+"extras.\n"
+"(mais lento que a comparação binária, e bem mais lento para arquivos binários)."
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Confia na data de modificação (inseguro)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1721,25 +2003,25 @@
 "iguais.\n"
 "Útil para pastas grandes ou redes lentas."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Confiar no tamanho (inseguro)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Assume que arquivos são iguais se seus comprimentos forem iguais\n"
-"Útil para pastas grandes ou redes lentas, quando a data for modificada "
-"durante o download."
-
-#: optiondialog.cpp:707
+"Útil para pastas grandes ou redes lentas, quando a data for modificada durante "
+"o download."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Sincronizar pastas"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1749,11 +2031,22 @@
 "ambas as pastas serão iguais depois.\n"
 "Funciona apenas quando compara duas pastas sem especificar um destino."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "Mesclagem padrão de 3 arquivos com espaços em branco:"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Copiar mais novo ao invés de mesclar (inseguro)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1763,11 +2056,11 @@
 "(Use somente se você sabe o que está fazendo!)\n"
 "Só é efetivo quando comparando duas pastas."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Faça backup dos arquivos (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1775,19 +2068,15 @@
 "Quando um arquivo for salvo sovre um arquivo antigo, o arquivo antigo\n"
 "será renomeado com uma extensão '.orig' ao invés de ser deletado."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Configurações Regionais"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Idioma (é necessário reiniciar)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Automático"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
@@ -1795,7 +2084,74 @@
 "Escolha o idioma das strings da interface ou escolha \"Automático\".\n"
 "Para que a mudança tenha efeito, saia do KDiff3 e inicie-o novamente."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "Usar codificação local"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operação"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Configurações Regionais"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1811,34 +2167,33 @@
 "\n"
 "Você deseja continuar ou selecionar um nova fonte."
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Fonte Incompatível"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Continue ao seu próprio risco"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Selecionar outra fonte"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Reinicia todas as opções. Não somente as desse tópico."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Comando de Pré-processamento:"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-"A(s) seguinte(s) opção(ões) que você selecionou devem modificar os "
-"dados:\n"
-
-#: pdiff.cpp:263
+"A(s) seguinte(s) opção(ões) que você selecionou devem modificar os dados:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1848,55 +2203,58 @@
 "Muito provavelmente não é desejado durante um merge.\n"
 "Deseja desabilitar estas configurações, ou continuar com elas?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+#, fuzzy
+msgid "Option Unsafe for Merging"
 msgstr "Opções inseguras para a mesclagem (merge)"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+#, fuzzy
+msgid "Use These Options During Merge"
 msgstr "Usar estas opções durante a mesclagem"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+#, fuzzy
+msgid "Disable Unsafe Options"
 msgstr "Desabilitar as opções inseguras"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Carregando A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Carregando B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Diff: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Linediff: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Carregando C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Diff: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Diff: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Linediff: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Linediff: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1906,128 +2264,276 @@
 "Perceba que a mesclagem do KDiff3 não foi feito para arquivos binários.\n"
 "Continue por conta e risco."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Interromper"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Abrindo arquivos..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Erro na abertura de Arquivos"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Recortando seleção..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Copiando seleção para a área de trabalho..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Inserindo conteúdo da Ãrea de Transferência..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Salvar && Continuar"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Continuar sem Salvar"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Pesquisa concluída"
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Pesquisa Concluída"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Erro ao criar a pasta."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Configurar KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Pasta"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Operação de Mesclagem (merge) no item atual"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Operação de Sincronismo no item atual"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Movimento"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "Visão das &Diferenças"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Mesclar"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Janela"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (Base):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Arquivo..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Dir..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C(Opcional):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Saída (opcional):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Configurar...."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Interromper"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Abrindo arquivos..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Erro na abertura de Arquivos"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Recortando seleção..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Copiando seleção para a área de trabalho..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Inserindo conteúdo da Ãrea de Transferência..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Salvar && Continuar"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Continuar sem Salvar"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Pesquisa concluída"
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Pesquisa Concluída"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Configurar KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Pasta"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Operação de Mesclagem (merge) no item atual"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Operação de Sincronismo no item atual"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Movimento"
-
-#: rc.cpp:9
+#: smalldialogs.cpp:332
 #, fuzzy
-msgid "D&iffview"
-msgstr "KDiff3"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Mesclar"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Janela"
-
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Erro ao gravar arquivo temporário: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Converter para maiúsculas"
+msgid "Search text:"
+msgstr "Texto de Busca:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Caso sensitivo"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Pesquisa A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Pesquisa B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Pesquisa C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Pesquisa saída"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Pesquisa"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Auto copiar seleção"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Escolha manual"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Falha ao salvar."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Sem efeito, para compatibilidade com certas ferramentas."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Para compatibilidade com certas ferramentas."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Cores na saída do Editor & Diferenciador"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "Ferramenta de diferença de Texto e Mesclagem"
 
 #~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
 #~ msgstr ""
-#~ "Altera todos os caracteres em minúscula para maiúscula ao ler. (ex: 'a'-"
-#~ ">'A')"
-
-#~ msgid "Codec for file contents"
-#~ msgstr "Codec para conteúdos de arquivo"
-
-#~ msgid ""
-#~ "Choose the codec that should be used for your input files\n"
-#~ "or \"Auto\" if unsure."
-#~ msgstr ""
-#~ "Escolha o codec que deve ser usado para os arquivos de entrada,\n"
-#~ " ou \"Automático\" se não tiver certeza."
-
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Converter para maiúsculas\n"
+#~ "\n"
+#~ "\n"
+#~ " Arquivo não foi salvo."
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "Memória insuficiente ao preparar para salvar."
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "Remover (se existir)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "Remover A e B"
+
+#~ msgid "Merge to A and B"
+#~ msgstr "Mesclar para A e B"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/ro.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2289 @@
+# translation of @PACKAGE.po to @LANGUAGE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Claudiu Costin <claudiuc@kde.org>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: @PACKAGE\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2003-11-08 18:45+0200\n"
+"Last-Translator: Claudiu Costin <claudiuc@kde.org>\n"
+"Language-Team: Romanian <ro-kde@egroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Claudiu Costin"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "claudiuc@kde.org"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr ""
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr ""
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr ""
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr ""
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr ""
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr ""
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr ""
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr ""
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr ""
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr ""
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr ""
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr ""
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr ""
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr ""
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr ""
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr ""
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr ""
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr ""
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr ""
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr ""
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr ""
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr ""
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr ""
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr ""
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr ""
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr ""
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr ""
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr ""
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr ""
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr ""
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr ""
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr ""
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr ""
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr ""
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr ""
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr ""
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr ""
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr ""
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr ""
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr ""
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr ""
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr ""
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr ""
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr ""
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr ""
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr ""
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr ""
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr ""
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr ""
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr ""
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr ""
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr ""
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr ""
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr ""
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr ""
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr ""
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr ""
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr ""
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr ""
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr ""
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr ""
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr ""
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr ""
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr ""
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr ""
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr ""
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr ""
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr ""
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr ""
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr ""
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr ""
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr ""
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr ""
+
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr ""
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr ""
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr ""
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr ""
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr ""
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr ""
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr ""
+
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr ""
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr ""
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr ""
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr ""
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr ""
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr ""
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr ""
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr ""
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr ""
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr ""
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr ""
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr ""
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr ""
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr ""
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr ""
+
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr ""
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr ""
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr ""
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr ""
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr ""
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr ""
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr ""
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr ""
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr ""
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr ""
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr ""
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr ""
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr ""
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr ""
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr ""
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr ""
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr ""
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr ""
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr ""
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr ""
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr ""
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr ""
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr ""
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr ""
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr ""
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr ""
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr ""
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr ""
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr ""
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr ""
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr ""
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr ""
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr ""
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr ""
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr ""
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr ""
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr ""
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr ""
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr ""
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr ""
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr ""
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr ""
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr ""
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr ""
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr ""
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr ""
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr ""
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr ""
+
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr ""
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr ""
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr ""
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr ""
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr ""
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr ""
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr ""
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr ""
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr ""
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr ""
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr ""
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr ""
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr ""
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr ""
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr ""
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
+msgstr ""
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
+msgstr ""
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr ""
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr ""
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr ""
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr ""
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr ""
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr ""
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr ""
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr ""
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr ""
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr ""
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr ""
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr ""
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr ""
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr ""
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr ""
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr ""
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr ""
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr ""
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr ""
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr ""
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr ""
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr ""
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
--- a/kdiff3/po/ru.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/ru.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,20 +1,18 @@
-# Translation of kdiff3.po into Russian
+# KDE3 - kdiff3.pot Russian translation.
 # KDE3 - kdeextragear-1/kdiff3.po Russian translation.
-# Copyright (C) 2004, KDE Team.
-# Nick Shafff <linux@l10n.org.ua>, 2004.
-# Nickolai Shaforostoff <shafff@ukr.net>, 2004.
+# Nick Shaforostoff <shafff@ukr.net>, 2004-2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-12 15:34+0300\n"
-"Last-Translator: Nickolai Shaforostoff <shafff@ukr.net>\n"
-"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-01 10:56+0200\n"
+"Last-Translator: Nick Shaforostoff <shafff@ukr.net>\n"
+"Language-Team:  <kde-russian@lists.kde.ru>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3\n"
+"X-Generator: KBabel 1.9.1\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -28,15 +26,15 @@
 "Your emails"
 msgstr "linux@l10n.org.ua"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr ""
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Из буфера обмена"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -45,7 +43,7 @@
 "The preprocessing command will be disabled now."
 msgstr ""
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -54,280 +52,274 @@
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
 "ÐŸÐ¾Ñ‚ÐµÑ€Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ….\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "ÐŸÐµÑ€Ð²Ð°Ñ Ñтрока %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Конец"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Совмещение ÑÑылок и обычных файлов"
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "СÑылка: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Размер. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Дата и размер: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
-msgstr "Ðе удалоÑÑŒ Ñоздать временную копию ."
-
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+msgstr "Ðе удалоÑÑŒ Ñоздать временную копию %1."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Ðе удалоÑÑŒ открыть %1."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
-msgstr "Сохранение файла..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Сравнивание файла..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð· %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "ИмÑ"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "ДейÑтвие"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "СоÑтоÑние"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
+msgstr "Ðеразрешённый"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Разрешённый"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Чёрный"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Белый"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° работает в режиме "
-"Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð². Ð’Ñ‹ дейÑтвительно "
-"хотите отменить вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ обновить "
-"Ñодержание каталогов?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° работает в режиме Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð². Ð’Ñ‹ дейÑтвительно "
+"хотите отменить вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ обновить Ñодержание каталогов?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Обновить"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Продолжить"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Ðе удалоÑÑŒ открыть каталоги:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Каталог A \"%1\" не ÑущеÑтвует.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Каталог B \"%1\" не ÑущеÑтвует.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Каталог C \"%1\" не ÑущеÑтвует.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
-msgstr ""
-"Путь к конечному каталогу не должен "
-"Ñовпадать Ñ A или B."
-
-#: directorymergewindow.cpp:442
+msgstr "Путь к конечному каталогу не должен Ñовпадать Ñ A или B."
+
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Ðеправильный параметр"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
 msgstr "Сканирование каталогов..."
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Чтение каталога A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Чтение каталога B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Чтение каталога C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
-msgstr ""
-"Ðе удалоÑÑŒ почитать некоторые "
-"подкаталоги в"
-
-#: directorymergewindow.cpp:571
+msgstr "Ðе удалоÑÑŒ почитать некоторые подкаталоги в"
+
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Проверьте права Ñтих каталогов."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Готово."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "СоÑтоÑние ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "КоличеÑтво подкаталогов:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "КоличеÑтво одинаковых файлов:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "КоличеÑтво разных файлов:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "КоличеÑтво объединений вручную:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Это влиÑет на вÑе объединениÑ"
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Изменение вÑех объединений"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "&Продолжить"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Обработка "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "ОÑталоÑÑŒ Ñделать."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Копировать A в B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Копировать B в A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Удалить A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Удалить B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Удалить A и B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Объединить в A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Объединить в B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Объединить в A & B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Удалить (еÑли ÑущеÑтвует)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Объединить"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Объединить (вручную)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Ошибка: ÐеÑовмеÑтимые типы файлов"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
-msgstr ""
-"Ошибка: Ð’Ñ€ÐµÐ¼Ñ Ñовпадает, а Ñодержимое "
-"файлов - нет."
-
-#: directorymergewindow.cpp:1511
+msgstr "Ошибка: Ð’Ñ€ÐµÐ¼Ñ Ñовпадает, а Ñодержимое файлов - нет."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Пока невозможно"
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Пока невозможно"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -337,45 +329,44 @@
 msgstr ""
 "mergeResultSaved: m_pMFI=0\n"
 "\n"
-"ЕÑли вы знаете в чём причина, Ñообщите "
-"автору."
-
-#: directorymergewindow.cpp:1554
+"ЕÑли вы знаете в чём причина, Ñообщите автору."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Ошибка программы"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Ошибка копированиÑ.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Ошибка объединениÑ"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Ошибка."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Готово."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Ðе Ñохранено."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "ÐеизвеÑтное объединение"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "ÐеизвеÑтное объединение"
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -388,321 +379,356 @@
 msgstr ""
 "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð½Ð°Ñ‡Ð½Ñ‘Ñ‚ÑÑ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ.\n"
 "\n"
-"Ðажмите \"Выполнить\" поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ "
-"инÑтрукций.\n"
-"Ðажмите \"Эмулировать\" чтобы увидеть, что "
-"должно произойти.\n"
+"Ðажмите \"Выполнить\" поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð½Ñтрукций.\n"
+"Ðажмите \"Эмулировать\" чтобы увидеть, что должно произойти.\n"
 "\n"
-"Мы Ñоветуем вÑегда делать резервные "
-"копии данных перед объединением!"
-
-#: directorymergewindow.cpp:1686
+"Мы Ñоветуем вÑегда делать резервные копии данных перед объединением!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Ðачало объединениÑ"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Выполнить"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Эмулировать"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"Выделенный файл имеет разный тип в каждом "
-"каталоге. Выберите что делать."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"Даты поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² "
-"одинаковы, о Ñодержимое - нет. Выберите "
-"что делать."
-
-#: directorymergewindow.cpp:1778
+"Выделенный файл имеет разный тип в каждом каталоге. Выберите что делать."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Даты поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² одинаковы, о Ñодержимое - нет. Выберите что "
+"делать."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑÑ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ каталогов"
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Ðа текущем Ñтапе произошла ошибка.\n"
 "Продолжить или пропуÑтить?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Продолжить поÑле ошибки"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Продолжить"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "ПропуÑтить"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Пропущено."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Идёт работа..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Объединение завершено."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Объединение завершено"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
-msgstr ""
-"Объединение завершено. Ð’Ñ‹ ÑоглаÑны Ñ "
-"предлагаемыми изменениÑми?"
-
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr "Объединение завершено. Ð’Ñ‹ ÑоглаÑны Ñ Ð¿Ñ€ÐµÐ´Ð»Ð°Ð³Ð°ÐµÐ¼Ñ‹Ð¼Ð¸ изменениÑми?"
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
-"Произошла ошибка. Ðажмите OK Ð´Ð»Ñ "
-"подробноÑтей.\n"
-
-#: directorymergewindow.cpp:2020
+"Произошла ошибка. Ðажмите OK Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей.\n"
+
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Ðе удалоÑÑŒ Ñоздать резервную копию %1."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "удалить каталог рекурÑивно(%1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "удалить( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "Ðе удалоÑÑŒ удалить каталог"
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Ошибка rmdir( %1 )."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Ðе удалоÑÑŒ удалить."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "объединение вручную( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr ""
-"     ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ "
-"нажмите F7."
-
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr "     ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ нажмите F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Ðе удалоÑÑŒ Ñкопировать %1 в %2. Ðе удалоÑÑŒ "
-"удалить ÑущеÑтвующее назначение."
-
-#: directorymergewindow.cpp:2135
+"Ðе удалоÑÑŒ Ñкопировать %1 в %2. Ðе удалоÑÑŒ удалить ÑущеÑтвующее назначение."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "ÑимволичеÑÐºÐ°Ñ ÑÑылка( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
-msgstr ""
-"Ошибка: Удалённые ÑÑылки не "
-"поддерживаютÑÑ."
-
-#: directorymergewindow.cpp:2152
+msgstr "Ошибка: Удалённые ÑÑылки не поддерживаютÑÑ."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Ðе удалоÑÑŒ Ñоздать ÑÑылку."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "копировать( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Ðе удалоÑÑŒ переименовать %1 в%2. Ðе удалоÑÑŒ "
-"удалить ÑущеÑтвующее назначение."
-
-#: directorymergewindow.cpp:2204
+"Ðе удалоÑÑŒ переименовать %1 в%2. Ðе удалоÑÑŒ удалить ÑущеÑтвующее назначение."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "переименовать( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Ðе удалоÑÑŒ переименовать"
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr ""
-"Ðе удалоÑÑŒ Ñоздать каталог %1. Ðе удалоÑÑŒ "
-"удалить ÑущеÑтвующий файл."
-
-#: directorymergewindow.cpp:2247
+msgstr "Ðе удалоÑÑŒ Ñоздать каталог %1. Ðе удалоÑÑŒ удалить ÑущеÑтвующий файл."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "Ñоздать каталог( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Ðе удалоÑÑŒ Ñоздать каталог"
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Ðазначение"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Каталог"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Тип"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Размер"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Ðтрибуты"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "ПоÑледнее изменение"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Объект ÑÑылки"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "не доÑтупно"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (назначение): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (иÑходное): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (назначение): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (назначение): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Ðазначение: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Объединение каталогов"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Ðачать/продолжить объединение каталогов"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Выполнить Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ пункта"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Сравнить выделенный файл"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Объединить текущий файл"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ Ð²Ñе подкаталоги"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "ИÑÐºÐ»ÑŽÑ‡Ð°Ñ Ð²Ñе подкаталоги"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Объединение каталогов"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Объединение каталогов"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Выбрать B Ð´Ð»Ñ Ð²Ñех"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
-msgstr ""
-"ÐвтоматичеÑки выбирать тип дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ "
-"вÑех"
-
-#: directorymergewindow.cpp:2409
+msgstr "ÐвтоматичеÑки выбирать тип дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð²Ñех"
+
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Убрать дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð²Ñех"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Синхронизировать каталоги"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Принимать Ñразу новые файлы вмеÑто Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (небезопаÑно)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "КоличеÑтво разных файлов:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Сравнить выделенный файл"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Сравнить выделенный файл"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Ðичего"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Удалить (еÑли ÑущеÑтвует)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Удалить A и B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Объединить в A и B"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Объединить в A & B"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Ðе удалоÑÑŒ удалить Ñтарую резервную "
-"копию. \n"
+"Ðе удалоÑÑŒ удалить Ñтарую резервную копию. \n"
 "Файл: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -710,566 +736,595 @@
 "Ðе удалоÑÑŒ выполнить переименование. \n"
 "Файлы: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Получение ÑоÑтоÑÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Чтение файла: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "ЗапиÑÑŒ в файл: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Вне памÑти"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Создание каталога: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Удаление каталога: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Удаление файла: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Создание ÑимволичеÑкой ÑÑылки: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Переименование файла: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Копирование файла: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr "Ðе удалоÑÑŒ открыть Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» %1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr "Ðе удалоÑÑŒ открыть Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи файл %1"
 
-#: fileaccess.cpp:859
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Ðе удалоÑÑŒ прочитать файл %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Ðе удалоÑÑŒ запиÑать в файл %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Чтение каталога: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Вывод Ñодержимого каталога: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
-msgstr ""
-"Ключ --auto иÑпользован, но не указаны "
-"выходные файлы."
-
-#: kdiff3.cpp:241
+msgstr "Ключ --auto иÑпользован, но не указаны выходные файлы."
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Ключ --auto игнорируетÑÑ Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²"
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Ðе удалоÑÑŒ произвеÑти Ñохранение."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Ðе удалоÑÑŒ открыть файлы:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Открыть файлы Ð´Ð»Ñ ÑравнениÑ..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr ""
-"Сохранить результат объединениÑ. Ð’Ñе "
-"конфликты должны быть разрешены!"
-
-#: kdiff3.cpp:333
+msgstr "Сохранить результат объединениÑ. Ð’Ñе конфликты должны быть разрешены!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Сохранить Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ именем..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Выйти"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Вырезать в буфер обмена"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Скопировать в буфер обмена"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Ð’Ñтавить из буфера обмена"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "ИÑкать текÑÑ‚"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Продолжить поиÑк текÑта"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Отобразить/Ñкрыть панель инÑтрументов"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Отобразить/Ñкрыть панель ÑоÑтоÑниÑ"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "ÐаÑтроить KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Перейти к текущему различию"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Перейти к первому различию"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Перейти к поÑледнему различию"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Перейти к предыдущему различию"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Перейти к Ñледующему различию"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Перейти к предыдущему конфликту"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Перейти к Ñледующему конфликту"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
-msgstr ""
-"Перейти к предыдущему неразрешённому "
-"конфликту"
-
-#: kdiff3.cpp:382
+msgstr "Перейти к предыдущему неразрешённому конфликту"
+
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
-msgstr ""
-"Перейти к Ñледующему неразрешённому "
-"конфликту"
-
-#: kdiff3.cpp:383
+msgstr "Перейти к Ñледующему неразрешённому конфликту"
+
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Выбрать Ñтроки из A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Выбрать Ñтроки из B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Выбрать Ñтроки из C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Перейти к Ñледующему неразрешённому "
-"конфликту поÑле Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñходника"
-
-#: kdiff3.cpp:388
+"Перейти к Ñледующему неразрешённому конфликту поÑле Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñходника"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
-msgstr ""
-"Отображать пробелы и табулÑции в "
-"различиÑÑ…"
-
-#: kdiff3.cpp:389
+msgstr "Отображать пробелы и табулÑции в различиÑÑ…"
+
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Отображать пуÑтые промежутки"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Отображать номера Ñтрок"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Выбрать A везде"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Выбрать B везде"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Выбрать C везде"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr ""
-"Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr ""
-"Выбрать B Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr ""
-"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов пуÑтых промежутков"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов пуÑтых промежутков"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых "
-"конфликтов пуÑтых промежутков"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Выбрать B Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Выбрать B Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
-msgstr ""
-"Разрешать проÑтые конфликты "
-"автоматичеÑки"
-
-#: kdiff3.cpp:402
+msgstr "Разрешать проÑтые конфликты автоматичеÑки"
+
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Определить Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ ÐºÐ°Ðº конфликты"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Разрешать проÑтые конфликты автоматичеÑки"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Отобразить окно A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Отобразить окно B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Отобразить окно C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Ðктивировать Ñледующее окно"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
-msgstr ""
-
-#: kdiff3.cpp:410
+msgstr "Обычнный обзор "
+
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
-msgstr ""
-
-#: kdiff3.cpp:411
+msgstr "Обзор A vs. B"
+
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
+msgstr "Обзор A vs. C "
+
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
+msgstr "Обзор B vs. C"
+
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr ""
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Ðктивировать предыдущее окно"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
-msgstr ""
-
-#: kdiff3.cpp:421
+msgstr "ПоменÑть Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ"
+
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr ""
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Каталоги/текÑÑ‚"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Результат Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранён"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Сохранить и выйти"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Выйти без ÑохранениÑ"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
-msgstr ""
-"Ðе удалоÑÑŒ Ñохранить результат "
-"объединениÑ"
-
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "Ðе удалоÑÑŒ Ñохранить результат объединениÑ"
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr "ОÑтановить объединение каталогов?"
 
-#: kdiff3.cpp:547
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Сохранение файла..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Сохранение файла Ñ Ð½Ð¾Ð²Ñ‹Ð¼ именем..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Выход..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Объединение завершено."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Выход..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
-msgstr ""
-"Отображение/Ñкрытие панели "
-"инÑтрументов..."
-
-#: kdiff3.cpp:619
+msgstr "Отображение/Ñкрытие панели инÑтрументов..."
+
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Отображение/Ñкрытие панели ÑоÑтоÑниÑ..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Ðайти:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "С учётом региÑтра"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "ПоиÑк в A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "ПоиÑк в B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "ПоиÑк в C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "ПоиÑк в выводе"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&ИÑкать"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Ðе удалоÑÑŒ найти файлы Ð´Ð»Ñ ÑравнениÑ."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "СредÑтво ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ объединениÑ"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Объединить ввод."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr ""
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
-msgstr ""
-
-#: main.cpp:40
+msgstr "Выходной файл. Подразумевет наличие также -m. Ðапример: -o newfile.txt"
+
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr ""
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-
-#: main.cpp:42
+"Ðе выводить гафичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐµÑли вÑе конфликты удалоÑÑŒ разрешить "
+"автоматичеÑки. (треубет также ключа -o)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
-msgstr ""
-
-#: main.cpp:43
+msgstr "Ðе разрешить конфликты автоматичеÑки (Ð´Ð»Ñ ÑовмеÑтимоÑти)"
+
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr ""
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr ""
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr ""
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
 
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
 msgstr ""
-"Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ "
-"ÑредÑтвами."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
 msgstr ""
-"Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ "
-"ÑредÑтвами."
-
-#: main.cpp:52
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "КоличеÑтво разных файлов:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr ""
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr ""
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr ""
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-
-#: mergeresultwindow.cpp:254
+"Благодарю вÑех, кто отправлÑÑ… отчёты об ошибках и предлагал новые идеи!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"Ðеразрешённых конфликтов оÑталоÑÑŒ: %1 (%2 из которых - конфликты пуÑтых "
+"промежутков)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 msgstr ""
-
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+"Вывод был изменён.\n"
+"ЕÑли вы продолжите, Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ утерÑны."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
-msgstr ""
-
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+msgstr "Ð’Ñе входные файлы одинаковы бинарно"
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
-msgstr ""
-
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+msgstr "Ð’Ñе входные файлы Ñодержт одинаковый текÑÑ‚"
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Файлы A и B бинарно одинаковы.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Файлы A и B Ñодержат одинаковый текÑÑ‚. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Файлы A и C бинарно одинаковы.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Файлы A и C Ñодержат одинаковый текÑÑ‚. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Файлы B и C бинарно одинаковы.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Файлы B и C Ñодержат одинаковый текÑÑ‚. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Общее количеÑтво конфликтов: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
 "\n"
-"КоличеÑтво разрешённых автоматичеÑки "
-"конфликтов: "
-
-#: mergeresultwindow.cpp:740
+"КоличеÑтво разрешённых автоматичеÑки конфликтов: "
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1277,27 +1332,31 @@
 "\n"
 "КоличеÑтво неразрешённых конфликтов: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Конфликты"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
-msgstr "<нет иÑходной Ñтроки>"
-
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+msgstr "<Ðет иÑходной Ñтроки>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Конфликт Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (пуÑтые промежутки)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Конфликт объединениÑ>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
-msgstr ""
-
-#: mergeresultwindow.cpp:1157
+msgstr "Вывод"
+
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Изменён]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1305,451 +1364,672 @@
 "Ðе вÑе конфликты разрешены.\n"
 "Файл не Ñохранён.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "ОÑталоÑÑŒ конфликтов"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-"\n"
-"\n"
-"Файл не Ñохранён."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr ""
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Ошибка запиÑи"
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Шрифт редактора и вывода различий"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Ð Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ ÐºÑƒÑ€Ñивом"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
-msgstr ""
-"ЕÑли шрифт не Ñодержит курÑива, Ñтот "
-"параметр не работает."
-
-#: optiondialog.cpp:353
+msgstr "ЕÑли шрифт не Ñодержит курÑива, Ñтот параметр не работает."
+
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Цвет"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Цвета редактора и вывода различий"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Региональные наÑтройки"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Цвет текÑта:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Цвет фона:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Цвет фона различий:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Цвет A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Цвет B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Цвет C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Цвет конфликтов:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr ""
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr ""
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "СоÑтоÑние ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Редактор"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
-msgstr "Режим редактора"
-
-#: optiondialog.cpp:441
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "Поведение редактора"
+
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "ЗаменÑть табулÑцию пробелами"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "ТабулÑциÑ:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "ПроÑтавлÑть отÑтупы автоматичеÑки"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
-msgstr ""
-"Копировать выделение в буфер обмена "
-"автоматичеÑки"
-
-#: optiondialog.cpp:465
+msgstr "Копировать выделение в буфер обмена автоматичеÑки"
+
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Конец Ñтроки:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 
-#: optiondialog.cpp:482
-msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
-msgstr ""
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "ИÑпользовать кодировку локали"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Сравнить и объединить"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "ÐаÑтройки ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ объединениÑ"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Отображать Ñимвол перевода каретки"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "ПропуÑкать цифры"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "ПропуÑкать комментарии C/C++"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Обрабатывать комментарии C/C++ как пробелы."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Без учёта региÑтра"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°, определÑÐµÐ¼Ð°Ñ "
-"пользователем (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей Ñм. "
+"ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°, определÑÐµÐ¼Ð°Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей Ñм. "
 "документацию)."
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
-msgstr ""
-"ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ "
-"Ñтрок:"
-
-#: optiondialog.cpp:550
+msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñтрок:"
+
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "ЗадейÑтвовать вÑе алгоритмы (медленно)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
-msgstr ""
-
-#: optiondialog.cpp:566
+msgstr "Задержка перед переходом, мÑ:"
+
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-
-#: optiondialog.cpp:571
+"Показывать результат текущего выбора на некоторое времÑ, а затем переходить к "
+"Ñледующему конфликту. Диапазон: 0..2000 мÑ"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr ""
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Выбор вручную"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
 
-#: optiondialog.cpp:584
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr ""
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Объединение каталогов"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "РекурÑиÑ"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr ""
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "МаÑки файлов:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "ПропуÑкать файлы по маÑке:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "ПропуÑкать каталоги по маÑке:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "ИÑпользовать .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
-msgstr ""
-
-#: optiondialog.cpp:659
+msgstr "Учитывать Ñкрытые файлы и каталоги"
+
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr ""
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
-msgstr ""
-
-#: optiondialog.cpp:665
+msgstr "Учитывать файлы и каталоги, начинающиеÑÑ Ñ '.'."
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Следовать по ÑÑылкам на файлы"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Следовать по ÑÑылкам на каталоги"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Только различиÑ"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr ""
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+msgstr "Режим ÑÑ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Бинарное Ñравнение"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Бинарное Ñравнение каждого файла (по умолчанию)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Полный анализ"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Сравнивать по дате Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (неточно)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-
-#: optiondialog.cpp:702
+"Считать файлы одинаковыми, еÑли Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ размер Ñовпадают.\n"
+"Полезно Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… каталогов или медленных Ñетей."
+
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Сравнивать по размеру (неточно)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Синхронизировать каталоги"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
-msgstr ""
-"Принимать Ñразу новые файлы вмеÑто "
-"Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (небезопаÑно)"
-
-#: optiondialog.cpp:718
+msgstr "Принимать Ñразу новые файлы вмеÑто Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (небезопаÑно)"
+
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 msgstr ""
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Сохранить резервные копии (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
-msgstr ""
-
-#: optiondialog.cpp:762
+msgstr "Региональные наÑтройки"
+
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
-msgstr ""
-
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+msgstr "Язык (требуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿ÑƒÑк)"
+
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Кодировку локали - "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Кодировка файла A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Кодировка файла B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Кодировка файла C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Кодировка Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ ÑохранениÑ:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Кодировка препроцеÑÑора:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "ДейÑтвие"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Региональные наÑтройки"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1759,191 +2039,338 @@
 "Do you want to continue or do you want to select another font."
 msgstr ""
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "ÐеÑовмеÑтимый шрифт"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Продолжить"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Выбрать другой шрифт"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
-msgstr ""
-"Это ÑброÑит абÑолютно вÑе параметры, а не "
-"только текущей вкладки."
-
-#: pdiff.cpp:257
+msgstr "Это ÑброÑит абÑолютно вÑе параметры, а не только текущей вкладки."
+
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°:"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr ""
-
-#: pdiff.cpp:293
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "Отключить небезопаÑные"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Загрузка A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Загрузка B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Различие: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "ПоÑтрочное Ñравнение: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Загрузка C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Различие: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Различие: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "ПоÑтрочное Ñравнение: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "ПоÑтрочное Ñравнение: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Стоп"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Открытие файлов..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Вырезание в буфер обмена..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Копирование в буфер обмена..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Ð’Ñтавка из буфера обмена..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Сохранить и продолжить"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Продолжить без ÑохранениÑ"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "ПоиÑк завершён."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "ПоиÑк завершён"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Ðе удалоÑÑŒ Ñоздать каталог"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "ÐаÑтроить KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Каталог"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Перемещение"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iff"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Объединение"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Окно"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (иÑходное):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Файл..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Каталог..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "С (необÑзательно):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Вывод (необÑзательно):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "ÐаÑтроить..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Стоп"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Открытие файлов..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Вырезание в буфер обмена..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Копирование в буфер обмена..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Ð’Ñтавка из буфера обмена..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Сохранить и продолжить"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Продолжить без ÑохранениÑ"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "ПоиÑк завершён."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "ПоиÑк завершён"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "ÐаÑтроить KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Каталог"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Ðайти:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "С учётом региÑтра"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "ПоиÑк в A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "ПоиÑк в B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "ПоиÑк в C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "ПоиÑк в выводе"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&ИÑкать"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Копировать выделение в буфер обмена автоматичеÑки"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Выбор вручную"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
 
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
 msgstr ""
 
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Перемещение"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "D&iff"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Объединение"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Окно"
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Ðе удалоÑÑŒ произвеÑти Ñохранение."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ ÑредÑтвами."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ ÑредÑтвами."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Цвета редактора и вывода различий"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/rw.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2818 @@
+# translation of kdiff3 to Kinyarwanda.
+# Copyright (C) 
+# This file is distributed under the same license as the kdiff3 package.
+# Steve Murphy <murf@e-tools.com>, 2005.
+# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+# Philibert Ndandali  <ndandali@yahoo.fr>, 2005.
+# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
+# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
+# Carole Karema <karemacarole@hotmail.com>, 2005.
+# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
+# Augustin KIBERWA  <akiberwa@yahoo.co.uk>, 2005.
+# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005.
+# Antoine Bigirimana <antoine@e-tools.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3 3.4\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-05-25 18:07-0600\n"
+"Last-Translator: Steve Murphy <murf@e-tools.com>\n"
+"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+"Viateur MUGENZI, JEAN BAPTISTE NGENDAHAYO, Augustin KIBERWA, Donatien "
+"NSENGIYUMVA"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+"muvia1@yahoo.fr, ngenda_denis@yahoo.co.uk, akiberwa@yahoo.co.uk, "
+"ndonatienuk@yahoo.co.uk"
+
+#: diff.cpp:245
+#, fuzzy
+msgid "Writing clipboard data to temp file failed."
+msgstr "Ububikokoporora Ibyatanzwe Kuri Idosiye Byanze . "
+
+#: diff.cpp:249
+#, fuzzy
+msgid "From Clipboard"
+msgstr "Ububikokoporora"
+
+#: diff.cpp:451
+#, fuzzy
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"Byanze . iyi command : \n"
+"\n"
+"%1 \n"
+"\n"
+"command Yahagaritswe NONEAHA . "
+
+#: diff.cpp:486
+#, fuzzy
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"Umurongo: - - Byanze . iyi command : \n"
+"\n"
+"%1 \n"
+"\n"
+"Umurongo: - - command Yahagaritswe NONEAHA . "
+
+#: diff.cpp:1617 diff.cpp:1631
+#, fuzzy
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Ikosa : \n"
+"ni Umuntu i Umwanditsi: . \n"
+
+#: diff.cpp:1619 diff.cpp:1633
+#, fuzzy
+msgid "Severe Internal Error"
+msgstr "Ikosa "
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "Umurongo: %1 "
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Impera"
+
+#: directorymergewindow.cpp:142
+#, fuzzy
+msgid "Mix of links and normal files."
+msgstr "Bya amahuza na Bisanzwe Idosiye . "
+
+#: directorymergewindow.cpp:149
+#, fuzzy
+msgid "Link: "
+msgstr "Ihuza..."
+
+#: directorymergewindow.cpp:157
+#, fuzzy
+msgid "Size. "
+msgstr "Ingano:"
+
+#: directorymergewindow.cpp:170
+#, fuzzy
+msgid "Date & Size: "
+msgstr "Itariki & Igihe"
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+#, fuzzy
+msgid "Creating temp copy of %1 failed."
+msgstr "Gukoporora Bya %1 Byanze . "
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+#, fuzzy
+msgid "Opening %1 failed."
+msgstr "%1 Byanze . "
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "Idosiye ... "
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, fuzzy, c-format
+msgid "Error reading from %1"
+msgstr "Ikosa Kuva: %1 "
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Izina"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Igikorwa"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Imimerere"
+
+#: directorymergewindow.cpp:288
+#, fuzzy
+msgid "Unsolved"
+msgstr "Kidakoreshwa"
+
+#: directorymergewindow.cpp:289
+#, fuzzy
+msgid "Solved"
+msgstr "Gikomeye"
+
+#: directorymergewindow.cpp:290
+#, fuzzy
+msgid "Nonwhite"
+msgstr "Nta na kimwe"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Umweru"
+
+#: directorymergewindow.cpp:319
+#, fuzzy
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr "A Ububiko Gukomatanya . , Kuri Kureka i Gukomatanya na i Ububiko ? "
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+#, fuzzy
+msgid "Rescan"
+msgstr "Urukiramende"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+#, fuzzy
+msgid "Continue Merging"
+msgstr "Gukomeza "
+
+#: directorymergewindow.cpp:462
+#, fuzzy
+msgid "Opening of directories failed:"
+msgstr "Bya ububiko bw'amaderese Byanze : "
+
+#: directorymergewindow.cpp:465
+#, fuzzy
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"A \" %1 \" OYA Cyangwa ni OYA A Ububiko . \n"
+
+#: directorymergewindow.cpp:468
+#, fuzzy
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"\" %1 \" OYA Cyangwa ni OYA A Ububiko . \n"
+
+#: directorymergewindow.cpp:471
+#, fuzzy
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"\" %1 \" OYA Cyangwa ni OYA A Ububiko . \n"
+
+#: directorymergewindow.cpp:473
+#, fuzzy
+msgid "Directory Open Error"
+msgstr "Gufungura Ikosa "
+
+#: directorymergewindow.cpp:481
+#, fuzzy
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"Ishyika: Ububiko OYA i Nka A Cyangwa Ryari: ububiko bw'amaderese . \n"
+"Nanone Mbere . "
+
+#: directorymergewindow.cpp:483
+#, fuzzy
+msgid "Parameter Warning"
+msgstr "Kuburira bijyanye na mucapyi"
+
+#: directorymergewindow.cpp:488
+#, fuzzy
+msgid "Scanning directories..."
+msgstr "ububiko bw'amaderese ... "
+
+#: directorymergewindow.cpp:537
+#, fuzzy
+msgid "Reading Directory A"
+msgstr "A "
+
+#: directorymergewindow.cpp:559
+#, fuzzy
+msgid "Reading Directory B"
+msgstr "Guhanga ububiko "
+
+#: directorymergewindow.cpp:581
+#, fuzzy
+msgid "Reading Directory C"
+msgstr "Guhanga ububiko "
+
+#: directorymergewindow.cpp:607
+#, fuzzy
+msgid "Some subdirectories were not readable in"
+msgstr "Ububiko bwungirije OYA in "
+
+#: directorymergewindow.cpp:612
+#, fuzzy
+msgid "Check the permissions of the subdirectories."
+msgstr "i Uruhushya Bya i Ububiko bwungirije . "
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Cyiteguye."
+
+#: directorymergewindow.cpp:660
+#, fuzzy
+msgid "Directory Comparison Status"
+msgstr "Inzira y'ububiko"
+
+#: directorymergewindow.cpp:661
+#, fuzzy
+msgid "Number of subdirectories:"
+msgstr "Bya Ububiko bwungirije : "
+
+#: directorymergewindow.cpp:662
+#, fuzzy
+msgid "Number of equal files:"
+msgstr "Bya bingana Idosiye : "
+
+#: directorymergewindow.cpp:663
+#, fuzzy
+msgid "Number of different files:"
+msgstr "Bya Idosiye : "
+
+#: directorymergewindow.cpp:666
+#, fuzzy
+msgid "Number of manual merges:"
+msgstr "Bya Bikorwa : "
+
+#: directorymergewindow.cpp:802
+#, fuzzy
+msgid "This affects all merge operations."
+msgstr "Byose Gukomatanya Ibikorwa: . "
+
+#: directorymergewindow.cpp:803
+#, fuzzy
+msgid "Changing All Merge Operations"
+msgstr "Ibikorerwa Ishusho"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "Komeza"
+
+#: directorymergewindow.cpp:1169
+#, fuzzy
+msgid "Processing "
+msgstr "Inonosora"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+#, fuzzy
+msgid "To do."
+msgstr "Gukora"
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+#, fuzzy
+msgid "Copy A to B"
+msgstr "A Kuri "
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+#, fuzzy
+msgid "Copy B to A"
+msgstr "Kuri A "
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+#, fuzzy
+msgid "Delete A"
+msgstr "A "
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+#, fuzzy
+msgid "Delete B"
+msgstr "Gusiba #"
+
+#: directorymergewindow.cpp:1756
+#, fuzzy
+msgid "Delete A & B"
+msgstr "A & "
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+#, fuzzy
+msgid "Merge to A"
+msgstr "Kuri A "
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+#, fuzzy
+msgid "Merge to B"
+msgstr "Kuri "
+
+#: directorymergewindow.cpp:1759
+#, fuzzy
+msgid "Merge to A & B"
+msgstr "Kuri A & "
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+#, fuzzy
+msgid "Delete (if exists)"
+msgstr "( NIBA ) "
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Gukomatanya"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#, fuzzy
+msgid "Merge (manual)"
+msgstr "( Bikorwa ) "
+
+#: directorymergewindow.cpp:1766
+#, fuzzy
+msgid "Error: Conflicting File Types"
+msgstr "Ikosa : Idosiye "
+
+#: directorymergewindow.cpp:1767
+#, fuzzy
+msgid "Error: Dates are equal but files are not."
+msgstr "Ikosa : bingana Idosiye OYA . "
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+#, fuzzy
+msgid "This operation is currently not possible."
+msgstr "Igikorwa ni OYA . "
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+#, fuzzy
+msgid "Operation Not Possible"
+msgstr "Igikorwa nticyashobotse"
+
+#: directorymergewindow.cpp:1884
+#, fuzzy
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"Nta na rimwe : \n"
+"\n"
+": = Kuri iyi , Umuntu i Porogaramu Umwanditsi: . "
+
+#: directorymergewindow.cpp:1884
+#, fuzzy
+msgid "Program Error"
+msgstr "Ikosa "
+
+#: directorymergewindow.cpp:1895
+#, fuzzy
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Ikosa Gukoporora . \n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+#, fuzzy
+msgid "Merge Error"
+msgstr "Ikosa "
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Ikosa."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Byakozwe."
+
+#: directorymergewindow.cpp:1929
+#, fuzzy
+msgid "Not saved."
+msgstr "Bidasangiwe"
+
+#: directorymergewindow.cpp:1964
+#, fuzzy
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "Gukomatanya Igikorwa . ( Nta na rimwe ! ) "
+
+#: directorymergewindow.cpp:1996
+#, fuzzy
+msgid "Unknown merge operation."
+msgstr "Gukomatanya Igikorwa . "
+
+#: directorymergewindow.cpp:2011
+#, fuzzy
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"Gukomatanya ni Bigyanye Kuri . \n"
+"\n"
+"\" \" NIBA Soma i Amabwiriza na . \n"
+"\" \" . \n"
+"\n"
+"iyi Porogaramu beta Imimerere na ni ! Ibyashyinguwe Bya Ibyatanzwe ! "
+
+#: directorymergewindow.cpp:2016
+#, fuzzy
+msgid "Starting Merge"
+msgstr "Gutangiza serivise"
+
+#: directorymergewindow.cpp:2016
+#, fuzzy
+msgid "Do It"
+msgstr "Akadomo"
+
+#: directorymergewindow.cpp:2016
+#, fuzzy
+msgid "Simulate It"
+msgstr "Kwigana Igaragaza"
+
+#: directorymergewindow.cpp:2042
+#, fuzzy
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr "Ikintu A Ubwoko: in i ububiko bw'amaderese . Kuri . "
+
+#: directorymergewindow.cpp:2051
+#, fuzzy
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr "Amatariki Bya i Idosiye bingana i Idosiye OYA . Kuri . "
+
+#: directorymergewindow.cpp:2102
+#, fuzzy
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr "Igikorwa ni OYA Ububiko Gukomatanya ni . "
+
+#: directorymergewindow.cpp:2162
+#, fuzzy
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"Ikosa in i Iheruka Intera . \n"
+"Kuri Gukomeza Na: i Ikintu i Ikosa Cyangwa Kuri Gusimbuka iyi Ikintu ? "
+
+#: directorymergewindow.cpp:2164
+#, fuzzy
+msgid "Continue merge after an error"
+msgstr "Gukomeza Gukomatanya Nyuma Ikosa "
+
+#: directorymergewindow.cpp:2164
+#, fuzzy
+msgid "Continue With Last Item"
+msgstr "Gukomeza "
+
+#: directorymergewindow.cpp:2164
+#, fuzzy
+msgid "Skip Item"
+msgstr "Ibigize by'ilisiti"
+
+#: directorymergewindow.cpp:2198
+#, fuzzy
+msgid "Skipped."
+msgstr "Byoherejwe ku"
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+#, fuzzy
+msgid "In progress..."
+msgstr "Aho bigeze: ... "
+
+#: directorymergewindow.cpp:2253
+#, fuzzy
+msgid "Merge operation complete."
+msgstr "Igikorwa Byuzuye . "
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+#, fuzzy
+msgid "Merge Complete"
+msgstr "Gushyira ku gihe byarangiye"
+
+#: directorymergewindow.cpp:2265
+#, fuzzy
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr "Gukomatanya Byuzuye : NIBA Na: i Ibikorwa: . "
+
+#: directorymergewindow.cpp:2301
+#, fuzzy
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr "Habayemoikosa."
+
+#: directorymergewindow.cpp:2344
+#, fuzzy
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "Ikosa : Gusiba %1 : Inyibutsa Byanze . "
+
+#: directorymergewindow.cpp:2351
+#, fuzzy
+msgid "delete directory recursively( %1 )"
+msgstr "Gusiba Ububiko ( %1 ) "
+
+#: directorymergewindow.cpp:2353
+#, fuzzy
+msgid "delete( %1 )"
+msgstr "Gusiba"
+
+#: directorymergewindow.cpp:2368
+#, fuzzy
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr "Ikosa : Gusiba Igikorwa Byanze Kuri Soma i Ububiko . "
+
+#: directorymergewindow.cpp:2387
+#, fuzzy
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Ikosa : ( %1 ) Igikorwa Byanze . "
+
+#: directorymergewindow.cpp:2397
+#, fuzzy
+msgid "Error: delete operation failed."
+msgstr "Ikosa : Gusiba Igikorwa Byanze . "
+
+#: directorymergewindow.cpp:2423
+#, fuzzy
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "Bikorwa Gukomatanya ( %1 , %2 , %3 - > %4 ) "
+
+#: directorymergewindow.cpp:2426
+#, fuzzy
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr "icyitonderwa : A Bikorwa Gukomatanya i Umukoresha Gukomeza ku . "
+
+#: directorymergewindow.cpp:2449
+#, fuzzy
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr "Ikosa : Gukoporora ( %1 - > %2 ) Byanze . Ishyika: Byanze . "
+
+#: directorymergewindow.cpp:2459
+#, fuzzy
+msgid "copyLink( %1 -> %2 )"
+msgstr "Ihuza ku %1 (%2)"
+
+#: directorymergewindow.cpp:2470
+#, fuzzy
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr "Ikosa : Byanze : amahuza OYA . "
+
+#: directorymergewindow.cpp:2476
+#, fuzzy
+msgid "Error: copyLink failed."
+msgstr "Ikosa : Byanze . "
+
+#: directorymergewindow.cpp:2496
+#, fuzzy
+msgid "copy( %1 -> %2 )"
+msgstr "Gukoporora"
+
+#: directorymergewindow.cpp:2522
+#, fuzzy
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr "Ikosa Guhindura izina ( %1 - > %2 ) : Gusiba Ishyika: . "
+
+#: directorymergewindow.cpp:2528
+#, fuzzy
+msgid "rename( %1 -> %2 )"
+msgstr "Guhindura izina"
+
+#: directorymergewindow.cpp:2537
+#, fuzzy
+msgid "Error: Rename failed."
+msgstr "Ikosa : Byanze . "
+
+#: directorymergewindow.cpp:2555
+#, fuzzy
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr "Ikosa Bya %1 . Gusiba Idosiye . "
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr ""
+
+#: directorymergewindow.cpp:2581
+#, fuzzy
+msgid "Error while creating directory."
+msgstr "Ikosa Kurema Ububiko . "
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+#, fuzzy
+msgid "Dest"
+msgstr "Kugogora"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+#, fuzzy
+msgid "Dir"
+msgstr "Muhamagazatelefoni"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Ubwoko"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Ingano"
+
+#: directorymergewindow.cpp:2611
+#, fuzzy
+msgid "Attr"
+msgstr "Nyuma"
+
+#: directorymergewindow.cpp:2612
+#, fuzzy
+msgid "Last Modification"
+msgstr "Iherutse guhindurwa"
+
+#: directorymergewindow.cpp:2613
+#, fuzzy
+msgid "Link-Destination"
+msgstr "Ishyika"
+
+#: directorymergewindow.cpp:2663
+#, fuzzy
+msgid "not available"
+msgstr "Ntibonetse"
+
+#: directorymergewindow.cpp:2683
+#, fuzzy
+msgid "A (Dest): "
+msgstr "A ( ) : "
+
+#: directorymergewindow.cpp:2686
+#, fuzzy
+msgid "A (Base): "
+msgstr "A ( Base ) : "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr ""
+
+#: directorymergewindow.cpp:2706
+#, fuzzy
+msgid "Dest: "
+msgstr "Ibiro: %1"
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Seriveri y'ububiko:"
+
+#: directorymergewindow.cpp:2853
+#, fuzzy
+msgid "Start/Continue Directory Merge"
+msgstr "Gutangira /Gukomeza "
+
+#: directorymergewindow.cpp:2854
+#, fuzzy
+msgid "Run Operation for Current Item"
+msgstr "ya:  "
+
+#: directorymergewindow.cpp:2855
+#, fuzzy
+msgid "Compare Selected File"
+msgstr "Idosiye "
+
+#: directorymergewindow.cpp:2856
+#, fuzzy
+msgid "Merge Current File"
+msgstr "Idosiye "
+
+#: directorymergewindow.cpp:2857
+#, fuzzy
+msgid "Fold All Subdirs"
+msgstr "Amajwi Yose"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr ""
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Seriveri y'ububiko:"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Seriveri y'ububiko:"
+
+#: directorymergewindow.cpp:2862
+#, fuzzy
+msgid "Choose A for All Items"
+msgstr "A ya:  "
+
+#: directorymergewindow.cpp:2863
+#, fuzzy
+msgid "Choose B for All Items"
+msgstr "ya:  "
+
+#: directorymergewindow.cpp:2864
+#, fuzzy
+msgid "Choose C for All Items"
+msgstr "ya:  "
+
+#: directorymergewindow.cpp:2865
+#, fuzzy
+msgid "Auto-Choose Operation for All Items"
+msgstr "- ya:  "
+
+#: directorymergewindow.cpp:2866
+#, fuzzy
+msgid "No Operation for All Items"
+msgstr "ya:  "
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "ububiko bw'amaderese "
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Bya ( ) "
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Bya Idosiye : "
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Idosiye "
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Idosiye "
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Ntugire icyo Ukora"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
+msgstr "A & & "
+
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
+msgstr "Kuri A & & "
+
+#: fileaccess.cpp:563
+#, fuzzy
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"Kuri Ubwoko A Inyibutsa , Gusiba Inyibutsa Byanze . \n"
+": "
+
+#: fileaccess.cpp:570
+#, fuzzy
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"Kuri Ubwoko A Inyibutsa , Guhindura izina Byanze . \n"
+": "
+
+#: fileaccess.cpp:592
+#, fuzzy, c-format
+msgid "Getting file status: %1"
+msgstr "Idosiye Imimerere : %1 "
+
+#: fileaccess.cpp:635
+#, fuzzy, c-format
+msgid "Reading file: %1"
+msgstr "Idosiye : %1 "
+
+#: fileaccess.cpp:671
+#, fuzzy, c-format
+msgid "Writing file: %1"
+msgstr "Idosiye : %1 "
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Ububiko bwarenzwe"
+
+#: fileaccess.cpp:734
+#, fuzzy, c-format
+msgid "Making directory: %1"
+msgstr "Ububiko : %1 "
+
+#: fileaccess.cpp:754
+#, fuzzy, c-format
+msgid "Removing directory: %1"
+msgstr "Ububiko : %1 "
+
+#: fileaccess.cpp:769
+#, fuzzy, c-format
+msgid "Removing file: %1"
+msgstr "Idosiye : %1 "
+
+#: fileaccess.cpp:785
+#, fuzzy
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "Ihuza : %1 - > %2 "
+
+#: fileaccess.cpp:811
+#, fuzzy
+msgid "Renaming file: %1 -> %2"
+msgstr "Idosiye : %1 - > %2 "
+
+#: fileaccess.cpp:847
+#, fuzzy
+msgid "Copying file: %1 -> %2"
+msgstr "Idosiye : %1 - > %2 "
+
+#: fileaccess.cpp:861
+#, fuzzy, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr "Ikosa Idosiye Gukoporora Igikorwa : Idosiye ya:  Byanze . : %1 "
+
+#: fileaccess.cpp:867
+#, fuzzy, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr "Ikosa Idosiye Gukoporora Igikorwa : Idosiye ya:  Byanze . : %1 "
+
+#: fileaccess.cpp:882
+#, fuzzy, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr "Ikosa Idosiye Gukoporora Igikorwa : Byanze . : %1 "
+
+#: fileaccess.cpp:891
+#, fuzzy, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr "Ikosa Idosiye Gukoporora Igikorwa : Byanze . : %1 "
+
+#: fileaccess.cpp:1187
+#, fuzzy
+msgid "Reading directory: "
+msgstr "Ububiko : "
+
+#: fileaccess.cpp:1316
+#, fuzzy, c-format
+msgid "Listing directory: %1"
+msgstr "Ububiko : %1 "
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Iki cyiciro"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Ikosa gufungura idosiye"
+
+#: kdiff3.cpp:187
+#, fuzzy
+msgid "Option --auto used, but no output file specified."
+msgstr "- - Ikiyega Byakoreshejwe , Oya Ibisohoka Idosiye . "
+
+#: kdiff3.cpp:318
+#, fuzzy
+msgid "Option --auto ignored for directory comparison."
+msgstr "- - Ikiyega ya:  Ububiko . "
+
+#: kdiff3.cpp:354
+#, fuzzy
+msgid "Saving failed."
+msgstr "Byanze . "
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+#, fuzzy
+msgid "Opening of these files failed:"
+msgstr "Bya Idosiye Byanze : "
+
+#: kdiff3.cpp:390
+#, fuzzy
+msgid "File Open Error"
+msgstr "Ikosa gufungura idosiye"
+
+#: kdiff3.cpp:413
+#, fuzzy
+msgid "Opens documents for comparison..."
+msgstr "Inyandiko ya:  ... "
+
+#: kdiff3.cpp:418
+#, fuzzy
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr "i Gukomatanya Igisubizo . ! "
+
+#: kdiff3.cpp:420
+#, fuzzy
+msgid "Saves the current document as..."
+msgstr "i KIGEZWEHO Inyandiko Nka ... "
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+#, fuzzy
+msgid "Quits the application"
+msgstr "i Porogaramu "
+
+#: kdiff3.cpp:426
+#, fuzzy
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "i Byahiswemo Icyiciro na Kuri i Ububikokoporora "
+
+#: kdiff3.cpp:428
+#, fuzzy
+msgid "Copies the selected section to the clipboard"
+msgstr "i Byahiswemo Icyiciro Kuri i Ububikokoporora "
+
+#: kdiff3.cpp:430
+#, fuzzy
+msgid "Pastes the clipboard contents to actual position"
+msgstr "i Ububikokoporora Ibigize Kuri Ibirindiro: "
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+#, fuzzy
+msgid "Search for a string"
+msgstr "ya:  A Ikurikiranyanyuguti "
+
+#: kdiff3.cpp:436
+#, fuzzy
+msgid "Search again for the string"
+msgstr "Nanone ya:  i Ikurikiranyanyuguti "
+
+#: kdiff3.cpp:438
+#, fuzzy
+msgid "Enables/disables the toolbar"
+msgstr "/i Umwanyabikoresho "
+
+#: kdiff3.cpp:440
+#, fuzzy
+msgid "Enables/disables the statusbar"
+msgstr "/i Umurongomiterere "
+
+#: kdiff3.cpp:444
+#, fuzzy
+msgid "Configure KDiff3..."
+msgstr "Kugena imiterere..."
+
+#: kdiff3.cpp:465
+#, fuzzy
+msgid "Go to Current Delta"
+msgstr "Kuri "
+
+#: kdiff3.cpp:466
+#, fuzzy
+msgid "Go to First Delta"
+msgstr "Kuri "
+
+#: kdiff3.cpp:467
+#, fuzzy
+msgid "Go to Last Delta"
+msgstr "Kuri "
+
+#: kdiff3.cpp:468
+#, fuzzy
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr "( Umweru Umwanya Ibinyuranyo Ryari: \" \" ni Yahagaritswe . ) "
+
+#: kdiff3.cpp:469
+#, fuzzy
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"( OYA Gusimbuka Umweru Umwanya Ibinyuranyo ATARIIGIHARWE Ryari: \" \" ni "
+"Yahagaritswe . ) "
+
+#: kdiff3.cpp:470
+#, fuzzy
+msgid "Go to Previous Delta"
+msgstr "Kuri "
+
+#: kdiff3.cpp:472
+#, fuzzy
+msgid "Go to Next Delta"
+msgstr "Kuri "
+
+#: kdiff3.cpp:474
+#, fuzzy
+msgid "Go to Previous Conflict"
+msgstr "Kuri "
+
+#: kdiff3.cpp:476
+#, fuzzy
+msgid "Go to Next Conflict"
+msgstr "Kuri "
+
+#: kdiff3.cpp:478
+#, fuzzy
+msgid "Go to Previous Unsolved Conflict"
+msgstr "Kuri "
+
+#: kdiff3.cpp:480
+#, fuzzy
+msgid "Go to Next Unsolved Conflict"
+msgstr "Kuri "
+
+#: kdiff3.cpp:482
+#, fuzzy
+msgid "Select Line(s) From A"
+msgstr "( S ) A "
+
+#: kdiff3.cpp:483
+#, fuzzy
+msgid "Select Line(s) From B"
+msgstr "( S ) "
+
+#: kdiff3.cpp:484
+#, fuzzy
+msgid "Select Line(s) From C"
+msgstr "( S ) "
+
+#: kdiff3.cpp:485
+#, fuzzy
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr "Kuri "
+
+#: kdiff3.cpp:487
+#, fuzzy
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "& & ya:  "
+
+#: kdiff3.cpp:488
+#, fuzzy
+msgid "Show White Space"
+msgstr "Umwanya w'Umweru"
+
+#: kdiff3.cpp:490
+#, fuzzy
+msgid "Show Line Numbers"
+msgstr "Kwerekana nomero z'umurongo"
+
+#: kdiff3.cpp:491
+#, fuzzy
+msgid "Choose A Everywhere"
+msgstr "A "
+
+#: kdiff3.cpp:492
+#, fuzzy
+msgid "Choose B Everywhere"
+msgstr "Hitamo darayiva"
+
+#: kdiff3.cpp:493
+#, fuzzy
+msgid "Choose C Everywhere"
+msgstr "Hitamo darayiva"
+
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "A ya:  "
+
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "ya:  "
+
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "ya:  "
+
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "A ya:  "
+
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "ya:  "
+
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "ya:  "
+
+#: kdiff3.cpp:500
+#, fuzzy
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Gufunga mu buryo bwikoresha impago zidakoreshwa"
+
+#: kdiff3.cpp:501
+#, fuzzy
+msgid "Set Deltas to Conflicts"
+msgstr "Kuri "
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Gufunga mu buryo bwikoresha impago zidakoreshwa"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+#, fuzzy
+msgid "Show Window A"
+msgstr "A "
+
+#: kdiff3.cpp:507
+#, fuzzy
+msgid "Show Window B"
+msgstr "Kwerekana Ilisiti y'Amadirishya"
+
+#: kdiff3.cpp:508
+#, fuzzy
+msgid "Show Window C"
+msgstr "Kwerekana Ilisiti y'Amadirishya"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+#, fuzzy
+msgid "Focus Next Window"
+msgstr "idirishya rikurikira"
+
+#: kdiff3.cpp:511
+#, fuzzy
+msgid "Normal Overview"
+msgstr "Gahunda-Nyamwaka"
+
+#: kdiff3.cpp:512
+#, fuzzy
+msgid "A vs. B Overview"
+msgstr "A . "
+
+#: kdiff3.cpp:513
+#, fuzzy
+msgid "A vs. C Overview"
+msgstr "A . "
+
+#: kdiff3.cpp:514
+#, fuzzy
+msgid "B vs. C Overview"
+msgstr "Incamake"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr ""
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+#, fuzzy
+msgid "Focus Prev Window"
+msgstr "Kwerekeza ku idirishya: "
+
+#: kdiff3.cpp:523
+#, fuzzy
+msgid "Toggle Split Orientation"
+msgstr "Icyerekezo mwandiko"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr ""
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr ""
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+#, fuzzy
+msgid "The merge result hasn't been saved."
+msgstr "Gukomatanya Igisubizo . "
+
+#: kdiff3.cpp:573
+#, fuzzy
+msgid "Save && Quit"
+msgstr "Kubika & & "
+
+#: kdiff3.cpp:573
+#, fuzzy
+msgid "Quit Without Saving"
+msgstr "Komeka utahinduye imiterere"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+#, fuzzy
+msgid "Saving the merge result failed."
+msgstr "i Gukomatanya Igisubizo Byanze . "
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+#, fuzzy
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "A Ububiko Gukomatanya . , Kuri Kureka ? "
+
+#: kdiff3.cpp:615
+#, fuzzy
+msgid "Saving file..."
+msgstr "Idosiye ... "
+
+#: kdiff3.cpp:632
+#, fuzzy
+msgid "Saving file with a new filename..."
+msgstr "Idosiye Na: A Gishya Izina ry'idosiye: ... "
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Tegereza..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Igikorwa Byuzuye . "
+
+#: kdiff3.cpp:895
+#, fuzzy
+msgid "Exiting..."
+msgstr "Tegereza..."
+
+#: kdiff3.cpp:907
+#, fuzzy
+msgid "Toggling toolbar..."
+msgstr "Umwanyabikoresho ... "
+
+#: kdiff3.cpp:928
+#, fuzzy
+msgid "Toggle the statusbar..."
+msgstr "i Umurongomiterere ... "
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+#, fuzzy
+msgid "Couldn't find files for comparison."
+msgstr "Gushaka Idosiye ya:  . "
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr ""
+
+#: kdiff3_shell.cpp:78
+#, fuzzy
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"OYA Gushaka Inzira %s ! \n"
+"Kuri iyinjizaporogaramu . Soma i - Idosiye in i Inkomoko Porogaramu ya:  "
+"Birambuye . "
+
+#: main.cpp:35
+#, fuzzy
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "ya:  na Bya na "
+
+#: main.cpp:40
+#, fuzzy
+msgid "Merge the input."
+msgstr "i Iyinjiza . "
+
+#: main.cpp:42
+#, fuzzy
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr "SHINGIRO Idosiye . Bihuye neza Na: Ibikoresho . "
+
+#: main.cpp:44
+#, fuzzy
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "E. G."
+
+#: main.cpp:45
+#, fuzzy
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "Idosiye , Nanone . ( Bihuye neza Na: Ibikoresho . ) "
+
+#: main.cpp:46
+#, fuzzy
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr "NIBA Byose Ikiyega - . ( - o Idosiye ) "
+
+#: main.cpp:47
+#, fuzzy
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "mu buryo bwikora: . ( Bihuye neza ... ) "
+
+#: main.cpp:48
+#, fuzzy
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "Izina: ya:  Iyinjiza Idosiye 1 ( SHINGIRO ) . "
+
+#: main.cpp:49
+#, fuzzy
+msgid "Visible name replacement for input file 2."
+msgstr "Izina: ya:  Iyinjiza Idosiye 2 . "
+
+#: main.cpp:50
+#, fuzzy
+msgid "Visible name replacement for input file 3."
+msgstr "Izina: ya:  Iyinjiza Idosiye 3 . "
+
+#: main.cpp:52
+#, fuzzy
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr "Kigaragara Izina: . iyi Rimwe ya:  buri Iyinjiza . "
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Bya Idosiye : "
+
+#: main.cpp:59
+#, fuzzy
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "Kuri Gufungura ( SHINGIRO , NIBA OYA Biturutse - - SHINGIRO ) "
+
+#: main.cpp:60
+#, fuzzy
+msgid "file2 to open"
+msgstr "Kuri Gufungura "
+
+#: main.cpp:61
+#, fuzzy
+msgid "file3 to open"
+msgstr "Kuri Gufungura "
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr ""
+
+#: main.cpp:184
+#, fuzzy
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr "+ Kuri na ! "
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Bya : %1 ( Bya %2 ) "
+
+#: mergeresultwindow.cpp:282
+#, fuzzy
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"Ibisohoka Byahinduwe: . \n"
+"Gukomeza Amahinduka . "
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+#, fuzzy
+msgid "All input files are binary equal."
+msgstr "Iyinjiza Idosiye Nyabibiri bingana . "
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+#, fuzzy
+msgid "All input files contain the same text."
+msgstr "Iyinjiza Idosiye i Umwandiko . "
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+#, fuzzy
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"A na Nyabibiri bingana . \n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+#, fuzzy
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"A na bingana Umwandiko . \n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+#, fuzzy
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"A na Nyabibiri bingana . \n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+#, fuzzy
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"A na bingana Umwandiko . \n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+#, fuzzy
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"na Nyabibiri bingana . \n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+#, fuzzy
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"na bingana Umwandiko . \n"
+
+#: mergeresultwindow.cpp:809
+#, fuzzy
+msgid "Total number of conflicts: "
+msgstr "Umubare Bya : "
+
+#: mergeresultwindow.cpp:810
+#, fuzzy
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"Bya mu buryo bwikora: : "
+
+#: mergeresultwindow.cpp:811
+#, fuzzy
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"Bya : "
+
+#: mergeresultwindow.cpp:813
+#, fuzzy
+msgid "Conflicts"
+msgstr "Ishyamirana ry'ingenzi"
+
+#: mergeresultwindow.cpp:1506
+#, fuzzy
+msgid "<No src line>"
+msgstr "< Umurongo: > "
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+#, fuzzy
+msgid "<Merge Conflict>"
+msgstr "Ishyamirana ry'ingenzi"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Ibisohoka"
+
+#: mergeresultwindow.cpp:1588
+#, fuzzy
+msgid "[Modified]"
+msgstr "Byahinduwe"
+
+#: mergeresultwindow.cpp:2512
+#, fuzzy
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"Byose . \n"
+"Idosiye OYA . \n"
+
+#: mergeresultwindow.cpp:2514
+#, fuzzy
+msgid "Conflicts Left"
+msgstr "Guhitamo Ibumoso"
+
+#: mergeresultwindow.cpp:2526
+#, fuzzy
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+"\n"
+"\n"
+"Inyibutsa Byanze . Idosiye OYA . "
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+#, fuzzy
+msgid "File Save Error"
+msgstr "Idosiye Kubika Ikosa "
+
+#: mergeresultwindow.cpp:2566
+#, fuzzy
+msgid "Error while writing."
+msgstr "Ikosa . "
+
+#: optiondialog.cpp:361
+#, fuzzy
+msgid "Unicode, 8 bit"
+msgstr ", 8 "
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Inikode"
+
+#: optiondialog.cpp:363
+#, fuzzy
+msgid "Latin1"
+msgstr "Ikilatini-1"
+
+#: optiondialog.cpp:382
+#, fuzzy
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "iyi NIBA - Inyuguti OYA . "
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+#, fuzzy
+msgid "Italic font for deltas"
+msgstr "Imyandikire ya:  "
+
+#: optiondialog.cpp:528
+#, fuzzy
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"i Biberamye Verisiyo Bya i Imyandikire ya:  Ibinyuranyo . \n"
+"i Imyandikire Gushigikira Biberamye Inyuguti , Hanyuma iyi Nta na kimwe . "
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Ibara"
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Amagenamiterere y'Akarere"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Ibara ry'imbugambanza:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Ibara ry'imbuganyuma:"
+
+#: optiondialog.cpp:572
+#, fuzzy
+msgid "Diff background color:"
+msgstr "Mbuganyuma Ibara: : "
+
+#: optiondialog.cpp:579
+#, fuzzy
+msgid "Color A:"
+msgstr "A : "
+
+#: optiondialog.cpp:586
+#, fuzzy
+msgid "Color B:"
+msgstr "Ibara:"
+
+#: optiondialog.cpp:593
+#, fuzzy
+msgid "Color C:"
+msgstr "Ibara:"
+
+#: optiondialog.cpp:599
+#, fuzzy
+msgid "Conflict color:"
+msgstr "Ibara: : "
+
+#: optiondialog.cpp:606
+#, fuzzy
+msgid "Current range background color:"
+msgstr "Urutonde Mbuganyuma Ibara: : "
+
+#: optiondialog.cpp:613
+#, fuzzy
+msgid "Current range diff background color:"
+msgstr "Urutonde Mbuganyuma Ibara: : "
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Inzira y'ububiko"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "Muhinduzi"
+
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
+msgstr "imyitwarire"
+
+#: optiondialog.cpp:674
+#, fuzzy
+msgid "Tab inserts spaces"
+msgstr "Imyanya "
+
+#: optiondialog.cpp:677
+#, fuzzy
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+": tab i Umubare Bya Imyanya . \n"
+": A - Inyuguti: Byinjijwemo . "
+
+#: optiondialog.cpp:683
+#, fuzzy
+msgid "Tab size:"
+msgstr "Ingano: : "
+
+#: optiondialog.cpp:688
+#, fuzzy
+msgid "Auto indentation"
+msgstr "Isunika "
+
+#: optiondialog.cpp:691
+#, fuzzy
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+": Isunika Bya i Ibanjirije Umurongo: ni Byakoreshejwe ya:  A Gishya Umurongo: . "
+"\n"
+
+#: optiondialog.cpp:695
+#, fuzzy
+msgid "Auto copy selection"
+msgstr "Gukoporora Ihitamo "
+
+#: optiondialog.cpp:698
+#, fuzzy
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr "G."
+
+#: optiondialog.cpp:703
+#, fuzzy
+msgid "Line end style:"
+msgstr "Impera Imisusire : "
+
+#: optiondialog.cpp:715
+#, fuzzy
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+"i Umurongo: ya:  Ryari: Idosiye ni . \n"
+"/: + ; : ; Na: = , = "
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "Ikinyuranyo/Itandukaniro"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Iganamiterere rya musomyi"
+
+#: optiondialog.cpp:737
+#, fuzzy
+msgid "Preserve carriage return"
+msgstr "Garuka "
+
+#: optiondialog.cpp:740
+#, fuzzy
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+"Garuka Inyuguti ' \\r ' NIBA . \n"
+"Kuri Kugereranya # Idosiye Byahinduwe: . "
+
+#: optiondialog.cpp:745
+#, fuzzy
+msgid "Ignore numbers"
+msgstr "Imibare "
+
+#: optiondialog.cpp:748
+#, fuzzy
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"Umubare Inyuguti Umurongo: . ( Kuri Umweru Umwanya . ) \n"
+"Ifashayobora Kuri Kugereranya # Idosiye Na: Bikurikije umubare Ibyatanzwe . "
+
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
+msgstr "/+ + Ibisobanuro "
+
+#: optiondialog.cpp:755
+#, fuzzy
+msgid "Treat C/C++ comments like white space."
+msgstr "/+ + Ibisobanuro nka Umweru Umwanya . "
+
+#: optiondialog.cpp:759
+#, fuzzy
+msgid "Ignore case"
+msgstr "Kwirengagiza Inshuro Imwe"
+
+#: optiondialog.cpp:762
+#, fuzzy
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr "Ibinyuranyo nka Umweru Umwanya Amahinduka . ( ' < = > ' ) "
+
+#: optiondialog.cpp:766
+#, fuzzy
+msgid "Preprocessor command:"
+msgstr "command : "
+
+#: optiondialog.cpp:770
+#, fuzzy
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr "Byahawe imiterere mbere - Inonosora . ( i ya:  Birambuye . ) "
+
+#: optiondialog.cpp:773
+#, fuzzy
+msgid "Line-matching preprocessor command:"
+msgstr "- command : "
+
+#: optiondialog.cpp:777
+#, fuzzy
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+"Byahawe imiterere mbere - ni Byakoreshejwe Umurongo: . \n"
+"( i ya:  Birambuye . ) "
+
+#: optiondialog.cpp:780
+#, fuzzy
+msgid "Try hard (slower)"
+msgstr "Ikomeye ( ) "
+
+#: optiondialog.cpp:783
+#, fuzzy
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"i - - Ihitamo ya:  i external . \n"
+"Bya Idosiye . "
+
+#: optiondialog.cpp:788
+#, fuzzy
+msgid "Auto advance delay (ms):"
+msgstr "Gutinda ( Madamu ) : "
+
+#: optiondialog.cpp:793
+#, fuzzy
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+"in - Ubwoko i Igisubizo Bya i KIGEZWEHO Ihitamo ni \n"
+"ya:  i Igihe , Mbere Kuri i Ibikurikira > . : 0 %S - Madamu "
+
+#: optiondialog.cpp:798
+#, fuzzy
+msgid "White space 2-file merge default:"
+msgstr "Umwanya 2 - Idosiye Gukomatanya Mburabuzi : "
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
+msgstr "Ibishushanyo by'Intoki"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+#, fuzzy
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+"i Gukomatanya Kuri mu buryo bwikora: Guhitamo Iyinjiza ya:  Umweru - Umwanya - "
+"Amahinduka . "
+
+#: optiondialog.cpp:811
+#, fuzzy
+msgid "White space 3-file merge default:"
+msgstr "Umwanya 3 - Idosiye Gukomatanya Mburabuzi : "
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+#, fuzzy
+msgid "Directory Merge"
+msgstr "Seriveri y'ububiko:"
+
+#: optiondialog.cpp:951
+#, fuzzy
+msgid "Recursive directories"
+msgstr "ububiko bw'amaderese "
+
+#: optiondialog.cpp:953
+#, fuzzy
+msgid "Whether to analyze subdirectories or not."
+msgstr "Kuri Ububiko bwungirije Cyangwa OYA . "
+
+#: optiondialog.cpp:955
+#, fuzzy
+msgid "File pattern(s):"
+msgstr "Idosiye Ishusho ( S ) : "
+
+#: optiondialog.cpp:960
+#, fuzzy
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"( S ) Bya Idosiye Kuri . \n"
+": ' * ' na ' ? ' \n"
+"ku ikoresha i Mutandukanya : ' ; ' "
+
+#: optiondialog.cpp:966
+#, fuzzy
+msgid "File-anti-pattern(s):"
+msgstr "Idosiye - - Ishusho ( S ) : "
+
+#: optiondialog.cpp:971
+#, fuzzy
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"( S ) Bya Idosiye Kuri Kuva: . \n"
+": ' * ' na ' ? ' \n"
+"ku ikoresha i Mutandukanya : ' ; ' "
+
+#: optiondialog.cpp:977
+#, fuzzy
+msgid "Dir-anti-pattern(s):"
+msgstr "- - Ishusho ( S ) : "
+
+#: optiondialog.cpp:982
+#, fuzzy
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"( S ) Bya ububiko bw'amaderese Kuri Kuva: . \n"
+": ' * ' na ' ? ' \n"
+"ku ikoresha i Mutandukanya : ' "
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+#, fuzzy
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+"i Kuri ku . \n"
+"Bya hafi \" . \" - Idosiye iyi Ububiko . "
+
+#: optiondialog.cpp:996
+#, fuzzy
+msgid "Find hidden files and directories"
+msgstr "Birahishe Idosiye na ububiko bw'amaderese "
+
+#: optiondialog.cpp:999
+#, fuzzy
+msgid "Finds files and directories with the hidden attribute."
+msgstr "Idosiye na ububiko bw'amaderese Na: i Birahishe Ikiranga: . "
+
+#: optiondialog.cpp:1001
+#, fuzzy
+msgid "Finds files and directories starting with '.'."
+msgstr "Idosiye na ububiko bw'amaderese Itangira... Na: ' . ' . "
+
+#: optiondialog.cpp:1005
+#, fuzzy
+msgid "Follow file links"
+msgstr "Idosiye amahuza "
+
+#: optiondialog.cpp:1008
+#, fuzzy
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+": i Idosiye i Ihuza Utudomo Kuri . \n"
+": i amahuza . "
+
+#: optiondialog.cpp:1013
+#, fuzzy
+msgid "Follow directory links"
+msgstr "Ububiko amahuza "
+
+#: optiondialog.cpp:1016
+#, fuzzy
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+": i Ububiko i Ihuza Utudomo Kuri . \n"
+": i amahuza . "
+
+#: optiondialog.cpp:1021
+#, fuzzy
+msgid "List only deltas"
+msgstr "Ibiri ku rutonde"
+
+#: optiondialog.cpp:1024
+#, fuzzy
+msgid "Files and directories without change will not appear in the list."
+msgstr "na ububiko bw'amaderese Guhindura... OYA Kugaragara in i Urutonde . "
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+#, fuzzy
+msgid "File Comparison Mode"
+msgstr "Idosiye "
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr ""
+
+#: optiondialog.cpp:1044
+#, fuzzy
+msgid "Binary comparison of each file. (Default)"
+msgstr "Bya Idosiye . ( ) "
+
+#: optiondialog.cpp:1046
+#, fuzzy
+msgid "Full analysis"
+msgstr "Kwikaraga hose"
+
+#: optiondialog.cpp:1047
+#, fuzzy
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+"A Cyuzuye na Herekana %S Sitatisitiki Ibisobanuro: in Birenga Inkingi: . \n"
+"( A Nyabibiri , ya:  Nyabibiri Idosiye . ) "
+
+#: optiondialog.cpp:1050
+#, fuzzy
+msgid "Trust the modification date (unsafe)"
+msgstr "i Itariki: ( ) "
+
+#: optiondialog.cpp:1051
+#, fuzzy
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"Idosiye bingana NIBA i Itariki: na Idosiye Uburebure bingana . \n"
+"ya:  ububiko bw'amaderese Cyangwa Buhoro . "
+
+#: optiondialog.cpp:1054
+#, fuzzy
+msgid "Trust the size (unsafe)"
+msgstr "i Ingano: ( ) "
+
+#: optiondialog.cpp:1055
+#, fuzzy
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"Idosiye bingana NIBA Idosiye bingana . \n"
+"ya:  ububiko bw'amaderese Cyangwa Buhoro Ryari: i Itariki: ni Byahinduwe: "
+"Iyimura . "
+
+#: optiondialog.cpp:1059
+#, fuzzy
+msgid "Synchronize directories"
+msgstr "ububiko bw'amaderese "
+
+#: optiondialog.cpp:1062
+#, fuzzy
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+"Kuri Idosiye in Byombi ububiko bw'amaderese ububiko bw'amaderese i . \n"
+"Ryari: Kabiri ububiko bw'amaderese A Ishyika: . "
+
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "Umwanya Ibinyuranyo bingana "
+
+#: optiondialog.cpp:1071
+#, fuzzy
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Idosiye ku Umweru Umwanya bingana . \n"
+"ni Gikora Ryari: Cyuzuye ni . "
+
+#: optiondialog.cpp:1077
+#, fuzzy
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "Bya ( ) "
+
+#: optiondialog.cpp:1080
+#, fuzzy
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"Kureba Mo Imbere , i Idosiye . \n"
+"( iyi NIBA ! ) \n"
+"CYUZUYE Ryari: Kabiri ububiko bw'amaderese . "
+
+#: optiondialog.cpp:1085
+#, fuzzy
+msgid "Backup files (.orig)"
+msgstr "Idosiye ( . ) "
+
+#: optiondialog.cpp:1088
+#, fuzzy
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+"A Idosiye KURI ki/bishaje Idosiye , Hanyuma i ki/bishaje Na: A ' . - Umugereka: "
+"Bya Kyasibwe: %S . "
+
+#: optiondialog.cpp:1115
+#, fuzzy
+msgid "Regional Settings"
+msgstr "Amagenamiterere y'Akarere"
+
+#: optiondialog.cpp:1208
+#, fuzzy
+msgid "Language (restart required)"
+msgstr "( Ongera utangire Bya ngombwa ) "
+
+#: optiondialog.cpp:1240
+#, fuzzy
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+"i Ururimi: Bya i - Ikurikiranyanyuguti Cyangwa \" \" . \n"
+"A Guhindura... Bya Ururimi: Kuri , &Kuvamo na Ongera utangire . "
+
+#: optiondialog.cpp:1258
+#, fuzzy
+msgid "Use the same encoding for everything:"
+msgstr "i Imisobekere: ya:  : "
+
+#: optiondialog.cpp:1261
+#, fuzzy
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"iyi Kuri Guhindura... Byose ku i Itangira . \n"
+"iyi NIBA Igenamiterere . "
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "icyitonderwa : ni "
+
+#: optiondialog.cpp:1270
+#, fuzzy
+msgid "File Encoding for A:"
+msgstr "Idosiye ya:  A : "
+
+#: optiondialog.cpp:1275
+#, fuzzy
+msgid "File Encoding for B:"
+msgstr "Idosiye ya:  : "
+
+#: optiondialog.cpp:1280
+#, fuzzy
+msgid "File Encoding for C:"
+msgstr "Idosiye ya:  : "
+
+#: optiondialog.cpp:1285
+#, fuzzy
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Idosiye ya:  na : "
+
+#: optiondialog.cpp:1290
+#, fuzzy
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Idosiye ya:  : "
+
+#: optiondialog.cpp:1299
+#, fuzzy
+msgid "Right To Left Language"
+msgstr "Iburyo ku ibumoso"
+
+#: optiondialog.cpp:1302
+#, fuzzy
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Indimi Soma Kuva: Iburyo: Kuri Ibumoso: . \n"
+"Igenamiterere Guhindura... i na Muhinduzi . "
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Igikorwa"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Amagenamiterere y'Akarere"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+#, fuzzy
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"Byahiswemo A Impinduragaciro Ubugari: Imyandikire . \n"
+"\n"
+"iyi Porogaramu Impinduragaciro Ubugari: , Guhindura . \n"
+"\n"
+"Kuri Gukomeza Cyangwa Kuri Guhitamo Imyandikire . "
+
+#: optiondialog.cpp:1384
+#, fuzzy
+msgid "Incompatible Font"
+msgstr "%S Itakorana"
+
+#: optiondialog.cpp:1385
+#, fuzzy
+msgid "Continue at Own Risk"
+msgstr "Gukomeza Ku "
+
+#: optiondialog.cpp:1385
+#, fuzzy
+msgid "Select Another Font"
+msgstr "Gutoranya imyandikire"
+
+#: optiondialog.cpp:1410
+#, fuzzy
+msgid "This resets all options. Not only those of the current topic."
+msgstr "Byose Amahitamo . Bya i KIGEZWEHO . "
+
+#: pdiff.cpp:258
+#, fuzzy
+msgid "PreprocessorCmd: "
+msgstr "Munonosora"
+
+#: pdiff.cpp:263
+#, fuzzy
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"Ihitamo ( S ) Byahiswemo Guhindura... Ibyatanzwe : \n"
+
+#: pdiff.cpp:264
+#, fuzzy
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+"\n"
+"iyi ni OYA A Gukomatanya . \n"
+"Kuri Kwangira Igenamiterere Cyangwa Gukomeza Na: Igenamiterere Gikora ? "
+
+#: pdiff.cpp:266
+#, fuzzy
+msgid "Option Unsafe for Merging"
+msgstr "ya:  "
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+#, fuzzy
+msgid "Disable Unsafe Options"
+msgstr "Anga amahitamo y'ishakisha y'urwego rwo hejuru"
+
+#: pdiff.cpp:297
+#, fuzzy
+msgid "Loading A"
+msgstr "A "
+
+#: pdiff.cpp:301
+#, fuzzy
+msgid "Loading B"
+msgstr "Ifungura"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+#, fuzzy
+msgid "Diff: A <-> B"
+msgstr ": A < - > "
+
+#: pdiff.cpp:324 pdiff.cpp:366
+#, fuzzy
+msgid "Linediff: A <-> B"
+msgstr ": A < - > "
+
+#: pdiff.cpp:335
+#, fuzzy
+msgid "Loading C"
+msgstr "Ifungura"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+#, fuzzy
+msgid "Diff: A <-> C"
+msgstr ": A < - > "
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+#, fuzzy
+msgid "Linediff: A <-> C"
+msgstr ": A < - > "
+
+#: pdiff.cpp:526
+#, fuzzy
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"Kuri . \n"
+"icyitonderwa i - Gukomatanya OYA ya:  Nyabibiri Ibyatanzwe . \n"
+"Gukomeza Ku . "
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Ntibyakunze"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+#, fuzzy
+msgid "Opening files..."
+msgstr "Mu Gufungura dosiye"
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Ikosa gufungura idosiye"
+
+#: pdiff.cpp:1139
+#, fuzzy
+msgid "Cutting selection..."
+msgstr "Ihitamo ... "
+
+#: pdiff.cpp:1160
+#, fuzzy
+msgid "Copying selection to clipboard..."
+msgstr "Ihitamo Kuri Ububikokoporora ... "
+
+#: pdiff.cpp:1176
+#, fuzzy
+msgid "Inserting clipboard contents..."
+msgstr "Ububikokoporora Ibigize ... "
+
+#: pdiff.cpp:1685
+#, fuzzy
+msgid "Save && Continue"
+msgstr "Kubika & & Gukomeza "
+
+#: pdiff.cpp:1685
+#, fuzzy
+msgid "Continue Without Saving"
+msgstr "Gukomeza "
+
+#: pdiff.cpp:1892
+#, fuzzy
+msgid "Search complete."
+msgstr "Byuzuye . "
+
+#: pdiff.cpp:1892
+#, fuzzy
+msgid "Search Complete"
+msgstr "Igishushanyombonera cy'Ishakisha"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Ikosa Kurema Ububiko . "
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Configure KDiff3"
+msgstr "Kuboneza Gucapa na KDE"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, fuzzy, no-c-format
+msgid "&Directory"
+msgstr "Ububiko"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Ibikorerwa Ishusho"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Iki cyiciro"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "&Movement"
+msgstr "Igenda"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, fuzzy, no-c-format
+msgid "D&iffview"
+msgstr "Igabanya"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, fuzzy, no-c-format
+msgid "&Merge"
+msgstr "Gukomatanya"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "Idirishya"
+
+#: smalldialogs.cpp:53
+#, fuzzy
+msgid "A (Base):"
+msgstr "A ( Base ) : "
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+#, fuzzy
+msgid "File..."
+msgstr "Idosiye..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+#, fuzzy
+msgid "Dir..."
+msgstr "..."
+
+#: smalldialogs.cpp:86
+#, fuzzy
+msgid "C (Optional):"
+msgstr "(bitari ngombwa)"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+#, fuzzy
+msgid "Output (optional):"
+msgstr "( Bitari ngombwa ) : "
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Kugena imiterere..."
+
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "Umwandiko : "
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Imyandikire y'inyuguti nkuru/nto"
+
+#: smalldialogs.cpp:342
+#, fuzzy
+msgid "Search A"
+msgstr "A "
+
+#: smalldialogs.cpp:347
+#, fuzzy
+msgid "Search B"
+msgstr "Gushaka"
+
+#: smalldialogs.cpp:352
+#, fuzzy
+msgid "Search C"
+msgstr "Gushaka"
+
+#: smalldialogs.cpp:357
+#, fuzzy
+msgid "Search output"
+msgstr "Ibisohoka "
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "Shakisha"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Gukoporora Ihitamo "
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Ibishushanyo by'Intoki"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Byanze . "
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Oya INGARUKA . Bihuye neza Na: Ibikoresho . "
+
+#, fuzzy
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Bihuye neza Na: Ibikoresho . "
+
+#, fuzzy
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "in & "
--- a/kdiff3/po/sr.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/sr.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,40 +1,41 @@
 # translation of kdiff3.po to Serbian
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
 # Chusslove Illich <chaslav@sezampro.yu>, 2003.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2003-12-24 20:06+0100\n"
-"Last-Translator: Chusslove Illich <chaslav@sezampro.yu>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-26 19:41+0100\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
 "Language-Team: Serbian\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.2\n"
+"X-Generator: KBabel 1.9.1\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr "ЧаÑлав Илић"
+msgstr "ЧаÑлав Илић, Слободан Симић"
 
 #: _translatorinfo.cpp:3
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr "chaslav@sezampro.yu"
-
-#: diff.cpp:241
+msgstr "caslav.ilic@gmx.net,simicsl@verat.net"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr ""
-
-#: diff.cpp:245
+msgstr "УпиÑивање података из клипборда у привремени фајл није уÑпело."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Из клипборда"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -42,8 +43,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:425
+"Предобрада је вероватно неуÑпешна. Проверите ову наредбу:\n"
+"\n"
+"  %1\n"
+"\n"
+"Ðаредба предобраде ће Ñада бити иÑкључена."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -51,289 +57,284 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"Предобрада поклапања линија је неуÑпешна. Проверите ову наредбу:\n"
+"\n"
+"  %1\n"
+"\n"
+"Предобрада поклапања линија ће Ñада бити иÑкључена."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
 "Грешка, губитак података:\n"
-"Ðко је можете поновити, контактирајте "
-"аутора.\n"
-
-#: diff.cpp:1270 diff.cpp:1284
+"Ðко је можете поновити, контактирајте аутора.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Озбиљна унутрашња грешка"
 
-#: difftextwindow.cpp:829
-#, fuzzy, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Ðајвиша линија %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Крај"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Мешавина веза и нормалних фајлова."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Веза: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Величина: "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Датум и величина: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
-msgstr ""
-"Прављење привремене копије фајла %1 није "
-"уÑпело."
-
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+msgstr "Прављење привремене копије фајла %1 није уÑпело."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Отварање фајла %1 није уÑпело."
 
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "Снимам фајл..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Упоређујем фајл..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Грешка при читању из %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Име"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Операција"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "СтатуÑ"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
+msgstr "Ðерешен"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Решен"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Ðе-бело"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Бело"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"Тренутно Ñтапате директоријуме. Желите "
-"ли заиÑта да прекинете Ñтапање и поново "
+"Тренутно Ñтапате директоријуме. Желите ли заиÑта да прекинете Ñтапање и поново "
 "Ñкенирате директоријум?"
 
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Поново Ñкенирај"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "ÐаÑтави Ñтапање"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Отварање директоријума није уÑпело:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Дир. Р„%1“ не поÑтоји или није "
-"директоријум.\n"
-
-#: directorymergewindow.cpp:427
+"Дир. Р„%1“ не поÑтоји или није директоријум.\n"
+
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Дир. Б „%1“ не поÑтоји или није "
-"директоријум.\n"
-
-#: directorymergewindow.cpp:430
+"Дир. Б „%1“ не поÑтоји или није директоријум.\n"
+
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"Дир. Ц „%1“ не поÑтоји или није "
-"директоријум.\n"
-
-#: directorymergewindow.cpp:432
+"Дир. Ц „%1“ не поÑтоји или није директоријум.\n"
+
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
-msgstr "Грешка при отварању директоријума."
-
-#: directorymergewindow.cpp:440
+msgstr "Грешка при отварању директоријума"
+
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"Одредишни директоријум не Ñме бити иÑти "
-"као Рили Б када Ñе Ñтапају три "
+"Одредишни директоријум не Ñме бити иÑти као Рили Б када Ñе Ñтапају три "
 "директоријума.\n"
 "Проверите поново пре него наÑтавите."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Упозорење о параметрима"
 
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "Синхронизуј директоријуме"
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Прегледам директоријуме..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Читам директоријум Ð"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Читам директоријум Б"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Читам директоријум Ц"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Ðеки поддиректоријуми ниÑу били читљиви у"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Проверите дозволе поддиректоријума."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Спреман."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€ÐµÑ’ÐµÑšÐ° директоријума"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Број поддиректоријума:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Број једнаких фајлова:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Број различитих фајлова:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Број ручних Ñтапања:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Ово утиче на Ñве операције Ñтапања."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Мењам Ñве операције Ñтапања"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "&ÐаÑтави"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Обрађујем "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Урадити."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Копирај Ру Б"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Копирај Б у Ð"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Обриши Ð"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Обриши Б"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Обриши Ри Б"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Стопи у Ð"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Стопи у Б"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Стопи Ри Б"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Обриши (ако поÑтоји)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Стопи"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Стопи (ручно)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Грешка: Сукобљени типови фајлова"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
-msgstr ""
-"Грешка: Датуми Ñу једнаки али фајлови "
-"ниÑу."
-
-#: directorymergewindow.cpp:1511
+msgstr "Грешка: Датуми Ñу једнаки али фајлови ниÑу."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Ова операција тренутно није могућа."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Операција није могућа"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -343,47 +344,44 @@
 msgstr ""
 "Ово никада не би требало да Ñе деÑи: \n"
 "\n"
-"Ðко знате како ово да поновите, "
-"контактирајте аутора програма."
-
-#: directorymergewindow.cpp:1554
+"Ðко знате како ово да поновите, контактирајте аутора програма."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "ПрограмÑка грешка"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Дошло је до грешке у току копирања.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Грешка Ñтапања"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Грешка."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Готово."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Ðије Ñнимљено."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
-msgstr ""
-"Ðепозната операција Ñтапања. (Ово никад "
-"не Ñме да Ñе деÑи!)"
-
-#: directorymergewindow.cpp:1666
+msgstr "Ðепозната операција Ñтапања. (Ово никад не Ñме да Ñе деÑи!)"
+
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Ðепозната операција Ñтапања."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -396,923 +394,963 @@
 msgstr ""
 "Стапање ће управо почети.\n"
 "\n"
-"Изаберите „Уради“ ако Ñте прочитали "
-"инÑтрукције и знате шта радите.\n"
-"Изаберите „Симулирај“ ако желите да "
-"видите шта би Ñе деÑило.\n"
+"Изаберите „Уради“ ако Ñте прочитали инÑтрукције и знате шта радите.\n"
+"Изаберите „Симулирај“ ако желите да видите шта би Ñе деÑило.\n"
 "\n"
-"Пазите да програм још увек има бета "
-"ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¸ нема ÐИКÐКВИХ ГÐРÐÐЦИЈРуопште! "
-"Ðаправите резерву Ñвојих најважнијих "
-"података!"
-
-#: directorymergewindow.cpp:1686
+"Пазите да програм још увек има бета ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¸ нема ÐИКÐКВИХ ГÐРÐÐЦИЈРуопште! "
+"Ðаправите резерву Ñвојих најважнијих података!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Почињем Ñтапање"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Уради"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Симулирај"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"ИÑтакнута Ñтавка има различит тип у "
-"различитим директоријумима. Изаберите "
-"шта је чинити."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"Датуми измене фајла Ñу једнаки али "
-"фајлови ниÑу. Изаберите шта је чинити."
-
-#: directorymergewindow.cpp:1778
-#, fuzzy
+"ИÑтакнута Ñтавка има различит тип у различитим директоријумима. Изаберите шта "
+"је чинити."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-"Ова операција тренутно није могућа зато "
-"што Ñе директоријуми Ñтапају."
-
-#: directorymergewindow.cpp:1838
+"Датуми измене фајла Ñу једнаки али фајлови ниÑу. Изаберите шта је чинити."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Ова операција тренутно није могућа зато што је Ñтапање директоријума у току."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Дошло је до грешке у поÑледњем кораку.\n"
-"Желите ли да наÑтавите Ñа Ñтавком која је "
-"изазвала грешку или желите да је "
+"Желите ли да наÑтавите Ñа Ñтавком која је изазвала грешку или желите да је "
 "преÑкочите?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "ÐаÑтави Ñтапање поÑле грешке"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "ÐаÑтави Ñа поÑледњом Ñтавком"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "ПреÑкочи Ñтавку"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "ПреÑкочено."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "У току..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Операција Ñтапања је завршена."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Стапање је завршено"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Симулирано Ñтапање је завршено: "
-"Проверите да ли Ñе Ñлажете Ñа предложеним "
+"Симулирано Ñтапање је завршено: Проверите да ли Ñе Ñлажете Ñа предложеним "
 "операцијама."
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
-"Дошло је до грешке. ПритиÑните „У реду“ "
-"да биÑте видели детаљне информације.\n"
-
-#: directorymergewindow.cpp:2020
+"Дошло је до грешке. ПритиÑните „У реду“ да биÑте видели детаљне информације.\n"
+
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
-msgstr ""
-"Грешка: У току бриÑања %1: Прављење резерве "
-"није уÑпело."
-
-#: directorymergewindow.cpp:2027
+msgstr "Грешка: У току бриÑања %1: Прављење резерве није уÑпело."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "обриши директоријум рекурзивно( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "обриши( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-"Грешка: Операција бриÑања директоријума "
-"није уÑпела у току покушаја да Ñе "
+"Грешка: Операција бриÑања директоријума није уÑпела у току покушаја да Ñе "
 "директоријум прочита."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Грешка: Операција rmdir( %1 ) није уÑпела."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Грешка: Операција бриÑања није уÑпела."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "ручно Ñтапање( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-#, fuzzy
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Ðапомена: ПоÑле ручног Ñтапања "
-"кориÑник би требало да наÑтави помоћу F7."
-
-#: directorymergewindow.cpp:2125
+"     Ðапомена: ПоÑле ручног Ñтапања кориÑник би требало да наÑтави помоћу F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Грешка: Копирање( %1 -> %2 ) није уÑпело. "
-"БриÑање поÑтојећег одредишта није уÑпело."
-
-#: directorymergewindow.cpp:2135
+"Грешка: Копирање( %1 -> %2 ) није уÑпело. БриÑање поÑтојећег одредишта није "
+"уÑпело."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "копирање везе( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-"Грешка: Копирање везе није уÑпело: "
-"Удаљене везе још увек ниÑу подржане."
-
-#: directorymergewindow.cpp:2152
+"Грешка: Копирање везе није уÑпело: Удаљене везе још увек ниÑу подржане."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Грешка: Копирање везе није уÑпело."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "копирај( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Грешка у току преименовања( %1 ->"
-" %2 ): Ðе могу да обришем поÑтојеће "
-"одредиште."
-
-#: directorymergewindow.cpp:2204
+"Грешка у току преименовања( %1 -> %2 ): Ðе могу да обришем поÑтојеће одредиште."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "преименуј( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Грешка: Преименовање није уÑпело."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr ""
-"Грешка у току прављења директоријума %1. "
-"Ðе могу да обришем поÑтојећи фајл."
-
-#: directorymergewindow.cpp:2247
+"Грешка у току прављења директоријума %1. Ðе могу да обришем поÑтојећи фајл."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "направи директоријум( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Грешка у току прављења директоријума."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Одр."
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Дир."
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Тип"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Вел."
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Ðтр."
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "ПоÑледња измена"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Веза-одредиште"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "није доÑтупно"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "Р(одр.): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "Р(база): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "Б (одр.): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "Ц (одр.): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Одр.: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Стапање директоријума"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Покрени/наÑтави Ñтапање директоријума"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Покрени операцију за текућу Ñтавку"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Упореди изабрани фајл"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Стопи текући фајл"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Сажми Ñве поддиректоријуме"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Рашири Ñве поддиректоријуме"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Стапање директоријума"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Стапање директоријума"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Изабери Рза Ñве Ñтавке"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Изабери Б за Ñве Ñтавке"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Изабери Ц за Ñве Ñтавке"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
-msgstr ""
-"ÐутоматÑки изабери операцију за Ñве "
-"Ñтавке"
-
-#: directorymergewindow.cpp:2409
+msgstr "ÐутоматÑки изабери операцију за Ñве Ñтавке"
+
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Ðема операције за Ñве Ñтавке"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Синхронизуј директоријуме"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Копирај новији умеÑто Ñтапања (није безбедно)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Број различитих фајлова:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Упореди изабрани фајл"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Упореди изабрани фајл"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Ðе ради ништа"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "Ð"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "Б"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "Ц"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Обриши (ако поÑтоји)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Обриши Ри Б"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "Стопи Ри Б"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Стопи у Ри Б"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"У току покушаја да Ñе направи резерва, "
-"бриÑање Ñтарије резерве није уÑпело.\n"
+"У току покушаја да Ñе направи резерва, бриÑање Ñтарије резерве није уÑпело.\n"
 "Име фајла: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
 msgstr ""
-"У току покушаја да Ñе направи резерва, "
-"преименовање није уÑпело.\n"
+"У току покушаја да Ñе направи резерва, преименовање није уÑпело.\n"
 "Имена фајлова: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Добављам ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ„Ð°Ñ˜Ð»Ð°: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Читам фајл: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Пишем фајл: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Ðема меморије"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Правим директоријум: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Уклањам директоријум: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Уклањам фајл: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Правим Ñимболичку везу: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Уклањам фајл: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Копирам фајл: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Грешка током операције копирања фајлова: "
-"Отварање фајла за читање није уÑпело. Име "
-"фајла: %1"
-
-#: fileaccess.cpp:844
+"Грешка током операције копирања фајлова: Отварање фајла за читање није уÑпело. "
+"Име фајла: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Грешка током операције копирања фајлова: "
-"Отварање фајла за пиÑање није уÑпело. Име "
-"фајла: %1"
-
-#: fileaccess.cpp:859
+"Грешка током операције копирања фајлова: Отварање фајла за пиÑање није уÑпело. "
+"Име фајла: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"Грешка током операције копирања фајлова: "
-"Читање није уÑпело. Име фајла: %1"
-
-#: fileaccess.cpp:868
+"Грешка током операције копирања фајлова: Читање није уÑпело. Име фајла: %1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"Грешка током операције копирања фајлова: "
-"ПиÑање није уÑпело. Име фајла: %1"
-
-#: fileaccess.cpp:1171
+"Грешка током операције копирања фајлова: ПиÑање није уÑпело. Име фајла: %1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Читам директоријум: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "ЛиÑтам директоријум: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Операција Ñинх. текуће Ñтавке"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Грешка при отварању фајла"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
-msgstr ""
-"Опција --auto је употребљена, али није "
-"наведен излазни фајл."
-
-#: kdiff3.cpp:241
+msgstr "Опција --auto је употребљена, али није наведен излазни фајл."
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
-msgstr ""
-"Опција --auto Ñе игнорише за поређење "
-"директоријума."
-
-#: kdiff3.cpp:277
+msgstr "Опција --auto Ñе игнорише за поређење директоријума."
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Снимање није уÑпело."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Отварање ових фајлова није уÑпело:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Грешка при отварању фајла"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Отвара документе за поређење..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr ""
-"Снима резултат Ñтапања. Сви Ñукоби морају "
-"бити разрешени!"
-
-#: kdiff3.cpp:333
+msgstr "Снима резултат Ñтапања. Сви Ñукоби морају бити разрешени!"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Снима текуће документе као..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Излази из програма"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
-msgstr ""
-"ИÑеца изабрану Ñекцију и Ñтавља је у "
-"клипборд"
-
-#: kdiff3.cpp:339
+msgstr "ИÑеца изабрану Ñекцију и Ñтавља је у клипборд"
+
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Копира изабрану Ñекцију у клипборд"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
+msgstr "ПреноÑи Ñадржај клипборда на текућу позицију"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
 msgstr ""
-"ПреноÑи Ñадржај клипборда на текућу "
-"позицију"
-
-#: kdiff3.cpp:343
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Потражи знаковни низ"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Поново потражи знаковни низ"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Укључује/иÑкључује траку Ñа алатима"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Укључује/иÑкључује ÑтатуÑну траку"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "ПодеÑи KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "Иди на текућу делту"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Иди на прву делту"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "Иди на поÑледњу делту"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(преÑкаче разлике у белим размацима када је „Прикажи беле размаке“ иÑкључено.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(не преÑкаче разлике у белим размацима чак и када је „Прикажи беле размаке“ "
+"иÑкључено.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Иди на претходну делту"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Иди на Ñледећу делту"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Иди на претходни Ñукоб"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Иди на Ñледећи Ñукоб"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Иди на претходни нерешени Ñукоб"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Иди на Ñледећи нерешени Ñукоб"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Изаберите линије из Ð"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Изаберите линије из Б"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Изаберите линије из Ц"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
-msgstr ""
-"ÐутоматÑки иди на Ñледећи нерешени Ñукоб "
-"поÑле избора извора"
-
-#: kdiff3.cpp:388
+msgstr "ÐутоматÑки иди на Ñледећи нерешени Ñукоб поÑле избора извора"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
-msgstr ""
-"Прикажи знакове размака и табулатора за "
-"разлике"
-
-#: kdiff3.cpp:389
+msgstr "Прикажи знакове размака и табулатора за разлике"
+
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Прикажи беле размаке"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Прикажи бројеве линија"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Свуда изабери Ð"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Свуда изабери Б"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Свуда изабери Ц"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Изабери Рза Ñве нерешене Ñукобе"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Изабери Б за Ñве нерешене Ñукобе"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Изабери Ц за Ñве нерешене Ñукобе"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Изабери Рза Ñве нерешене Ñукобе белих "
-"размака"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Изабери Б за Ñве нерешене Ñукобе белих "
-"размака"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr ""
-"Изабери Ц за Ñве нерешене Ñукобе белих "
-"размака"
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Изабери Рза Ñве нерешене Ñукобе белих размака"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Изабери Б за Ñве нерешене Ñукобе белих размака"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Изабери Ц за Ñве нерешене Ñукобе белих размака"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "ÐутоматÑки реши једноÑтавне Ñукобе"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "ПоÑтави делте на Ñукобе"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "ÐутоматÑки реши једноÑтавне Ñукобе"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Прикажи прозор Ð"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Прикажи прозор Б"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Прикажи прозор Ц"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "ФокуÑирај Ñледећи прозор"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
+msgstr "Ðормалан преглед"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Преглед Рпрема Б"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Преглед Рпрема Ц"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Преглед Б према Ц"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Diff прозори прелома речи"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
 msgstr ""
 
-#: kdiff3.cpp:410
-msgid "A vs. B Overview"
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
 msgstr ""
 
-#: kdiff3.cpp:411
-msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
-msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
-msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "ФокуÑирај претходни прозор"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Промени оријентацију раздвајања"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Подељени приказ екрана за дир. и текÑÑ‚"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Промени између дир. и текÑÑ‚. приказа"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Резултат Ñтапања није Ñнимљен."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Сними и изађи"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Изађи без Ñнимања"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Снимање резултата Ñтапања није уÑпело."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
-msgstr ""
-"Тренутно Ñтапате директоријуме. Желите "
-"ли заиÑта да прекинете?"
-
-#: kdiff3.cpp:547
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "Тренутно Ñтапате директоријуме. Желите ли заиÑта да прекинете?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Снимам фајл..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Снимам фајл под новим именом..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Излазим..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Операција Ñтапања је завршена."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Излазим..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Укључујем/иÑкључујем траку Ñа алатом..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Укључи/иÑкључи ÑтатуÑну траку..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "ТекÑÑ‚ за претрагу:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Разликује мала и велика Ñлова"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Претражи Ð"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Претражи Б"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Претражи Ц"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Излаз претраге"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Тражи"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "ÐиÑам могао да нађем фајлове за поређење."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "ÐиÑам могао да нађем наш део!\n"
-"Ово Ñе обично дешава због инÑталационог "
-"проблема. Прочитајте фајл README у изворном "
-"пакету за детаље."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Ðлат за разликовање и Ñтапање текÑта"
+"Ово Ñе обично дешава због инÑталационог проблема. Прочитајте фајл README у "
+"изворном пакету за детаље."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Ðлат за упоређивање и Ñтапање фајлова и директоријума"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Стопи улаз."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
-msgstr ""
-"ЕкÑплицитан базни фајл. За "
-"компатибилноÑÑ‚ Ñа одређеним алатима."
-
-#: main.cpp:39
+msgstr "ЕкÑплицитан базни фајл. За компатибилноÑÑ‚ Ñа одређеним алатима."
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Излазни фајл. Имплицира -m. Ðпр.: -o newfile.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "Излазни фајл, поново. (За компатибилноÑÑ‚ Ñа одређеним алатима.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr "Без GUI-ја ако Ñу Ñви Ñукоби аутоматÑки решиви. (Захтева -o file)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "Ðе решавај Ñукобе аутоматÑки. (За компатибилноÑÑ‚...)"
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "Видљива замена имена за улазни фајл 1 (базни)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "Видљива замена имена за улазни фајл 2."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "Видљива замена имена за улазни фајл 3."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr "Ðлтернатива видљивој замени имена. Задајте ово једном за Ñваки улаз."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
 msgstr ""
-"Излазни фајл, поново. (За компатибилноÑÑ‚ "
-"Ñа одређеним алатима.)"
-
-#: main.cpp:41
-msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
 msgstr ""
-"Без GUI-ја ако Ñу Ñви Ñукоби аутоматÑки "
-"решиви. (Захтева -o file)"
-
-#: main.cpp:42
-msgid "Don't solve conflicts automatically. (For compatibility...)"
-msgstr ""
-"Ðе решавај Ñукобе аутоматÑки. (За "
-"компатибилноÑÑ‚...)"
-
-#: main.cpp:43
+
+#: main.cpp:55
 #, fuzzy
-msgid "Visible name replacement for input file 1 (base)."
-msgstr ""
-"Видљива замена имена. Задајте ово једном "
-"за Ñваки улаз."
-
-#: main.cpp:44
-#, fuzzy
-msgid "Visible name replacement for input file 2."
-msgstr ""
-"Видљива замена имена. Задајте ово једном "
-"за Ñваки улаз."
-
-#: main.cpp:45
-#, fuzzy
-msgid "Visible name replacement for input file 3."
-msgstr ""
-"Видљива замена имена. Задајте ово једном "
-"за Ñваки улаз."
-
-#: main.cpp:47
-#, fuzzy
-msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr ""
-"Видљива замена имена. Задајте ово једном "
-"за Ñваки улаз."
-
-#: main.cpp:48
-#, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "За компатибилноÑÑ‚ Ñа одређеним алатима."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "За компатибилноÑÑ‚ Ñа одређеним алатима."
-
-#: main.cpp:52
+msgid "Use a different config file."
+msgstr "Број различитих фајлова:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
-msgstr ""
-"фајл1 за отворање (базни, ако није наведен "
-"преко --base)"
-
-#: main.cpp:53
+msgstr "фајл1 за отварање (базни, ако није наведен преко --base)"
+
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "фајл2 за отворање"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "фајл3 за отворање"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
-
-#: mergeresultwindow.cpp:254
+"+ Много хвала онима који Ñу пријављивали грешке и допринели Ñвојим идејама!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Број преоÑталих нерешених Ñукоба: %1 (од којих Ñу %2 бели размаци)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 msgstr ""
 "Излаз је измењен.\n"
-"Ðко наÑтавите, ваше измене ће бити "
-"изгубљене."
-
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+"Ðко наÑтавите, ваше измене ће бити изгубљене."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Сви улазни фајлови Ñу бинарно једнаки."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Сви улазни фајлови Ñадрже иÑти текÑÑ‚."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Фајлови Ри Б Ñу бинарно једнаки.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Фајлови Ри Б имају једнак текÑÑ‚.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Фајлови Ри Ц Ñу бинарно једнаки.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Фајлови Ри Ц имају једнак текÑÑ‚.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Фајлови Б и Ц Ñу бинарно једнаки.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Фајлови Б и Ц имају једнак текÑÑ‚.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Укупан број Ñукоба: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1320,7 +1358,7 @@
 "\n"
 "Број аутоматÑки решених Ñукоба: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1328,27 +1366,31 @@
 "\n"
 "Број нерешених Ñукоба: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Сукоби"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Ðема изв. линије>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Сукоб у Ñтапању (Ñамо бели размаци)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Сукоб у Ñтапању>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
-msgstr ""
-
-#: mergeresultwindow.cpp:1157
+msgstr "Излаз"
+
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Измењен]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1356,314 +1398,436 @@
 "Још увек ниÑу решени Ñви Ñукоби.\n"
 "Фајл није Ñнимљен.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "ПреоÑтали Ñукоби"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Фајл није Ñнимљен."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Прављење резерве није уÑпело. Фајл није Ñнимљен."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Грешка у Ñнимању фајла"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr ""
-"ÐеÑтало је меморије у току припреме "
-"Ñнимања."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Грешка приликом пиÑања."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8-битно"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Измените ово аке Ñе знакови који ниÑу ASCII не приказују иÑправно."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Фонт уређивача и раз. излаза"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Курзивни фонт за делте"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
 "Бира курзивну верзију фонта за разлике.\n"
-"Ðко фонт не подржава курзивне знакове, "
-"онда ово не ради ништа."
-
-#: optiondialog.cpp:353
+"Ðко фонт не подржава курзивне знакове, онда ово не ради ништа."
+
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Боја"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Боје у уређивачу и раз. излазу"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Регионална подешавања"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Боја иÑцртавања:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Боја позадине:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Боја позадине разлика:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Боја Ð:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Боја Б:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Боја Ц:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Боја Ñукоба:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "ПозадинÑка боја текућег опÑега:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "ПозадинÑка боја текућег опÑега разлика:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€ÐµÑ’ÐµÑšÐ° директоријума"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Уређивач"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Понашање уређивача"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Таб убацује размаке"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
-"Укључено: ПритиÑком на таб генерише Ñе "
-"одговарајући број размака.\n"
+"Укључено: ПритиÑком на таб генерише Ñе одговарајући број размака.\n"
 "ИÑкључено: Знак табулатора ће бити убачен."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Величина таба:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "ÐутоматÑко увлачење"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"Укључено: Увлачење претходне линије "
-"кориÑти Ñе за нову линију.\n"
-
-#: optiondialog.cpp:462
+"Укључено: Увлачење претходне линије кориÑти Ñе за нову линију.\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "ÐутоматÑко копирање избора"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"Укључено: Сваки избор Ñе одмах упиÑује у "
-"клипборд.\n"
-"ИÑкључено: Морате екÑплицитно копирати, "
-"нрп. помоћу Ctrl+C."
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+"Укључено: Сваки избор Ñе одмах упиÑује у клипборд.\n"
+"ИÑкључено: Морате екÑплицитно копирати, нрп. помоћу Ctrl+C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Стил завршетка линије:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-
-#: optiondialog.cpp:482
-msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
-msgstr ""
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "КориÑти локално кодирање"
-
-#: optiondialog.cpp:490
+"ПоÑтавља завршетке линија када Ñе измењени фајл Ñнима.\n"
+"DOS/Windows: CR+LF; Unix: LF; Ñа CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
 #, fuzzy
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-"Измените ово аке Ñе не-ascii знакови не "
-"приказују иÑправно."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+msgid "Diff and Merge"
 msgstr "Разлика и Ñтапање"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "ПоÑтавке разлике и Ñтапања"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Очувај CR"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 "Прикажи CR знакове „\\r“ ако поÑтоје.\n"
-"Помаже да Ñе упореде фајлови који Ñу "
-"мењани под различитим оперативним "
+"Помаже да Ñе упореде фајлови који Ñу мењани под различитим оперативним "
 "ÑиÑтемима."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Игнориши бројеве"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"Игнориши бројевне знакове током фазе "
-"поклапања линија. (Слично игнориÑању "
-"белих размака.)\n"
-"Може вам помоћи при упоређивању фајлова "
-"Ñа нумеричким подацима."
-
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+"Игнориши бројевне знакове током фазе поклапања линија. (Слично игнориÑању белих "
+"размака.)\n"
+"Може вам помоћи при упоређивању фајлова Ñа нумеричким подацима."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Игнориши C/C++ коментаре"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Третирај C/C++ коментаре као беле размаке."
 
-#: optiondialog.cpp:532
-#, fuzzy
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "Игнориши бројеве"
-
-#: optiondialog.cpp:535
+msgstr "Занемари величину Ñлова"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr ""
-
-#: optiondialog.cpp:539
+msgstr "Третира разлику у  величини као промене белог проÑтора. („a“<=>„A“)"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Предобрадна наредба:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"КориÑнички дефиниÑана предобрада. "
-"(Погледајте документацију за детаље.)"
-
-#: optiondialog.cpp:546
+"КориÑнички дефиниÑана предобрада. (Погледајте документацију за детаље.)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Предобрадна наредба за поклапање линија:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
-"Предобрада Ñе кориÑти Ñамо током "
-"поклапања линија.\n"
+"Предобрада Ñе кориÑти Ñамо током поклапања линија.\n"
 "(Погледајте документацију за детаље.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Потруди Ñе (Ñпорије)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
-"Укључује опцију --minimal за Ñпољашње "
-"разликовање.\n"
-"Ðнализа великих фајлова ће бити много "
-"Ñпорија."
-
-#: optiondialog.cpp:561
+"Укључује опцију --minimal за Ñпољашње разликовање.\n"
+"Ðнализа великих фајлова ће бити много Ñпорија."
+
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "ЗаÑтој аутоматÑког напредовања (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"У режиму аутоматÑког напредовања "
-"резултат текућег избора приказује Ñе \n"
-"наведено време, пре Ñкока на Ñледећи "
-"Ñукоб. ОпÑег: 0-2000 ms"
-
-#: optiondialog.cpp:571
+"У режиму аутоматÑког напредовања резултат текућег избора приказује Ñе \n"
+"наведено време, пре Ñкока на Ñледећи Ñукоб. ОпÑег: 0-2000 ms"
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
+msgstr "Подразумевано Ñтапање белих размака два фајла:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "Ручни избор"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Подразумевано Ñтапање белих размака два "
-"фајла:"
-
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "Ручни избор"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+"Дозвољава алгоритму Ñтапања да аутоматÑки изабере улаз за измене Ñамо у белим "
+"размацима."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "Подразумевано Ñтапање белих размака три фајла:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
 msgstr ""
-"Дозвољава алгоритму Ñтапања да "
-"аутоматÑки изабере улаз за измене Ñамо у "
-"белим размацима"
-
-#: optiondialog.cpp:584
-msgid "White space 3-file merge default:"
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
 msgstr ""
-"Подразумевано Ñтапање белих размака три "
-"фајла:"
-
-#: optiondialog.cpp:603
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Стапање директоријума"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Рекурзивни директоријуми"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Да ли да Ñе анализирају поддиректоријуми."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Облици фајлова:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1671,184 +1835,186 @@
 msgstr ""
 "Облици фајлова које треба анализирати.\n"
 "Ðокери: „*“ и „?“\n"
-"Више облика можете навеÑти кориÑтећи "
-"раздвајач: „;“"
-
-#: optiondialog.cpp:626
+"Више облика можете навеÑти кориÑтећи раздвајач: „;“"
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Ðнтиоблици фајлова:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Облици фајлова које треба иÑкључити из "
-"анализе.\n"
+"Облици фајлова које треба иÑкључити из анализе.\n"
 "Ðокери: „*“ и „?“\n"
-"Више облика можете навеÑти кориÑтећи "
-"раздвајач: „;“"
-
-#: optiondialog.cpp:637
+"Више облика можете навеÑти кориÑтећи раздвајач: „;“"
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Ðнтиоблици директоријума:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"Облици директоријума које треба "
-"иÑкључити из анализе.\n"
+"Облици директоријума које треба иÑкључити из анализе.\n"
 "Ðокери: „*“ и „?“\n"
-"Више облика можете навеÑти кориÑтећи "
-"раздвајач: „;“"
-
-#: optiondialog.cpp:648
+"Више облика можете навеÑти кориÑтећи раздвајач: „;“"
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "КориÑти фајл .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
-"Проширује антиоблик на Ñве што би CVS "
-"игнориÑао.\n"
-"Преко локалних фајлова „.cvsignore“ ово може "
-"бити поÑебно по директоријуму."
-
-#: optiondialog.cpp:656
+"Проширује антиоблик на Ñве што би CVS игнориÑао.\n"
+"Преко локалних фајлова „.cvsignore“ ово може бити поÑебно по директоријуму."
+
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Пронађи Ñкривене фајлове и директоријуме"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
-msgstr ""
-"Ðалази фајлове и директоријуме Ñа "
-"атрибутом Ñкривених."
-
-#: optiondialog.cpp:661
+msgstr "Ðалази фајлове и директоријуме Ñа атрибутом Ñкривених."
+
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
-msgstr ""
-"Ðалази фајлове и директоријуме који "
-"почињу Ñа „.“"
-
-#: optiondialog.cpp:665
+msgstr "Ðалази фајлове и директоријуме који почињу Ñа „.“"
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Прати везе фајлова"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Укључено: Пореди фајлове на које показују "
-"везе.\n"
+"Укључено: Пореди фајлове на које показују везе.\n"
 "ИÑкључено: Пореди везе."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Прати везе директоријума"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"Укључено: Пореди директоријуме на које "
-"показују везе.\n"
+"Укључено: Пореди директоријуме на које показују везе.\n"
 "ИÑкључено: Пореди везе."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "ИзлиÑтај Ñамо делте"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
+msgstr "Фајлови и директоријуми без измена неће Ñе појављивати у лиÑти."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
 msgstr ""
-"Фајлови и директоријуми без измена неће "
-"Ñе појављивати у лиÑти."
-
-#: optiondialog.cpp:687
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-#, fuzzy
-msgid "Binary Comparison"
-msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€ÐµÑ’ÐµÑšÐ° директоријума"
-
-#: optiondialog.cpp:692
+msgstr "Режим поређења фајлова"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Бинарно поређење"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "Бинарно поређење за Ñваки фајл. (Подразумевано)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Пуна анализа"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
+"Ради пуну анализу и приказује ÑтатиÑтичке податке у додатним колонама.\n"
+"(Спорије него бинарно поређење, много Ñпорије за бинарне фајлове.)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Веруј датуму измене (није безбедно)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"ПретпоÑтави да Ñу фајлови једнаки ако Ñу "
-"датум измене и дужина фајла једнаки.\n"
-"КориÑно за велике директоријуме или "
-"Ñпоре мреже."
-
-#: optiondialog.cpp:702
+"ПретпоÑтави да Ñу фајлови једнаки ако Ñу датум измене и дужина фајла једнаки.\n"
+"КориÑно за велике директоријуме или Ñпоре мреже."
+
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Веруј величини (није безбедно)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
-"ПретпоÑтави да Ñу фајлови једнаки ако Ñу "
-"њихове дужине једнаке.\n"
-"КориÑно за велике директоријуме или "
-"Ñпоре мреже када Ñе датум измене у току "
+"ПретпоÑтави да Ñу фајлови једнаки ако Ñу њихове дужине једнаке.\n"
+"КориÑно за велике директоријуме или Ñпоре мреже када Ñе датум измене у току "
 "преузимања."
 
-#: optiondialog.cpp:707
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Синхронизуј директоријуме"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
-"Ðуди да Ñкладишти фајлове у оба "
-"директоријума тако\n"
+"Ðуди да Ñкладишти фајлове у оба директоријума тако\n"
 "да Ñу оба директоријума поÑле тога иÑта.\n"
-"Ради Ñамо када Ñе пореде два "
-"директоријума без навођења одредишта."
-
-#: optiondialog.cpp:715
+"Ради Ñамо када Ñе пореде два директоријума без навођења одредишта."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Разлике у белим размацима Ñматрају Ñе једнаким"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Ðко Ñе фајлови разликују Ñамо у белим размацима, Ñматрају Ñе једнаким.\n"
+"Ово је активно Ñамо када Ñе изабере пуна анализа."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
-msgstr ""
-"Копирај новији умеÑто Ñтапања (није "
-"безбедно)"
-
-#: optiondialog.cpp:718
+msgstr "Копирај новији умеÑто Ñтапања (није безбедно)"
+
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1856,42 +2022,107 @@
 msgstr ""
 "Ðе гледај унутра, Ñамо узми новији фајл.\n"
 "(КориÑтите ово Ñамо ако знате шта радите!)\n"
-"Има ефекта Ñамо када Ñе пореде два "
-"директоријума."
-
-#: optiondialog.cpp:723
+"Има ефекта Ñамо када Ñе пореде два директоријума."
+
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Резервиши фајлове (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
-"Када треба Ñнимити фајл преко Ñтарог "
-"фајла, Ñтари фајл ће бити\n"
-"преименован Ñа наÑтавком „.orig“ умеÑто да "
-"буде обриÑан."
-
-#: optiondialog.cpp:753
+"Када треба Ñнимити фајл преко Ñтарог фајла, Ñтари фајл ће бити\n"
+"преименован Ñа наÑтавком „.orig“ умеÑто да буде обриÑан."
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
-msgstr ""
-
-#: optiondialog.cpp:762
+msgstr "Регионална подешавања"
+
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
-msgstr ""
-
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+msgstr "Језик (потребно поновно покретање)"
+
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-
-#: optiondialog.cpp:825
+"Изаберите језик за иÑпиÑе у програму или „Auto“.\n"
+"Да би измена језика била примењена, затворите и поново покрените KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "КориÑти иÑто кодирање за Ñве:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Укључивањем овог можете променити Ñва кодирања променом Ñамо првог.\n"
+"ИÑкључите ово ако Ñу потребна различита поједина подешавања."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Ðапомна: Локално кодирање је "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Кодирање фајла за Ð:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Кодирање фајла за Б:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Кодирање фајла за Ц:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Кодирање фајла за Ñтопљени излаз и Ñнимање:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Кодирање фајла за препроцеÑорке фајлове:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Језици Ñ Ð´ÐµÑна у лево"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Ðеки језици Ñе читају Ñ Ð´ÐµÑна у лево.\n"
+"Ово подешавање ће прилагодити томе приказивач и уређивач."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Операција"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Регионална подешавања"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1902,209 +2133,377 @@
 msgstr ""
 "Изабрали Ñте фонт променљиве ширине.\n"
 "\n"
-"Зато што овај програм не рукује иÑправно "
-"фонтовима променљиве\n"
-"ширине, можете иÑкуÑити проблеме у току "
-"уређивања.\n"
+"Пошто што овај програм не рукује иÑправно фонтовима променљиве\n"
+"ширине, можете иÑкуÑити проблеме у току уређивања.\n"
 "\n"
-"Желите ли да наÑтавите или ћете изабрати "
-"други фонт?"
-
-#: optiondialog.cpp:829
+"Желите ли да наÑтавите или ћете изабрати други фонт?"
+
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Ðекомпатибилан фонт"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "ÐаÑтавите на ÑопÑтвени ризик"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Изаберите други фонт"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
-msgstr ""
-"Ово реÑетује Ñве опције. Ðе Ñамо оне у "
-"текућој теми."
-
-#: pdiff.cpp:257
-#, fuzzy
+msgstr "Ово реÑетује Ñве опције. Ðе Ñамо оне у текућој теми."
+
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
-msgstr "Предобрадна наредба:"
-
-#: pdiff.cpp:262
+msgstr "ПрепроцеÑорка наредба: "
+
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-
-#: pdiff.cpp:263
+"Следеће опције које Ñте изабрали могу изменити податке:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr ""
+"\n"
+"Врло је вероватно да ово не желите приликом Ñтапања.\n"
+"Желите ли да иÑкључите ова подешавања или да наÑтавите даље Ñа њима?"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr ""
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr ""
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "Опција није Ñигурна за Ñтапање"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "КориÑти ове опције при Ñтапању"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "ИÑкључи неÑигурне опције"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Учитавам Ð"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Учитавам Б"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Раз.: Р<-> Б"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Раз.лин.: Р<-> Б"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Учитавам Ц"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Раз.: Б <-> Ц"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Раз.: Р<-> Ц"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Раз.лин.: Б <-> Ц"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Раз.лин.: Р<-> Ц"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
-"Изгледа да неки улазни фајлови ниÑу чиÑто "
-"текÑтуални.\n"
-"Имајте на уму да KDiff3 Ñтапање није "
-"намењено бинарним подацима.\n"
+"Изгледа да неки улазни фајлови ниÑу чиÑто текÑтуални.\n"
+"Имајте на уму да KDiff3 Ñтапање није намењено бинарним подацима.\n"
 "ÐаÑтавите на ÑопÑтвени ризик."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Прекини"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Отварам фајлове..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Грешка при отварању фајла"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "ИÑецам изабрано..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Копирам изабрано у клипборд..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Убацујем Ñадржај клипборда..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Сними и наÑтави"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "ÐаÑтави без Ñнимања"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Претрага је завршена."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Претрага је готова"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Грешка у току прављења директоријума."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "ПодеÑи KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Директоријум"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Операција Ñтапања текуће Ñтавке"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Операција Ñинх. текуће Ñтавке"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Кретање"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iff приказ"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Стопи"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "П&розор"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "Р(база):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Фајл..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Дир..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "Ц (опционо):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Излаз (опционо):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "ПодеÑи..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Прекини"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Отварам фајлове..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Грешка при отварању фајла"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "ИÑецам изабрано..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Копирам изабрано у клипборд..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Убацујем Ñадржај клипборда..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Сними и наÑтави"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "ÐаÑтави без Ñнимања"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Претрага је завршена."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Претрага је готова"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "ПодеÑи KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Директоријум"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Операција Ñтапања текуће Ñтавке"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Операција Ñинх. текуће Ñтавке"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Кретање"
-
-#: rc.cpp:9
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "ТекÑÑ‚ за претрагу:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Разликује мала и велика Ñлова"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Претражи Ð"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Претражи Б"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Претражи Ц"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Излаз претраге"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Тражи"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
 #, fuzzy
-msgid "D&iffview"
-msgstr "KDiff3"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&Стопи"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "П&розор"
+msgid "no selection"
+msgstr "ÐутоматÑко копирање избора"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "Ручни избор"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Снимање није уÑпело."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Ðема ефекта. За компатибилноÑÑ‚ Ñа одређеним алатима."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "За компатибилноÑÑ‚ Ñа одређеним алатима."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Боје у уређивачу и раз. излазу"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "Ðлат за разликовање и Ñтапање текÑта"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Фајл није Ñнимљен."
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "ÐеÑтало је меморије у току припреме Ñнимања."
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "Обриши (ако поÑтоји)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "Обриши Ри Б"
+
+#~ msgid "Merge to A and B"
+#~ msgstr "Стопи Ри Б"
 
 #, fuzzy
 #~ msgid "Error writing temporary file: %1"
@@ -2113,10 +2512,8 @@
 #~ msgid "Convert to upper case"
 #~ msgstr "Претвори у велика Ñлова"
 
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Претвори Ñве знакове малих Ñлова у велика при читању. (нпр.: „а“->„Г)"
+#~ msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
+#~ msgstr "Претвори Ñве знакове малих Ñлова у велика при читању. (нпр.: „а“->„Г)"
 
 #, fuzzy
 #~ msgid "Convert to upper case\n"
@@ -2124,13 +2521,9 @@
 
 #~ msgid ""
 #~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
+#~ "Check if the diff works, if the program can write in the temp folder or if the disk is full.\n"
+#~ "The external diff option will be disabled now and the internal diff will be used."
 #~ msgstr ""
 #~ "Покретање Ñпољашњег разликовања није уÑпело.\n"
-#~ "Проверите да ли то разликовање ради, да ли програм може да пише у "
-#~ "привремени директоријум и да ли има проÑтора на диÑку.\n"
-#~ "Опција Ñпољашњег разликовања ће Ñада бити иÑкључена и кориÑтиће Ñе "
-#~ "унутрашње."
+#~ "Проверите да ли то разликовање ради, да ли програм може да пише у привремени директоријум и да ли има проÑтора на диÑку.\n"
+#~ "Опција Ñпољашњег разликовања ће Ñада бити иÑкључена и кориÑтиће Ñе унутрашње."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/sr@Latn.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2530 @@
+# translation of kdiff3.po to Serbian
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Chusslove Illich <chaslav@sezampro.yu>, 2003.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-26 19:41+0100\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Časlav Ilić, Slobodan Simić"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "caslav.ilic@gmx.net,simicsl@verat.net"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "Upisivanje podataka iz klipborda u privremeni fajl nije uspelo."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Iz klipborda"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"Predobrada je verovatno neuspešna. Proverite ovu naredbu:\n"
+"\n"
+"  %1\n"
+"\n"
+"Naredba predobrade će sada biti iskljuÄena."
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"Predobrada poklapanja linija je neuspešna. Proverite ovu naredbu:\n"
+"\n"
+"  %1\n"
+"\n"
+"Predobrada poklapanja linija će sada biti iskljuÄena."
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Greška, gubitak podataka:\n"
+"Ako je možete ponoviti, kontaktirajte autora.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Ozbiljna unutrašnja greška"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "Najviša linija %1"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Kraj"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "Mešavina veza i normalnih fajlova."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Veza: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "VeliÄina: "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Datum i veliÄina: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "Pravljenje privremene kopije fajla %1 nije uspelo."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Otvaranje fajla %1 nije uspelo."
+
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Upoređujem fajl..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "GreÅ¡ka pri Äitanju iz %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Ime"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Operacija"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "Status"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Nerešen"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Rešen"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Ne-belo"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Belo"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+"Trenutno stapate direktorijume. Želite li zaista da prekinete stapanje i ponovo "
+"skenirate direktorijum?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Ponovo skeniraj"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "Nastavi stapanje"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Otvaranje direktorijuma nije uspelo:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir. A „%1“ ne postoji ili nije direktorijum.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir. B „%1“ ne postoji ili nije direktorijum.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Dir. C „%1“ ne postoji ili nije direktorijum.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Greška pri otvaranju direktorijuma"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"Odredišni direktorijum ne sme biti isti kao A ili B kada se stapaju tri "
+"direktorijuma.\n"
+"Proverite ponovo pre nego nastavite."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "Upozorenje o parametrima"
+
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Pregledam direktorijume..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "ÄŒitam direktorijum A"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "ÄŒitam direktorijum B"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "ÄŒitam direktorijum C"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "Neki poddirektorijumi nisu bili Äitljivi u"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "Proverite dozvole poddirektorijuma."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Spreman."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "Status poređenja direktorijuma"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "Broj poddirektorijuma:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "Broj jednakih fajlova:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "Broj razliÄitih fajlova:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "Broj ruÄnih stapanja:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "Ovo utiÄe na sve operacije stapanja."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "Menjam sve operacije stapanja"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Nastavi"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "Obrađujem "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Uraditi."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "Kopiraj A u B"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "Kopiraj B u A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "Obriši A"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "Obriši B"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "Obriši A i B"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "Stopi u A"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "Stopi u B"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "Stopi A i B"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "Obriši (ako postoji)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "Stopi"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "Stopi (ruÄno)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Greška: Sukobljeni tipovi fajlova"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "Greška: Datumi su jednaki ali fajlovi nisu."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "Ova operacija trenutno nije moguća."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "Operacija nije moguća"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"Ovo nikada ne bi trebalo da se desi: \n"
+"\n"
+"Ako znate kako ovo da ponovite, kontaktirajte autora programa."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Programska greška"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Došlo je do greške u toku kopiranja.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Greška stapanja"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Greška."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Gotovo."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Nije snimljeno."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "Nepoznata operacija stapanja. (Ovo nikad ne sme da se desi!)"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "Nepoznata operacija stapanja."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"Stapanje će upravo poÄeti.\n"
+"\n"
+"Izaberite „Uradi“ ako ste proÄitali instrukcije i znate Å¡ta radite.\n"
+"Izaberite „Simuliraj“ ako želite da vidite šta bi se desilo.\n"
+"\n"
+"Pazite da program još uvek ima beta status i nema NIKAKVIH GARANCIJA uopšte! "
+"Napravite rezervu svojih najvažnijih podataka!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "PoÄinjem stapanje"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "Uradi"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "Simuliraj"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"Istaknuta stavka ima razliÄit tip u razliÄitim direktorijumima. Izaberite Å¡ta "
+"je Äiniti."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Datumi izmene fajla su jednaki ali fajlovi nisu. Izaberite Å¡ta je Äiniti."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Ova operacija trenutno nije moguća zato što je stapanje direktorijuma u toku."
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"Došlo je do greške u poslednjem koraku.\n"
+"Želite li da nastavite sa stavkom koja je izazvala grešku ili želite da je "
+"preskoÄite?"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "Nastavi stapanje posle greške"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "Nastavi sa poslednjom stavkom"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "PreskoÄi stavku"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "PreskoÄeno."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "U toku..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "Operacija stapanja je završena."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "Stapanje je završeno"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr ""
+"Simulirano stapanje je završeno: Proverite da li se slažete sa predloženim "
+"operacijama."
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"Došlo je do greške. Pritisnite „U redu“ da biste videli detaljne informacije.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "Greška: U toku brisanja %1: Pravljenje rezerve nije uspelo."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "obriši direktorijum rekurzivno( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "obriši( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr ""
+"Greška: Operacija brisanja direktorijuma nije uspela u toku pokušaja da se "
+"direktorijum proÄita."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Greška: Operacija rmdir( %1 ) nije uspela."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Greška: Operacija brisanja nije uspela."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "ruÄno stapanje( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Napomena: Posle ruÄnog stapanja korisnik bi trebalo da nastavi pomoću F7."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+"Greška: Kopiranje( %1 -> %2 ) nije uspelo. Brisanje postojećeg odredišta nije "
+"uspelo."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "kopiranje veze( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr ""
+"Greška: Kopiranje veze nije uspelo: Udaljene veze još uvek nisu podržane."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "Greška: Kopiranje veze nije uspelo."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "kopiraj( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+"Greška u toku preimenovanja( %1 -> %2 ): Ne mogu da obrišem postojeće "
+"odredište."
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "preimenuj( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Greška: Preimenovanje nije uspelo."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+"Greška u toku pravljenja direktorijuma %1. Ne mogu da obrišem postojeći fajl."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "napravi direktorijum( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Greška u toku pravljenja direktorijuma."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "Odr."
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Dir."
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Tip"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Vel."
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "Atr."
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Poslednja izmena"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "Veza-odredište"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "nije dostupno"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (odr.): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (baza): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (odr.): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (odr.): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "Odr.: "
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Stapanje direktorijuma"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "Pokreni/nastavi stapanje direktorijuma"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "Pokreni operaciju za tekuću stavku"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "Uporedi izabrani fajl"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Stopi tekući fajl"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "Sažmi sve poddirektorijume"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "Raširi sve poddirektorijume"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Stapanje direktorijuma"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Stapanje direktorijuma"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "Izaberi A za sve stavke"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "Izaberi B za sve stavke"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "Izaberi C za sve stavke"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "Automatski izaberi operaciju za sve stavke"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "Nema operacije za sve stavke"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Sinhronizuj direktorijume"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Kopiraj noviji umesto stapanja (nije bezbedno)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Broj razliÄitih fajlova:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Uporedi izabrani fajl"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Uporedi izabrani fajl"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Ne radi ništa"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "Obriši A i B"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "Stopi u A i B"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"U toku pokušaja da se napravi rezerva, brisanje starije rezerve nije uspelo.\n"
+"Ime fajla: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"U toku pokušaja da se napravi rezerva, preimenovanje nije uspelo.\n"
+"Imena fajlova: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "Dobavljam status fajla: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "ÄŒitam fajl: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "Pišem fajl: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Nema memorije"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "Pravim direktorijum: %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "Uklanjam direktorijum: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "Uklanjam fajl: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "Pravim simboliÄku vezu: %1 -> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Uklanjam fajl: %1 -> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "Kopiram fajl: %1 -> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"GreÅ¡ka tokom operacije kopiranja fajlova: Otvaranje fajla za Äitanje nije "
+"uspelo. Ime fajla: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Greška tokom operacije kopiranja fajlova: Otvaranje fajla za pisanje nije "
+"uspelo. Ime fajla: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+"Greška tokom operacije kopiranja fajlova: Čitanje nije uspelo. Ime fajla: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+"Greška tokom operacije kopiranja fajlova: Pisanje nije uspelo. Ime fajla: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "ÄŒitam direktorijum: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "Listam direktorijum: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Operacija sinh. tekuće stavke"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Greška pri otvaranju fajla"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "Opcija --auto je upotrebljena, ali nije naveden izlazni fajl."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "Opcija --auto se ignoriše za poređenje direktorijuma."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "Snimanje nije uspelo."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "Otvaranje ovih fajlova nije uspelo:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Greška pri otvaranju fajla"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "Otvara dokumente za poređenje..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr "Snima rezultat stapanja. Svi sukobi moraju biti razrešeni!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "Snima tekuće dokumente kao..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Izlazi iz programa"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Iseca izabranu sekciju i stavlja je u klipbord"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "Kopira izabranu sekciju u klipbord"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "Prenosi sadržaj klipborda na tekuću poziciju"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Potraži znakovni niz"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Ponovo potraži znakovni niz"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "UkljuÄuje/iskljuÄuje traku sa alatima"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "UkljuÄuje/iskljuÄuje statusnu traku"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Podesi KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "Idi na tekuću deltu"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "Idi na prvu deltu"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Idi na poslednju deltu"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(preskaÄe razlike u belim razmacima kada je „Prikaži bele razmake“ iskljuÄeno.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(ne preskaÄe razlike u belim razmacima Äak i kada je „Prikaži bele razmake“ "
+"iskljuÄeno.)"
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "Idi na prethodnu deltu"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "Idi na sledeću deltu"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "Idi na prethodni sukob"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "Idi na sledeći sukob"
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "Idi na prethodni nerešeni sukob"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "Idi na sledeći nerešeni sukob"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "Izaberite linije iz A"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "Izaberite linije iz B"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "Izaberite linije iz C"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr "Automatski idi na sledeći nerešeni sukob posle izbora izvora"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "Prikaži znakove razmaka i tabulatora za razlike"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Prikaži bele razmake"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Prikaži brojeve linija"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "Svuda izaberi A"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "Svuda izaberi B"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "Svuda izaberi C"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Izaberi A za sve nerešene sukobe"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Izaberi B za sve nerešene sukobe"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Izaberi C za sve nerešene sukobe"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Izaberi A za sve nerešene sukobe belih razmaka"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Izaberi B za sve nerešene sukobe belih razmaka"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Izaberi C za sve nerešene sukobe belih razmaka"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Automatski reši jednostavne sukobe"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "Postavi delte na sukobe"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Automatski reši jednostavne sukobe"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Prikaži prozor A"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Prikaži prozor B"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Prikaži prozor C"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "Fokusiraj sledeći prozor"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Normalan pregled"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Pregled A prema B"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Pregled A prema C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Pregled B prema C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Diff prozori preloma reÄi"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "Fokusiraj prethodni prozor"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "Promeni orijentaciju razdvajanja"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "Podeljeni prikaz ekrana za dir. i tekst"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "Promeni između dir. i tekst. prikaza"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "Rezultat stapanja nije snimljen."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Snimi i izađi"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Izađi bez snimanja"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "Snimanje rezultata stapanja nije uspelo."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "Trenutno stapate direktorijume. Želite li zaista da prekinete?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Snimam fajl..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Snimam fajl pod novim imenom..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Izlazim..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Operacija stapanja je završena."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Izlazim..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "UkljuÄujem/iskljuÄujem traku sa alatom..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "UkljuÄi/iskljuÄi statusnu traku..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "Nisam mogao da nađem fajlove za poređenje."
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"Nisam mogao da nađem naš deo!\n"
+"Ovo se obiÄno deÅ¡ava zbog instalacionog problema. ProÄitajte fajl README u "
+"izvornom paketu za detalje."
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Alat za upoređivanje i stapanje fajlova i direktorijuma"
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "Stopi ulaz."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr "Eksplicitan bazni fajl. Za kompatibilnost sa određenim alatima."
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "Izlazni fajl. Implicira -m. Npr.: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "Izlazni fajl, ponovo. (Za kompatibilnost sa određenim alatima.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr "Bez GUI-ja ako su svi sukobi automatski rešivi. (Zahteva -o file)"
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr "Ne rešavaj sukobe automatski. (Za kompatibilnost...)"
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "Vidljiva zamena imena za ulazni fajl 1 (bazni)."
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "Vidljiva zamena imena za ulazni fajl 2."
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "Vidljiva zamena imena za ulazni fajl 3."
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr "Alternativa vidljivoj zameni imena. Zadajte ovo jednom za svaki ulaz."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Broj razliÄitih fajlova:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr "fajl1 za otvaranje (bazni, ako nije naveden preko --base)"
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr "fajl2 za otvoranje"
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr "fajl3 za otvoranje"
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+"+ Mnogo hvala onima koji su prijavljivali greške i doprineli svojim idejama!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Broj preostalih nerešenih sukoba: %1 (od kojih su %2 beli razmaci)"
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+"Izlaz je izmenjen.\n"
+"Ako nastavite, vaše izmene će biti izgubljene."
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr "Svi ulazni fajlovi su binarno jednaki."
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr "Svi ulazni fajlovi sadrže isti tekst."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+"Fajlovi A i B su binarno jednaki.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+"Fajlovi A i B imaju jednak tekst.\n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+"Fajlovi A i C su binarno jednaki.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+"Fajlovi A i C imaju jednak tekst.\n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+"Fajlovi B i C su binarno jednaki.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+"Fajlovi B i C imaju jednak tekst.\n"
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr "Ukupan broj sukoba: "
+
+#: mergeresultwindow.cpp:810
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr ""
+"\n"
+"Broj automatski rešenih sukoba: "
+
+#: mergeresultwindow.cpp:811
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr ""
+"\n"
+"Broj nerešenih sukoba: "
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr "Sukobi"
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr "<Nema izv. linije>"
+
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Sukob u stapanju (samo beli razmaci)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+msgid "<Merge Conflict>"
+msgstr "<Sukob u stapanju>"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr "Izlaz"
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr "[Izmenjen]"
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+"Još uvek nisu rešeni svi sukobi.\n"
+"Fajl nije snimljen.\n"
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr "Preostali sukobi"
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+"\n"
+"\n"
+"Pravljenje rezerve nije uspelo. Fajl nije snimljen."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+msgid "File Save Error"
+msgstr "Greška u snimanju fajla"
+
+#: mergeresultwindow.cpp:2566
+msgid "Error while writing."
+msgstr "Greška prilikom pisanja."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8-bitno"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Izmenite ovo ake se znakovi koji nisu ASCII ne prikazuju ispravno."
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr "Font ureÄ‘ivaÄa i raz. izlaza"
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr "Kurzivni font za delte"
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+"Bira kurzivnu verziju fonta za razlike.\n"
+"Ako font ne podržava kurzivne znakove, onda ovo ne radi ništa."
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr "Boja"
+
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "Regionalna podešavanja"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr "Boja iscrtavanja:"
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr "Boja pozadine:"
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr "Boja pozadine razlika:"
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr "Boja A:"
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr "Boja B:"
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr "Boja C:"
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr "Boja sukoba:"
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr "Pozadinska boja tekućeg opsega:"
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "Pozadinska boja tekućeg opsega razlika:"
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Status poređenja direktorijuma"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr "UreÄ‘ivaÄ"
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr "PonaÅ¡anje ureÄ‘ivaÄa"
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr "Tab ubacuje razmake"
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+"UkljuÄeno: Pritiskom na tab generiÅ¡e se odgovarajući broj razmaka.\n"
+"IskljuÄeno: Znak tabulatora će biti ubaÄen."
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr "VeliÄina taba:"
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr "Automatsko uvlaÄenje"
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+"UkljuÄeno: UvlaÄenje prethodne linije koristi se za novu liniju.\n"
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr "Automatsko kopiranje izbora"
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+"UkljuÄeno: Svaki izbor se odmah upisuje u klipbord.\n"
+"IskljuÄeno: Morate eksplicitno kopirati, nrp. pomoću Ctrl+C."
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "Stil završetka linije:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+"Postavlja završetke linija kada se izmenjeni fajl snima.\n"
+"DOS/Windows: CR+LF; Unix: LF; sa CR=0D, LF=0A"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "Razlika i stapanje"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Postavke razlike i stapanja"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr "OÄuvaj CR"
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+"Prikaži CR znakove „\\r“ ako postoje.\n"
+"Pomaže da se uporede fajlovi koji su menjani pod razliÄitim operativnim "
+"sistemima."
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr "Ignoriši brojeve"
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+"IgnoriÅ¡i brojevne znakove tokom faze poklapanja linija. (SliÄno ignorisanju "
+"belih razmaka.)\n"
+"Može vam pomoći pri uporeÄ‘ivanju fajlova sa numeriÄkim podacima."
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr "Ignoriši C/C++ komentare"
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr "Tretiraj C/C++ komentare kao bele razmake."
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr "Zanemari veliÄinu slova"
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr "Tretira razliku u  veliÄini kao promene belog prostora. („a“<=>„A“)"
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr "Predobradna naredba:"
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+"KorisniÄki definisana predobrada. (Pogledajte dokumentaciju za detalje.)"
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr "Predobradna naredba za poklapanje linija:"
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+"Predobrada se koristi samo tokom poklapanja linija.\n"
+"(Pogledajte dokumentaciju za detalje.)"
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr "Potrudi se (sporije)"
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+"UkljuÄuje opciju --minimal za spoljaÅ¡nje razlikovanje.\n"
+"Analiza velikih fajlova će biti mnogo sporija."
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr "Zastoj automatskog napredovanja (ms):"
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+"U režimu automatskog napredovanja rezultat tekućeg izbora prikazuje se \n"
+"navedeno vreme, pre skoka na sledeći sukob. Opseg: 0-2000 ms"
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "Podrazumevano stapanje belih razmaka dva fajla:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "RuÄni izbor"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+"Dozvoljava algoritmu stapanja da automatski izabere ulaz za izmene samo u belim "
+"razmacima."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "Podrazumevano stapanje belih razmaka tri fajla:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+msgid "Directory Merge"
+msgstr "Stapanje direktorijuma"
+
+#: optiondialog.cpp:951
+msgid "Recursive directories"
+msgstr "Rekurzivni direktorijumi"
+
+#: optiondialog.cpp:953
+msgid "Whether to analyze subdirectories or not."
+msgstr "Da li da se analiziraju poddirektorijumi."
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr "Oblici fajlova:"
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Oblici fajlova koje treba analizirati.\n"
+"Džokeri: „*“ i „?“\n"
+"ViÅ¡e oblika možete navesti koristeći razdvajaÄ: „;“"
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr "Antioblici fajlova:"
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Oblici fajlova koje treba iskljuÄiti iz analize.\n"
+"Džokeri: „*“ i „?“\n"
+"ViÅ¡e oblika možete navesti koristeći razdvajaÄ: „;“"
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr "Antioblici direktorijuma:"
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+"Oblici direktorijuma koje treba iskljuÄiti iz analize.\n"
+"Džokeri: „*“ i „?“\n"
+"ViÅ¡e oblika možete navesti koristeći razdvajaÄ: „;“"
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr "Koristi fajl .cvsignore"
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+"Proširuje antioblik na sve što bi CVS ignorisao.\n"
+"Preko lokalnih fajlova „.cvsignore“ ovo može biti posebno po direktorijumu."
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr "Pronađi skrivene fajlove i direktorijume"
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr "Nalazi fajlove i direktorijume sa atributom skrivenih."
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr "Nalazi fajlove i direktorijume koji poÄinju sa „.“"
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr "Prati veze fajlova"
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"UkljuÄeno: Poredi fajlove na koje pokazuju veze.\n"
+"IskljuÄeno: Poredi veze."
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr "Prati veze direktorijuma"
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+"UkljuÄeno: Poredi direktorijume na koje pokazuju veze.\n"
+"IskljuÄeno: Poredi veze."
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr "Izlistaj samo delte"
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr "Fajlovi i direktorijumi bez izmena neće se pojavljivati u listi."
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr "Režim poređenja fajlova"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "Binarno poređenje"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr "Binarno poređenje za svaki fajl. (Podrazumevano)"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "Puna analiza"
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+"Radi punu analizu i prikazuje statistiÄke podatke u dodatnim kolonama.\n"
+"(Sporije nego binarno poređenje, mnogo sporije za binarne fajlove.)"
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr "Veruj datumu izmene (nije bezbedno)"
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+"Pretpostavi da su fajlovi jednaki ako su datum izmene i dužina fajla jednaki.\n"
+"Korisno za velike direktorijume ili spore mreže."
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr "Veruj veliÄini (nije bezbedno)"
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+"Pretpostavi da su fajlovi jednaki ako su njihove dužine jednake.\n"
+"Korisno za velike direktorijume ili spore mreže kada se datum izmene u toku "
+"preuzimanja."
+
+#: optiondialog.cpp:1059
+msgid "Synchronize directories"
+msgstr "Sinhronizuj direktorijume"
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+"Nudi da skladišti fajlove u oba direktorijuma tako\n"
+"da su oba direktorijuma posle toga ista.\n"
+"Radi samo kada se porede dva direktorijuma bez navođenja odredišta."
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Razlike u belim razmacima smatraju se jednakim"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Ako se fajlovi razlikuju samo u belim razmacima, smatraju se jednakim.\n"
+"Ovo je aktivno samo kada se izabere puna analiza."
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr "Kopiraj noviji umesto stapanja (nije bezbedno)"
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+"Ne gledaj unutra, samo uzmi noviji fajl.\n"
+"(Koristite ovo samo ako znate šta radite!)\n"
+"Ima efekta samo kada se porede dva direktorijuma."
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr "Rezerviši fajlove (.orig)"
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+"Kada treba snimiti fajl preko starog fajla, stari fajl će biti\n"
+"preimenovan sa nastavkom „.orig“ umesto da bude obrisan."
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr "Regionalna podešavanja"
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr "Jezik (potrebno ponovno pokretanje)"
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+"Izaberite jezik za ispise u programu ili „Auto“.\n"
+"Da bi izmena jezika bila primenjena, zatvorite i ponovo pokrenite KDiff3."
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Koristi isto kodiranje za sve:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"UkljuÄivanjem ovog možete promeniti sva kodiranja promenom samo prvog.\n"
+"IskljuÄite ovo ako su potrebna razliÄita pojedina podeÅ¡avanja."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Napomna: Lokalno kodiranje je "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Kodiranje fajla za A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Kodiranje fajla za B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Kodiranje fajla za C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Kodiranje fajla za stopljeni izlaz i snimanje:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Kodiranje fajla za preprocesorke fajlove:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Jezici s desna u levo"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Neki jezici se Äitaju s desna u levo.\n"
+"Ovo podeÅ¡avanje će prilagoditi tome prikazivaÄ i ureÄ‘ivaÄ."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Operacija"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "Regionalna podešavanja"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+"Izabrali ste font promenljive širine.\n"
+"\n"
+"Pošto što ovaj program ne rukuje ispravno fontovima promenljive\n"
+"širine, možete iskusiti probleme u toku uređivanja.\n"
+"\n"
+"Želite li da nastavite ili ćete izabrati drugi font?"
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr "Nekompatibilan font"
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr "Nastavite na sopstveni rizik"
+
+#: optiondialog.cpp:1385
+msgid "Select Another Font"
+msgstr "Izaberite drugi font"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr "Ovo resetuje sve opcije. Ne samo one u tekućoj temi."
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr "Preprocesorka naredba: "
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+"Sledeće opcije koje ste izabrali mogu izmeniti podatke:\n"
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+"\n"
+"Vrlo je verovatno da ovo ne želite prilikom stapanja.\n"
+"Želite li da iskljuÄite ova podeÅ¡avanja ili da nastavite dalje sa njima?"
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr "Opcija nije sigurna za stapanje"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "Koristi ove opcije pri stapanju"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "IskljuÄi nesigurne opcije"
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr "UÄitavam A"
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr "UÄitavam B"
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr "Raz.: A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr "Raz.lin.: A <-> B"
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr "UÄitavam C"
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr "Raz.: B <-> C"
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr "Raz.: A <-> C"
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr "Raz.lin.: B <-> C"
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr "Raz.lin.: A <-> C"
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+"Izgleda da neki ulazni fajlovi nisu Äisto tekstualni.\n"
+"Imajte na umu da KDiff3 stapanje nije namenjeno binarnim podacima.\n"
+"Nastavite na sopstveni rizik."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Prekini"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Otvaram fajlove..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Greška pri otvaranju fajla"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Isecam izabrano..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopiram izabrano u klipbord..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Ubacujem sadržaj klipborda..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Snimi i nastavi"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Nastavi bez snimanja"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Pretraga je završena."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Pretraga je gotova"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Greška u toku pravljenja direktorijuma."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Podesi KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Direktorijum"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Operacija stapanja tekuće stavke"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Operacija sinh. tekuće stavke"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Kretanje"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "D&iff prikaz"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&Stopi"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "P&rozor"
+
+#: smalldialogs.cpp:53
+msgid "A (Base):"
+msgstr "A (baza):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr "Fajl..."
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+msgid "Dir..."
+msgstr "Dir..."
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr "C (opciono):"
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr "Izlaz (opciono):"
+
+#: smalldialogs.cpp:161
+msgid "Configure..."
+msgstr "Podesi..."
+
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Tekst za pretragu:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Razlikuje mala i velika slova"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Pretraži A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Pretraži B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Pretraži C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Izlaz pretrage"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Traži"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "Automatsko kopiranje izbora"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "RuÄni izbor"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Snimanje nije uspelo."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Nema efekta. Za kompatibilnost sa određenim alatima."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Za kompatibilnost sa određenim alatima."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Boje u ureÄ‘ivaÄu i raz. izlazu"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "Alat za razlikovanje i stapanje teksta"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "Fajl nije snimljen."
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "Nestalo je memorije u toku pripreme snimanja."
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "Obriši (ako postoji)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "Obriši A i B"
+
+#~ msgid "Merge to A and B"
+#~ msgstr "Stopi A i B"
+
+#, fuzzy
+#~ msgid "Error writing temporary file: %1"
+#~ msgstr "Pišem fajl: %1"
+
+#~ msgid "Convert to upper case"
+#~ msgstr "Pretvori u velika slova"
+
+#~ msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
+#~ msgstr "Pretvori sve znakove malih slova u velika pri Äitanju. (npr.: „a“->„A“)"
+
+#, fuzzy
+#~ msgid "Convert to upper case\n"
+#~ msgstr "Pretvori u velika slova"
+
+#~ msgid ""
+#~ "Running the external diff failed.\n"
+#~ "Check if the diff works, if the program can write in the temp folder or if the disk is full.\n"
+#~ "The external diff option will be disabled now and the internal diff will be used."
+#~ msgstr ""
+#~ "Pokretanje spoljašnjeg razlikovanja nije uspelo.\n"
+#~ "Proverite da li to razlikovanje radi, da li program može da piše u privremeni direktorijum i da li ima prostora na disku.\n"
+#~ "Opcija spoljaÅ¡njeg razlikovanja će sada biti iskljuÄena i koristiće se unutraÅ¡nje."
--- a/kdiff3/po/sv.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/sv.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,18 +1,18 @@
-# translation of kdiff3.po to Svenska
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Stefan Asserhäll <stefan.asserhall@comhem.se>, 2004.
+# translation of kdiff3.po to Swedish
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 #
+# Stefan Asserhäll <stefan.asserhall@comhem.se>, 2004, 2005, 2006.
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-05-31 09:40+0200\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2006-04-01 08:43+0200\n"
 "Last-Translator: Stefan Asserhäll <stefan.asserhall@comhem.se>\n"
-"Language-Team: Svenska <sv@li.org>\n"
+"Language-Team: Swedish <sv@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9\n"
+"X-Generator: KBabel 1.11.2\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -26,15 +26,15 @@
 "Your emails"
 msgstr "stefan.asserhall@comhem.se"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
 msgstr "Skrivning av klippbordsdata till tillfällig fil misslyckades."
 
-#: diff.cpp:245
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Från klippbord"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -48,7 +48,7 @@
 "\n"
 "Preprocessingkommandot inaktiveras nu."
 
-#: diff.cpp:425
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -56,14 +56,13 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"Preprocessingen för radmatchning misslyckades möjligen. Kontrollera "
-"kommandot:\n"
+"Preprocessingen för radmatchning misslyckades möjligen. Kontrollera kommandot:\n"
 "\n"
 "  %1\n"
 "\n"
 "Preprocessingen för radmatchning inaktiveras nu."
 
-#: diff.cpp:1268 diff.cpp:1282
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -71,268 +70,268 @@
 "Dataförlustfel:\n"
 "Om det går att upprepa, kontakta upphovsmannen.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Allvarligt internt fel"
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
-msgstr "Övre rad %1"
-
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+msgid "Top line"
+msgstr "Övre rad"
+
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Slut"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Blandning av länkar och normala filer."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "Länk: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Storlek: "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "Datum och storlek: "
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "Att skapa tillfällig kopia av %1 misslyckades."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "Öppna %1 misslyckades."
 
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
 msgstr "Jämför fil..."
 
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "Fel vid läsning från %1"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "Namn"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "Åtgärd"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Status"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
 msgstr "Olöst"
 
-#: directorymergewindow.cpp:259
+#: directorymergewindow.cpp:289
 msgid "Solved"
 msgstr "Löst"
 
-#: directorymergewindow.cpp:260
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
 msgstr "Inte blank"
 
-#: directorymergewindow.cpp:261
+#: directorymergewindow.cpp:291
 msgid "White"
 msgstr "Blank"
 
-#: directorymergewindow.cpp:289
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"Du håller för närvarande på med att sammanfoga kataloger. Är du säker "
-"på att du vill avbryta den och avsöka katalogen igen?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Du håller för närvarande på med att sammanfoga kataloger. Är du säker på att du "
+"vill avbryta den och avsöka katalogen igen?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Avsök igen"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "Fortsätt sammanfoga"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Öppna katalogerna misslyckades:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog A \"%1\" finns inte eller är inte en katalog.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog B \"%1\" finns inte eller är inte en katalog.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "Katalog C \"%1\" finns inte eller är inte en katalog.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Fel vid öppna katalog"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"Målkatalogen får inte vara samma som A eller B när tre kataloger "
-"sammanfogas.\n"
+"Målkatalogen får inte vara samma som A eller B när tre kataloger sammanfogas.\n"
 "Kontrollera igen innan du fortsätter."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parametervarning"
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
 msgstr "Söker i kataloger..."
 
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "Läser katalog A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "Läser katalog B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "Läser katalog C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Vissa underkataloger kunde inte läsas i"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Kontrollera rättigheter för underkatalogerna."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Klar."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "Status för katalogjämförelse"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Antal underkataloger:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Antal likadana filer:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Antal olika filer:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "Antal manuella sammanfogningar:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Det här påverkar alla sammanfogningsåtgärder."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Ändra alla sammanfogningsåtgärder"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "F&ortsätt"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "Behandlar "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Att göra."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "Kopiera A till B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "Kopiera B till A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "Ta bort A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "Ta bort B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "Ta bort A och B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "Sammanfoga till A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "Sammanfoga till B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "Sammanfoga till A och B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "Ta bort (om den finns)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "Sammanfoga"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "Sammanfoga (manuellt)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Fel: Konflikt i filtyper"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Fel: Datum är lika men filerna är det inte."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
 msgstr "Den här åtgärden är för närvarande inte möjlig att utföra."
 
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "Åtgärd inte möjlig"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -346,42 +345,42 @@
 "\n"
 "Om du vet hur du kan upprepa detta, kontakta programmets upphovsman."
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Programfel"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Ett fel uppstod vid kopiering.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Sammanfogningsfel"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Fel."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Klar."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Inte sparad."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Okänd sammanfogningsåtgärd. (Det här får aldrig inträffa!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Okänd sammanfogningsåtgärd."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -398,311 +397,355 @@
 "Genom att välja \"Simulera det\" får du reda på vad som skulle hända.\n"
 "\n"
 "Var medveten om att det här programmet fortfarande har beta-status, och det "
-"finns INGA GARANTIER överhuvudtaget! Gör säkerhetskopior av viktig "
-"information!"
-
-#: directorymergewindow.cpp:1686
+"finns INGA GARANTIER överhuvudtaget! Gör säkerhetskopior av viktig information!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Startar sammanfogning"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Gör det"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Simulera det"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"Det markerade objektet har olika typ i de olika katalogerna. Välj vad du "
-"vill göra."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"Ändringsdatum för filerna är samma, men filerna är det inte. Välj vad "
-"du vill göra."
-
-#: directorymergewindow.cpp:1778
+"Det markerade objektet har olika typ i de olika katalogerna. Välj vad du vill "
+"göra."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-"Den här åtgärden är för närvarande inte möjlig eftersom "
-"katalogsammanfogning för närvarande kör."
-
-#: directorymergewindow.cpp:1838
+"Ändringsdatum för filerna är samma, men filerna är det inte. Välj vad du vill "
+"göra."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"Den här åtgärden är för närvarande inte möjlig eftersom katalogsammanfogning "
+"för närvarande kör."
+
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Ett fel uppstod under föregående steg.\n"
-"Vill du fortsätta med objektet som orsakade felet, eller vill du hoppa "
-"över objektet?"
-
-#: directorymergewindow.cpp:1840
+"Vill du fortsätta med objektet som orsakade felet, eller vill du hoppa över "
+"objektet?"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Fortsätt sammanfoga efter ett fel"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Fortsätt med sista objekt"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Hoppa över objekt"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Överhoppad."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "Pågår..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Sammanfogningsåtgärd färdig."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Sammanfogning färdig"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"Simulerad sammanfogning färdig. Kontrollera om du håller med om de "
-"föreslagna åtgärderna."
-
-#: directorymergewindow.cpp:1977
+"Simulerad sammanfogning färdig. Kontrollera om du håller med om de föreslagna "
+"åtgärderna."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Ett fel uppstod. Tryck på Ok för att se detaljerad information.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Fel: Vid borttagning av %1: Misslyckades skapa säkerhetskopia."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "Ta bort katalog rekursivt (%1)"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "Ta bort (%1)"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr ""
-"Fel: Borttagningsåtgärd för katalog misslyckades när katalogen skulle "
-"läsas."
-
-#: directorymergewindow.cpp:2063
+"Fel: Borttagningsåtgärd för katalog misslyckades när katalogen skulle läsas."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Fel: Åtgärden rmdir (%1) misslyckades."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Fel: Borttagningsåtgärden misslyckades."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "Manuell sammanfogning (%1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"     Observera: Efter en manuell sammanfogning bör användaren fortsätta "
-"genom att trycka på F7."
-
-#: directorymergewindow.cpp:2125
+"     Observera: Efter en manuell sammanfogning bör användaren fortsätta genom "
+"att trycka på F7."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
 "Fel: Kopiering (%1 -> %2) misslyckades. Borttagning av befintlig fil "
 "misslyckades."
 
-#: directorymergewindow.cpp:2135
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "Kopiera länk (%1 -> %2)"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr "Fel: Kopiera länk misslyckades: Fjärrlänkar stöds inte ännu."
 
-#: directorymergewindow.cpp:2152
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
 msgstr "Fel: Kopiera länk misslyckades."
 
-#: directorymergewindow.cpp:2172
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "Kopiera (%1 -> %2)"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr "Fel vid namnbyte (%1 -> %2): Kan inte ta bort befintlig fil."
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "Byt namn (%1 -> %2)"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Fel: Namnbyte misslyckades."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "Fel när katalogen %1 skulle skapas: Kan inte ta bort befintlig fil."
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "Skapa katalog (%1)"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Fel vid skapa katalog."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "MÃ¥l"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Katalog"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Typ"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Storlek"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Egenskap"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Senast ändrad"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "Länkmål"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "Ej tillgänglig"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (mål): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (bas): "
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (mål): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (mål): "
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "MÃ¥l: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+msgid "Save Directory Merge State As..."
+msgstr "Spara tillstånd för katalogsammanfogning som..."
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "Starta eller fortsätt katalogsammanfogning"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Utför åtgärd för aktuellt objekt"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Jämför markerade filer"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Sammanfoga markerade filer"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "Dra ihop alla underkataloger"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "Expandera alla underkataloger"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+msgid "Save Directory Merge State ..."
+msgstr "Spara tillstånd för katalogsammanfogning..."
+
+#: directorymergewindow.cpp:2861
+msgid "Load Directory Merge State ..."
+msgstr "Ladda tillstånd för katalogsammanfogning..."
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Välj A för alla objekt"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Välj B för alla objekt"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Välj C för alla objekt"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Välj automatiskt åtgärd för alla objekt"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
 msgstr "Ingen åtgärd för något objekt"
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2868
+msgid "Synchronize Directories"
+msgstr "Synkronisera kataloger"
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Kopiera nyare filer istället för att sammanfoga"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr "Visa identiska filer"
+
+#: directorymergewindow.cpp:2872
+msgid "Show Different Files"
+msgstr "Visa olika filer"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr "Visa bara filer i A"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr "Visa bara filer i B"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr "Visa bara filer i C"
+
+#: directorymergewindow.cpp:2877
+msgid "Compare Explicitly Selected Files"
+msgstr "Jämför explicit markerade filer"
+
+#: directorymergewindow.cpp:2878
+msgid "Merge Explicitly Selected Files"
+msgstr "Sammanfoga explicit markerade filer"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Gör ingenting"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Ta bort (om den finns)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "Ta bort A och B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "Sammanfoga till A och B"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"Vid försök att skapa en säkerhetskopia, misslyckades borttagning av "
-"äldre säkerhetskopia.\n"
+"Vid försök att skapa en säkerhetskopia, misslyckades borttagning av äldre "
+"säkerhetskopia.\n"
 "Filnamn: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -710,480 +753,537 @@
 "Vid försök att skapa en säkerhetskopia, misslyckades namnbyte.\n"
 "Filnamn: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Hämtar filstatus: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Läser fil: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Skriver fil: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "Slut på minne"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Skapar katalog: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Tar bort katalog: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Tar bort fil: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Skapar symbolisk länk: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Byter namn på fil: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Kopierar fil: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Fel under filkopieringsåtgärd: Öppna fil för läsning misslyckades. "
-"Filnamn: %1"
-
-#: fileaccess.cpp:844
+"Fel under filkopieringsåtgärd: Öppna fil för läsning misslyckades. Filnamn: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Fel under filkopieringsåtgärd: Öppna fil för skrivning misslyckades. Filnamn: "
 "%1"
-msgstr ""
-"Fel under filkopieringsåtgärd: Öppna fil för skrivning misslyckades. "
-"Filnamn: %1"
-
-#: fileaccess.cpp:859
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Fel under filkopieringsåtgärd: Läsning misslyckades. Filnamn: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Fel under filkopieringsåtgärd: Skrivning misslyckades. Filnamn: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Läser katalog: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listar katalog: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr "Aktuell inställning:"
+
+#: kdiff3.cpp:147
+msgid "Config Option Error:"
+msgstr "Fel i inställningsalternativ:"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "Väljaren --auto användes, men ingen utdatafil angavs."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "Väljaren --auto ignoreras för katalogjämförelse."
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Misslyckades spara."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Misslyckades öppna följande filer:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Fel vid öppna fil"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Öppnar dokument för jämförelse..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr "Sparar sammanfogningsresultat. Alla konflikter måste vara lösta."
 
-#: kdiff3.cpp:333
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Sparar aktuellt dokument som..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr "Skriv ut skillnaderna"
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Avslutar programmet"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Klipper ut markerad del och flyttar den till klippbordet"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Kopierar markerad del till klippbordet"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Klistrar in klippbordets innehåll på aktuell position"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr "Markera allting i nuvarande fönster"
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Sök efter en sträng"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Sök efter strängen igen"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Aktiverar/inaktiverar verktygsraden"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Aktiverar/inaktiverar statusraden"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "Anpassa Kdiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "GÃ¥ till aktuell skillnad"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "Gå till första skillnad"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "GÃ¥ till sista skillnad"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+"(Hoppar över skillnader i blanktecken när \"Visa blanktecken\" är inaktiverat.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+"(Hoppar inte över skillnader i blanktecken även när \"Visa blanktecken\" är "
+"inaktiverat.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
 msgstr "Gå till föregående skillnad"
 
-#: kdiff3.cpp:378
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "Gå till nästa skillnad"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Gå till föregående konflikt"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Gå till nästa konflikt"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Gå till föregående olösta konflikt"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Gå till nästa olösta konflikt"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "Välj rad(er) från A"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "Välj rad(er) från B"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "Välj rad(er) från C"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "Gå automatiskt till nästa olösta konflikt efter val av källa"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "Visa mellanslag och tabulatortecken i jämförelse"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Visa blanktecken"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Visa radnummer"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "Välj A överallt"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "Välj B överallt"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "Välj C överallt"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "Välj A för alla olösta konflikter"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "Välj B för alla olösta konflikter"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "Välj C för alla olösta konflikter"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
 msgstr "Välj A för olösta konflikter med blanktecken"
 
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
 msgstr "Välj B för olösta konflikter med blanktecken"
 
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
 msgstr "Välj C för olösta konflikter med blanktecken"
 
-#: kdiff3.cpp:401
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Lös automatiskt enkla konflikter"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "Ändra skillnader till konflikter"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr "Kör automatisk sammanfogning med reguljärt uttryck"
+
+#: kdiff3.cpp:503
+msgid "Automatically Solve History Conflicts"
+msgstr "Lös automatiskt historikkonflikter"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr "Dela jämförelse vid markering"
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "Visa fönster A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "Visa fönster B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "Visa fönster C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Fokus till nästa fönster"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
 msgstr "Normal översikt"
 
-#: kdiff3.cpp:410
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
 msgstr "A mot B-översikt"
 
-#: kdiff3.cpp:411
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
 msgstr "A mot C-översikt"
 
-#: kdiff3.cpp:412
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
 msgstr "B mot C-översikt"
 
-#: kdiff3.cpp:413
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
-msgstr "Skillnadsfönster för radbrytning"
-
-#: kdiff3.cpp:418
+msgstr "Radbryt skillnadsfönster"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr "Lägg till manuell justering av jämförelse"
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr "Rensa alla manuella justeringar av jämförelse"
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Fokus till föregående fönster"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "Byt delningsorientering"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "Delad skärmvy för kataloger och text"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "Byt mellan katalog och textvy"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "Sammanfogningsresultatet har inte sparats."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Spara och avsluta"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Avsluta utan att spara"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Misslyckades spara sammanfogningsresultatet."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Du håller för närvarande på med en katalogsammanfogning. Är du säker "
-"på att du vill avbryta?"
-
-#: kdiff3.cpp:547
+"Du håller för närvarande på med en katalogsammanfogning. Är du säker på att du "
+"vill avbryta?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Sparar fil..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Sparar fil med ett nytt namn..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+msgid "Printing..."
+msgstr "Skriver ut..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr "Utskrift avbruten."
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr "Markering"
+
+#: kdiff3.cpp:885
+msgid "Printing completed."
+msgstr "Utskrift färdig."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Avslutar..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "Växlar verktygsrad..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "Växla statusraden..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Söktext:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "Skiftlägeskänslig"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Sök A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Sök B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Sök C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Sökutmatning"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Sök"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Kunde inte hitta filer för jämförelse."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "Kdiff3-del"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "Kunde inte hitta insticksprogram.\n"
-"Detta hänter oftast beroende på ett installationsproblem. Läs filen "
-"README i källkodspaketet för detaljinformation."
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Verktyg för textjämförelse och sammanfogning"
+"Detta hänter oftast beroende på ett installationsproblem. Läs filen README i "
+"källkodspaketet för detaljinformation."
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "Verktyg för jämförelse och sammanfogning av filer och kataloger"
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Sammanfoga indata."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "Explicit basfil. För att fungera tillsammans med vissa verktyg."
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "Utdatafil. Betyder underförstått -m. T.ex.: -o ny_fil.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "Utdatafil, igen. (för att fungera med vissa verktyg.)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
-"Inget grafiskt gränssnitt om alla konflikter kan lösas automatiskt "
-"(kräver -o fil)"
-
-#: main.cpp:42
+"Inget grafiskt gränssnitt om alla konflikter kan lösas automatiskt (kräver -o "
+"fil)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
-msgstr "Lös inte konflikter automatiskt. (För att fungera med andra verktyg...)"
-
-#: main.cpp:43
+msgstr ""
+"Lös inte konflikter automatiskt. (För att fungera med andra verktyg...)"
+
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr "Synlig ersättning av namn för indatafil 1 (bas)."
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr "Synlig ersättning av namn för indatafil 2."
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr "Synlig ersättning av namn för indatafil 3."
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "Alternativ synlig ersättning av namn. Ange detta en gång för all indata."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Har ingen effekt. För att fungera med vissa verktyg."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "För att fungera med vissa verktyg."
-
-#: main.cpp:52
+msgstr ""
+"Alternativ synlig ersättning av namn. Ange detta en gång för all indata."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+"Överskrid en inställning. Använd en gång för varje inställning, t.ex.  --cs "
+"\"AutoAdvance=1\""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr "Visa lista med inställningar och nuvarande värden."
+
+#: main.cpp:55
+msgid "Use a different config file."
+msgstr "Använd en annan inställningsfil."
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "Fil 1 att öppna (basfil, om den inte anges med --base)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "Fil 2 att öppna"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "Fil 3 att öppna"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr "Ignoreras. (användardefinierad)"
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "Kdiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr "Samt stort tack till de som rapporterade fel och bidrog med idéer!"
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "Antal återstående olösta konflikter: %1 (av vilka %2 är blanktecken)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1191,55 +1291,55 @@
 "Utdata har ändrats.\n"
 "Om du fortsätter kommer dina ändringar att gå förlorade."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr "Alla indatafiler är binärt lika."
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Alla indatafiler innehåller samma text."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "Filerna A och B är binärt lika.\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "Filerna A och B innehåller samma text.\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "Filerna A och C är binärt lika.\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "Filerna A och C innehåller samma text.\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "Filerna B och C är binärt lika.\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "Filerna B och C innehåller samma text.\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Totalt antal konflikter: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1247,7 +1347,7 @@
 "\n"
 "Antal automatiskt lösta konflikter: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1255,27 +1355,31 @@
 "\n"
 "Antal olösta konflikter: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Konflikter"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Ingen källrad>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Konflikt vid sammanfogning (bara blanktecken)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Konflikter vid sammanfogning>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr "Utmatning"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Ändrad]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1283,41 +1387,53 @@
 "Alla konflikter har inte lösts ännu.\n"
 "Filen sparas inte.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Konflikter kvar"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"Filen sparas inte."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"Misslyckades skapa säkerhetskopia. Filen sparades inte."
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Fel vid spara fil"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Slut på minne vid förberedelse för att spara."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Fel vid skrivning."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "Unicode, 8 bitar"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "Ändra det här om tecken som inte är ASCII inte visas riktigt."
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Teckensnitt för editor och jämförelser"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "Kursiv stil för skillnader"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
@@ -1325,63 +1441,97 @@
 "Väljer den kursiva versionen av teckensnittet för skillnader.\n"
 "Om teckensnittet inte stöder kursiva tecken, gör detta ingenting."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Färg"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Färger för editor och jämförelser"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr "Färginställningar"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr "Editor- och skillnadsvyer:"
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "Förgrundsfärg:"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Bakgrundsfärg:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Bakgrundsfärg för jämförelse:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "Färg A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "Färg B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "Färg C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Konfliktfärg:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "Bakgrundsfärg för aktuellt intervall:"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "Bakgrundsfärg för aktuellt jämförelseintervall:"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr "Färglägg för manuellt valda jämförelseintervall:"
+
+#: optiondialog.cpp:624
+msgid "Directory Comparison View:"
+msgstr "Katalogjämförelsevy:"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr "Färg för nyaste fil:"
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr "Att ändra färgen får bara effekt när nästa katalogjämförelse startas."
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr "Färg för äldsta fil:"
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr "Färg för medelgammal fil:"
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr "Färg för saknade filer:"
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Editor"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "Editorbeteende"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tabulator infogar mellanslag"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
@@ -1389,25 +1539,25 @@
 "På: Genom att trycka på tabulator, skapas lämpligt antal mellanslag.\n"
 "Av: Ett tabulatortecken infogas."
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tabulatorbredd:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "Automatisk indentering"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "På: Indentering av föregående rad används för en ny rad.\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "Kopiera automatiskt markering"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1415,39 +1565,31 @@
 "PÃ¥: Alla markeringar skrivs omedelbart till klippbordet.\n"
 "Av: Du måste kopiera explicit, t.ex. via Ctrl-C."
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr "Radslutstil:"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 "Anger radsluten när en redigerad fil sparas.\n"
-"DOS/WIndows: CR+LF, Unix: LF, med CR=0D och LF=0A"
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "Använd lokal kodning"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "Ändra det här om tecken som inte är ASCII inte visas riktigt."
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+"DOS/Windows: CR+LF, Unix: LF, med CR=0D och LF=0A"
+
+#: optiondialog.cpp:726
+msgid "Diff and Merge"
 msgstr "Jämför och sammanfoga"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+msgid "Diff and Merge Settings"
 msgstr "Inställningar av jämför och sammanfoga"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "Behåll returtecken"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
@@ -1455,50 +1597,49 @@
 "Visa returtecken '\\r' om de finns.\n"
 "Hjälper till att jämföra filer som ändrats med olika operativsystem."
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "Ignorera siffror"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 "Ignorera siffror när rader matchas. (Liknar ignorera blanktecken.)\n"
 "Kan hjälpa till att jämföra filer med numerisk data."
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "Ignorera C/C++ kommentarer"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "Behandla C/C++ kommentarer som blanktecken."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr "Ignorera skiftläge"
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr "Behandla skiftlägesskillnader som blankteckenskillnader. ('a' <=> 'A')"
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "Preprocessorkommando:"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
-"Användardefinierad förbehandling (Se dokumentationen för "
-"detaljinformation.)"
-
-#: optiondialog.cpp:546
+"Användardefinierad förbehandling (Se dokumentationen för detaljinformation.)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "Preprocessorkommando för radmatchning:"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
@@ -1506,11 +1647,11 @@
 "Den här preprocessorn används bara under radmatchning.\n"
 "(Se dokumentationen för detaljinformation.)"
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "Var noggrann (långsammare)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
@@ -1518,56 +1659,191 @@
 "Aktiverar väljaren --minimal för det externa verktyget diff.\n"
 "Analys av stora filer blir mycket långsammare."
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "Fördröjning vid automatisk fortsättning (ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
 "Vid läget automatisk fortsättning, visas resultatet av aktuell markering\n"
-"under den angivna tiden, innan det går vidare till nästa konflikt. "
-"Intervall: 0-2000 ms."
-
-#: optiondialog.cpp:571
+"under den angivna tiden, innan det går vidare till nästa konflikt. Intervall: "
+"0-2000 ms."
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr "Standardvärde för sammanfogning av blanktecken med två filer:"
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
 msgstr "Manuellt val"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"Tillåt att sammanfogningsalgoritmen automatiskt väljer indata för "
-"ändringar av bara blanktecken."
-
-#: optiondialog.cpp:584
+"Tillåt att sammanfogningsalgoritmen automatiskt väljer indata för ändringar av "
+"bara blanktecken."
+
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr "Standardvärde för sammanfogning av blanktecken med tre filer:"
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr "Automatisk sammanfogning med reguljärt uttryck"
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr "Reguljärt uttryck för automatisk sammanfogning:"
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+"Reguljärt uttryck för rader där Kdiff3 automatiskt ska välja en källa.\n"
+"När en rad med en konflikt matchar det reguljära uttrycket väljes -C om "
+"tillgängligt, annars väljes B."
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+"Kör automatisk sammanfogning med reguljärt uttryck när sammanfogning startar"
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+"Kör automatisk sammanfogning med reguljärt\n"
+"uttryck omedelbart när en sammanfogning startar.\n"
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr "Sammanfogning enligt versionshanteringshistorik"
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr "Reguljärt uttryck för historikens början:"
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+"Reguljärt uttryck för historikpostens början.\n"
+"Oftast innehåller raden nyckelordet  \"$Log$
+"Oftast innehåller raden nyckelordet  \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Oftast innehåller raden nyckelordet  \"KDiff3 0.9.89
+"Oftast innehåller raden nyckelordet  \"\".\n"
+"Standardvärde:  \".*\\$Log.*\\$.*\""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr "Reguljärt uttryck för historikpostens början:"
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+"En historikpost består av flera rader.\n"
+"Ange det reguljära uttrycket för att detektera första raden (utan den inledande "
+"kommentaren).\n"
+"Använd parenteser för att gruppera nycklarna du vill använda för sortering.\n"
+"Om det lämnas tomt, antar Kdiff3 att tomma rader skiljer historikposterna åt.\n"
+"Se dokumentationen för detaljinformation."
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr "Sortering av historiksammanfogning"
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr "Sortera versionshanteringshistoriken med en nyckel."
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr "Sorteringsnycklarnas ordning från historikpostens början:"
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+"Varje parentes som används i det reguljära uttrycket för historikpostens "
+"början\n"
+"grupperar en nyckel som kan användas för sortering.\n"
+"Ange listan med nycklar (som numreras i den ordning de förekommer med\n"
+"början på 1), med användning av ',' som skiljetecken (t.ex. "
+"\"4,5,6,1,2,3,7\").\n"
+"Om det lämnas tomt, görs ingen sortering.\n"
+"Se dokumentationen för detaljinformation."
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+"Sammanfogning enligt versionshanteringshistorik när sammanfogning startar"
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+"Kör automatisk sammanfogning enligt versionshanteringshistorik när "
+"sammanfogning startar."
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr "Prova dina reguljära uttryck"
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr "Ej relevant sammanfogningskommando:"
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+"Om angivet körs det här skriptet efter automatisk sammanfogning\n"
+"när inga andra relevanta ändringar detekterades.\n"
+"Anropas med parametrarna: filnamn1 filnamn2 filnamn3"
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Katalogsammanfogning"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "Rekursiva kataloger"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Om underkataloger ska analyseras eller inte."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Mönster för filer:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
@@ -1577,11 +1853,11 @@
 "Jokertecken: '*' och '?'\n"
 "Flera mönster kan anges genom att använda skiljetecknet ';'"
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr "Undantagsmönster för filer:"
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1591,11 +1867,11 @@
 "Jokertecken: '*' och '?'\n"
 "Flera mönster kan anges genom att använda skiljetecknet ';'"
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "Undantagsmönster för kataloger:"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
@@ -1605,11 +1881,11 @@
 "Jokertecken: '*' och '?'\n"
 "Flera mönster kan anges genom att använda skiljetecknet ';'"
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "Använd .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1617,23 +1893,23 @@
 "Utökar undantagsmönster med allt som skulle ignoreras av CVS.\n"
 "Med lokala \".cvsignore\" filer, kan det här vara katalogspecifikt."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Sök efter gömda filer och kataloger"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Söker efter filer och kataloger med egenskapen gömd."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "Söker efter filer och kataloger som börjar med '.'."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Följ fillänkar"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1641,11 +1917,11 @@
 "På: Jämför filen som länken pekar på.\n"
 "Av: Jämför länkarna."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Följ kataloglänkar"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1653,44 +1929,58 @@
 "På: Jämför katalogen som länken pekar på.\n"
 "Av: Jämför länkarna."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "Lista bara skillnader"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr "Filer och kataloger utan ändring visas inte i listan."
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr "Skiftlägeskänslig filnamnsjämförelse"
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+"Katalogjämförelsen jämför filer eller kataloger när deras namn matchar.\n"
+"Ange alternativet om namnens skiftläge måste matcha. (Normalvärdet för Windows "
+"är av, annars på.)"
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr "Filjämförelseläge"
 
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
 msgstr "Binär jämförelse"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr "Binär jämförelse av varje fil. (Standardvärde)"
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr "Fullständig analys"
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-"Gör en fullständig analys och visa statistisk information i extra "
-"kolumner.\n"
+"Gör en fullständig analys och visa statistisk information i extra kolumner.\n"
 "(Långsammare än binär jämförelse, mycket långsammare för binärfiler.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Lita på ändringsdatum (inte säkert)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
@@ -1699,25 +1989,25 @@
 "Antar att filer är lika om ändringsdatum och fillängden är lika.\n"
 "Användbar för stora kataloger eller långsamma nätverk."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Lita på storleken (inte säkert)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Antar att filer är lika om deras fillängder är lika.\n"
-"Användbar för stora kataloger eller långsamma nätverk när datum ändras "
-"under nerladdning."
-
-#: optiondialog.cpp:707
+"Användbar för stora kataloger eller långsamma nätverk när datum ändras under "
+"nerladdning."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "Synkronisera kataloger"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1727,11 +2017,23 @@
 "blir likadana efteråt. Fungerar bara när två kataloger\n"
 "jämförs och ingen målkatalog anges."
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "Skillnader i blanktecken anses lika"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"Om filer bara skiljer sig med blanktecken, anse dem lika.\n"
+"Det här är bara aktiverat när fullständig analys väljes."
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Kopiera nyare istället för att sammanfoga (inte säkert)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1741,41 +2043,108 @@
 "(Använd bara det här om du vet vad du gör!)\n"
 "Har bara någon effekt när två kataloger jämförs."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Säkerhetskopior (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
 "När en fil skulle sparas och en gammal fil redan finns, kommer den\n"
-"gamla filen att döpas om med filändelsen '.orig' istället för att tas "
-"bort."
-
-#: optiondialog.cpp:753
+"gamla filen att döpas om med filändelsen '.orig' istället för att tas bort."
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "Regionsinställningar"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "Språk (omstart krävs)"
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "Automatisk"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-"Välj språk för strängarna i det grafiska gränssnittet eller "
-"\"Automatisk\".\n"
+"Välj språk för strängarna i det grafiska gränssnittet eller \"Automatisk\".\n"
 "För att språkbytet ska ske, avsluta och starta om Kdiff3."
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "Använd samma kodning för allt:"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"Att aktivera det här låter dig ändra alla kodningar genom att bara ändra den "
+"första.\n"
+"Inaktivera det om olika individuella inställningar behövs."
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "Observera: Lokal kodning är "
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "Filkodning för A:"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "Filkodning för B:"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "Filkodning för C:"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "Filkodning för sammanfogad utdata och vid spara:"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "Filkodning för preprocessorfiler:"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "Språk som läses från höger till vänster"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"Vissa språk läses från höger till vänster.\n"
+"Inställningen ändrar visningen och editorn på motsvarande sätt."
+
+#: optiondialog.cpp:1312
+msgid "Integration"
+msgstr "Integrering"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr "Integreringsinställningar"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr "Kommandoradsväljare att ignorera:"
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+"Lista med kommandoradsväljare som ska ignoreras när Kdiff3 används av andra "
+"verktyg.\n"
+"Flera värden kan anges om de åtskiljs av ';'\n"
+"Detta undertrycker felmeddelandet \"Okänd väljare\"."
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1791,33 +2160,33 @@
 "\n"
 "Vill du fortsätta, eller vill du välja ett annat teckensnitt?"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Olämpligt teckensnitt"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Fortsätt på egen risk"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Välj ett annat teckensnitt"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Det här återställer alla alternativ, inte bara de i nuvarande ämne."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "Preprocessorkommando: "
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 "Följande alternativ du valde kan ändra data:\n"
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -1825,58 +2194,57 @@
 msgstr ""
 "\n"
 "Troligen är det inte önskvärt under en sammanfogning.\n"
-"Vill du inaktivera inställningarna eller fortsätta med inställningarna "
-"aktiva?"
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+"Vill du inaktivera inställningarna eller fortsätta med inställningarna aktiva?"
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr "Alternativ osäkert vid sammanfogning"
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr "Använd alternativen under sammanfogningen"
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr "Inaktivera osäkra alternativ"
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "Laddar A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "Laddar B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "Jämförelse: A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "Radjämförelse: A <-> B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "Laddar C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "Jämförelse: B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "Jämförelse: A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "Radjämförelse: B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "Radjämförelse: A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1886,102 +2254,244 @@
 "Observera att Kdiff3:s sammanfogning inte är avsedd för binärdata.\n"
 "Fortsätt på egen risk."
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Avbryt"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "Öppnar filer..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Fel när filen öppnades"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "Klipper ut markering..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "Kopierar markering till klippbord..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "Infogar klippbordets innehåll..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Spara och fortsätt"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Fortsätt utan att spara"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Sökning färdig."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Sökning färdig"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr "Klicka på raderna som ska matcha i alla fönster."
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr "Ingenting är markerad i något indatafönster med jämförelse."
+
+#: pdiff.cpp:2116
+msgid "Error while adding manual diff range"
+msgstr "Fel vid tillägg av manuellt jämförelseintervall"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&Kdiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "Anpassa Kdiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Katalog"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Sammanfogningsåtgärd för aktuellt objekt"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "Synkroniseringsåtgärd för aktuellt objekt"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Förflyttning"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "&Jämförelsevy"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "Sa&mmanfoga"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "Fö&nster"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (bas):"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Fil..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Katalog..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (valfri):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr "Byt eller kopiera namn..."
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr "Byt"
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Utmatning (valfri):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Anpassa..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Avbryt"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "Öppnar filer..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Fel när filen öppnades"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "Klipper ut markering..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "Kopierar markering till klippbord..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "Infogar klippbordets innehåll..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Spara och fortsätt"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Fortsätt utan att spara"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Sökning färdig."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Sökning färdig"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&Kdiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "Anpassa Kdiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Katalog"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "Sammanfogningsåtgärd för aktuellt objekt"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "Synkroniseringsåtgärd för aktuellt objekt"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Förflyttning"
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "&Jämförelsevy"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "Sa&mmanfoga"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "Fö&nster"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "Söktext:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Skiftlägeskänslig"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Sök A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Sök B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Sök C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Sökutmatning"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Sök"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr "ingen markering"
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr "Manuellt val av rader"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr "Test av reguljära uttryck"
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr "Exempel på startrad för automatisk sammanfogning:"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+"För att prova automatisk sammanfogning, kopiera en rad som används i dina "
+"filer."
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr "Matchningsresultat:"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr "Exempel på startrad för historik (med inledande kommentar):"
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopiera en startrad för historik som används i dina filer,\n"
+"men utelämna den inledande kommentaren."
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr "Sorteringsnyckelordning för historik:"
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr "Exempel på startrad för en historikpost (utan inledande kommentar):"
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+"Kopiera en startrad för en historikpost som används i dina filer,\n"
+"men utelämna den inledande kommentaren."
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr "Sorteringsnyckelresultat:"
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr "Ok"
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr "Matchning lyckades."
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+msgid "Match failed."
+msgstr "Matchning misslyckades."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr "Inledande och avslutande parenteser matchar inte i reguljärt uttryck."
--- a/kdiff3/po/ta.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/ta.po	Mon Apr 10 08:40:51 2006 +0000
@@ -24,14 +24,13 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-06-01 17:27+0530\n"
-"Last-Translator: root <root@localhost.localdomain>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2004-08-24 04:28+0530\n"
+"Last-Translator: I. Felix <ifelix25@yahoo.co.in>\n"
 "Language-Team:  <ta@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
@@ -45,18 +44,15 @@
 "Your emails"
 msgstr "prem4ever_1983@yahoo.com"
 
-#: diff.cpp:241
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr ""
-"கà¯à®³à®¿à®ªà¯à®ªà¯Šà®°à¯à®Ÿà®¿à®©à¯ எழà¯à®¤à¯à®¤à®¿à®©à¯ "
-"தரதà¯à®¤à®¿à®²à¯ உளà¯à®³ டெமà¯à®ªà¯ கோபà¯à®ªà¯ "
-"தவறà¯."
-
-#: diff.cpp:245
+msgstr "கà¯à®³à®¿à®ªà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®©à¯ எழà¯à®¤à¯à®¤à®¿à®©à¯ தரதà¯à®¤à®¿à®²à¯ உளà¯à®³ டெமà¯à®ªà¯ கோபà¯à®ªà¯ தவறà¯."
+
+#: diff.cpp:249
 msgid "From Clipboard"
-msgstr "கிளிப௠போரà¯à®Ÿà®¿à®³à®¿à®°à¯à®¨à¯à®¤à¯."
-
-#: diff.cpp:404
+msgstr "கிளிப௠போரà¯à®Ÿà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯."
+
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -64,15 +60,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠தவறà¯.கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ "
-"சரிபà¯à®ªà®¾à®°à¯:\n"
+"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠தவறà¯. கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ சரிபà¯à®ªà®¾à®°à¯:\n"
 "\n"
 "  %1\n"
 "\n"
-"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ "
-"இபà¯à®ªà¯Šà®´à¯à®¤à¯‡ à®®à¯à®Ÿà®•à¯à®•à¯,"
-
-#: diff.cpp:425
+"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ இபà¯à®ªà¯Šà®´à¯à®¤à¯‡ à®®à¯à®Ÿà®•à¯à®•à¯,"
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -80,316 +74,287 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠தவறà¯.கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ "
-"சரிபà¯à®ªà®¾à®°à¯:\n"
+"à®®à¯à®©à¯à®šà¯†à®¯à®²à®¿à®•ள௠தவறà¯. கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ சரிபà¯à®ªà®¾à®°à¯:\n"
 "\n"
 "  %1\n"
 "\n"
-"வரிசெலà¯à®•ளின௠கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ "
-"இபà¯à®ªà¯Šà®´à¯à®¤à¯‡ à®®à¯à®Ÿà®•à¯à®•à¯,"
-
-#: diff.cpp:1268 diff.cpp:1282
+"வரிசெலà¯à®•ளின௠கடà¯à®Ÿà®³à¯ˆà®¯à¯ˆ இபà¯à®ªà¯Šà®´à¯à®¤à¯‡ à®®à¯à®Ÿà®•à¯à®•à¯,"
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
 "தகவல௠தவறானதà¯.\n"
-" மீணà¯à®Ÿà¯à®®à¯ உறà¯à®ªà®¤à¯à®¤à®¿à®¯à®¾à®©à®¾à®²à¯ "
-"ஆசிரியரை அனà¯à®•வà¯à®®à¯.\n"
-
-#: diff.cpp:1270 diff.cpp:1284
+"மீணà¯à®Ÿà¯à®®à¯ உறà¯à®ªà®¤à¯à®¤à®¿à®¯à®¾à®©à®¾à®²à¯ ஆசிரியரை அணà¯à®•வà¯à®®à¯.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "கடà¯à®®à¯ˆà®¯à®¾à®© உளà¯à®šà®¾à®°à¯à®¨à¯à®¤ தவறà¯."
 
-#: difftextwindow.cpp:829
-#, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "மேல௠வரி %1."
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "à®®à¯à®Ÿà®¿à®µà¯"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
-msgstr ""
-"இனைபà¯à®ªà¯à®•ள௠மறà¯à®±à¯à®®à¯ "
-"கோபà¯à®ªà¯à®•ள௠கலநà¯à®¤à¯à®¯à¯à®³à¯à®³à®©."
-
-#: directorymergewindow.cpp:121
+msgstr "இணைபà¯à®ªà¯à®•ள௠மறà¯à®±à¯à®®à¯ கோபà¯à®ªà¯à®•ள௠கலநà¯à®¤à¯ உளà¯à®³à®©."
+
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "இணைபà¯à®ªà¯."
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "அளவà¯."
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "தேதி மறà¯à®±à¯à®®à¯ அளவà¯."
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
-msgstr ""
-"வாரà¯à®ªà¯à®ªà¯à®°à¯ படயெட௠"
-"உரà¯à®µà®¾à®•à¯à®•à¯à®µà®¤à¯ %1 இயலவிலà¯à®²à¯ˆ."
-
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+msgstr "வாரà¯à®ªà¯à®ªà¯à®°à¯ படியெட௠உரà¯à®µà®¾à®•à¯à®•à¯à®µà®¤à¯ %1 இயலவிலà¯à®²à¯ˆ."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
-msgstr "திரபà¯à®ªà®¤à®±à¯à®•à¯à®•௠%1 இயலவிலà¯à®²à¯ˆ."
-
-#: directorymergewindow.cpp:180
-msgid "Comparing file ..."
-msgstr "கோபà¯à®ªà¯ ´ôÀ¢Î¾ø ..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+msgstr "திறபà¯à®ªà®¤à®±à¯à®•௠%1 இயலவிலà¯à®²à¯ˆ."
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "கோபà¯à®ªà®¿à®©à¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯à®•ிறதà¯...."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "%1னிலிரà¯à®¨à¯à®¤à¯ படிகà¯à®•à¯à®®à¯ பிழை"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "பெயரà¯."
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "இயகà¯à®•à®®à¯."
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "நிலை."
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
-msgstr "¾£÷ì¸ôÀ¼¡¾"
-
-#: directorymergewindow.cpp:259
+msgstr "Unsolved"
+
+#: directorymergewindow.cpp:289
 msgid "Solved"
-msgstr "¾£÷ì¸ôÀð¼"
-
-#: directorymergewindow.cpp:260
+msgstr "Solved"
+
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
-msgstr "¦ÅüÈ¢¼Ã¢øÄ¡¾"
-
-#: directorymergewindow.cpp:261
+msgstr "Nonwhite"
+
+#: directorymergewindow.cpp:291
 msgid "White"
-msgstr "±ØÃ"
-
-#: directorymergewindow.cpp:289
+msgstr "White"
+
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-"நீஙà¯à®•ள௠தறà¯à®ªà¯Šà®´à¯à®¤à¯ ஒனà¯à®±à®¾à®• "
-"சேரà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ அடைவை "
-"பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿à®•௠"
-"கொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறீரà¯à®•ளà¯.நீஙà¯à®•ள"
-"௠நிசà¯à®šà®¯à®®à®¾à®• ஒனà¯à®±à¯ சேரà¯à®ªà¯à®ªà®¤à¯ˆ "
-"நிறà¯à®¤à¯à®¤à®¿à®µà®¿à®Ÿà¯à®Ÿà¯ அடைவை "
-"மறà¯à®µà®°à¯à®Ÿ விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"நீஙà¯à®•ள௠தறà¯à®ªà¯Šà®´à¯à®¤à¯ ஒனà¯à®±à®¾à®• சேரà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ அடைவை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿à®•௠கொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறீரà¯à®•ளà¯. "
+"நீஙà¯à®•ள௠நிசà¯à®šà®¯à®®à®¾à®• ஒனà¯à®±à¯ சேரà¯à®ªà¯à®ªà®¤à¯ˆ நிறà¯à®¤à¯à®¤à®¿à®µà®¿à®Ÿà¯à®Ÿà¯ அடைவை மறà¯à®µà®°à¯à®Ÿà®²à¯ˆ "
+"விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
-msgstr "மரà¯à®µà®°à¯à®Ÿà¯"
-
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+msgstr "மறà¯à®µà®°à¯à®Ÿà®²à¯"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "தொடரà¯à®¨à¯à®¤à¯ ஒனà¯à®±à®¾à®• சேரà¯."
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "அடைவ௠திறகà¯à®• இயலவிலà¯à®²à¯ˆ:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"அடைவ௠எ \"%1\" இலà¯à®²à¯ˆ அலà¯à®²à®¤à¯ அத௠"
-"ஒர௠அடைவ௠இலà¯à®²à¯ˆ.\n"
-
-#: directorymergewindow.cpp:427
+"அடைவ௠எ \"%1\" இலà¯à®²à¯ˆ அலà¯à®²à®¤à¯ அத௠ஒர௠அடைவ௠இலà¯à®²à¯ˆ.\n"
+
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"அடைவ௠B \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ "
-"(à®…) அத௠ஒர௠அடைவே அலà¯à®².\n"
-
-#: directorymergewindow.cpp:430
+"அடைவ௠B \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ (à®…) அத௠ஒர௠அடைவே அலà¯à®².\n"
+
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
-"அடைவ௠C \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ "
-"(à®…) அத௠ஒர௠அடைவே அலà¯à®².\n"
-
-#: directorymergewindow.cpp:432
+"அடைவ௠C \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ (à®…) அத௠ஒர௠அடைவே அலà¯à®².\n"
+
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "திறநà¯à®¤ தகவல௠தளம௠தவறà¯."
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
-"மூனà¯à®±à¯ அடைவà¯à®•ள௠ஒனà¯à®±à¯ "
-"சேரà¯à®®à¯à®ªà¯Šà®´à¯à®¤à¯, சேரà¯à®®à¯ அடைவ௠A "
-"(à®…) B போனà¯à®±à¯ இரà¯à®•à¯à®•க௠கூடாதà¯.\n"
-" தொடரà¯à®µà®¤à®±à¯à®•à¯à®®à¯à®©à¯ மீணà¯à®Ÿà¯à®®à¯ "
-"சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:442
+"மூனà¯à®±à¯ அடைவà¯à®•ள௠ஒனà¯à®±à¯ சேரà¯à®®à¯ பொழà¯à®¤à¯, சேரà¯à®®à¯ அடைவ௠A (à®…) B போனà¯à®±à¯ இரà¯à®•à¯à®•க௠"
+"கூடாதà¯.\n"
+"தொடரà¯à®µà®¤à®±à¯à®•௠மà¯à®©à¯ மீணà¯à®Ÿà¯à®®à¯ சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "அளவà¯à®°à¯à®•à¯à®•ள௠எசà¯à®šà®¿à®°à®¿à®•ை."
 
-#: directorymergewindow.cpp:447
-msgid "Scanning directories ..."
-msgstr "«¨¼×¸¨Ç ÅÕθ¢Èà ..."
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+#, fuzzy
+msgid "Scanning directories..."
+msgstr "Scanning directories ..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
-msgstr "தகவல௠தளம௠'à®…'வை படிகà¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:518
+msgstr "தகவல௠தளம௠'à®'வை படிகà¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
-msgstr "தகவல௠தளம௠'ப'஠படிகà¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:540
+msgstr "தகவல௠தளம௠'பி'஠படிகà¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "தகவல௠தளம௠'சி'஠படிகà¯à®•வà¯à®®à¯."
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
-msgstr ""
-"சில தà¯à®£à¯ˆà®…டைவà¯à®•ளை படிகà¯à®• "
-"இயலவிலà¯à®²à¯ˆ"
-
-#: directorymergewindow.cpp:571
+msgstr "சில தà¯à®£à¯ˆ அடைவà¯à®•ளை படிகà¯à®• இயலவிலà¯à®²à¯ˆ"
+
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
-msgstr ""
-"தà¯à®£à¯ˆ அடைவà¯à®•ளின௠அனà¯à®®à®¤à®¿à®•ளை "
-"சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+msgstr "தà¯à®£à¯ˆ அடைவà¯à®•ளின௠அனà¯à®®à®¤à®¿à®•ளை சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "தயாரà¯."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "அடைவ௠ஒபà¯à®ªà®¿à®Ÿà¯à®®à¯ நிலை"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "உப அடைவà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "சம கோபà¯à®ªà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
-msgstr ""
-"வெர௠விதமான கோபà¯à®ªà¯à®•ளின௠"
-"எணà¯à®£à®¿à®•à¯à®•ை:"
-
-#: directorymergewindow.cpp:625
+msgstr "வேற௠விதமான கோபà¯à®ªà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
+
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
-msgstr ""
-"கைமà¯à®±à¯ˆ ஒனà¯à®±à¯ சேரà¯à®•à¯à®•ையின௠"
-"எணà¯à®£à®¿à®•à¯à®•ை:"
-
-#: directorymergewindow.cpp:761
+msgstr "கைமà¯à®±à¯ˆ ஒனà¯à®±à¯ சேரà¯à®•à¯à®•ையின௠எணà¯à®£à®¿à®•à¯à®•ை:"
+
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
-msgstr ""
-"இத௠அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ "
-"இயகà¯à®•à®™à¯à®•ளை பாதிகà¯à®•ிறதà¯."
-
-#: directorymergewindow.cpp:762
+msgstr "இத௠அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®™à¯à®•ளை பாதிகà¯à®•ிறதà¯."
+
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
-msgstr ""
-"அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ "
-"இயகà¯à®•à®™à¯à®•ளை "
-"மாறà¯à®±à®¿à®•à¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறதà¯"
-
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+msgstr "அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®™à¯à®•ளை மாறà¯à®±à®¿à®•à¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறதà¯"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "தொடரà¯à®¤à®²à¯"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "செயலாகà¯à®•à¯à®¤à®²à¯"
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "அதை செயà¯."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
-msgstr "படியெட௠'அ'&'பி'."
-
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+msgstr " A to B படியெடà¯"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
-msgstr "படியெட௠'பி'&'அ'."
-
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+msgstr "படியெட௠B to A"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
-msgstr "நீகà¯à®•௠அ."
-
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+msgstr " A ஠நீகà¯à®•à¯"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
-msgstr "நீகà¯à®•௠அ."
-
-#: directorymergewindow.cpp:1476
+msgstr "B ஠நீகà¯à®•à¯"
+
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
-msgstr "நீகà¯à®•௠'à®…'&'பி'."
-
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+msgstr "A & B஠நீகà¯à®•௠"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
-msgstr " 'à®…' வை ஒனà¯à®±à®¾à®•ச௠சேரà¯."
-
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+msgstr " A ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯."
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr " 'பி' ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯."
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
-msgstr "'à®…'&'பி'஠ஒனà¯à®±à®¾à®•ச௠சேரà¯."
-
-#: directorymergewindow.cpp:1483
+msgstr "A & B ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯."
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "நீகà¯à®•à¯."
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "ஒனà¯à®±à®¾à®•ச௠சேரà¯."
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "ஒனà¯à®±à®¾à®•ச௠சேரà¯."
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "பிழை: கà¯à®´à®ªà¯à®ª கோபà¯à®ªà¯ வகைகளà¯"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
-msgstr ""
-"பிழை: தேதிகள௠சமம௠ஆனால௠"
-"கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ."
-
-#: directorymergewindow.cpp:1511
+msgstr "பிழை: தேதிகள௠சமம௠ஆனால௠கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
-msgstr ""
-"இநà¯à®¤ இயகà¯à®•ம௠தறà¯à®ªà¯‹à®¤à¯ "
-"சாதியமிலà¯à®²à¯ˆ."
-
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+msgstr "இநà¯à®¤ இயகà¯à®•ம௠தறà¯à®ªà¯‹à®¤à¯ சாதà¯à®¤à®¿à®¯à®®à®¿à®²à¯à®²à¯ˆ."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "இயகà¯à®•ம௠சாதியமிலà¯à®²à¯ˆ"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -397,55 +362,48 @@
 "\n"
 "If you know how to reproduce this, please contact the program author."
 msgstr ""
-"இத௠எபà¯à®ªà¯‹à®´à¯à®¤à¯à®®à¯ "
-"நிகழகà¯à®•ூடாதà¯: \n"
+"இத௠எபà¯à®ªà¯‹à®¤à¯à®®à¯ நிகழகà¯à®•ூடாதà¯: \n"
 "\n"
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯ விளைவ௠"
-"சேகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯: m_pMFI=0\n"
+"ஒனà¯à®±à¯à®šà¯‡à®°à¯ விளைவ௠சேகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯: m_pMFI=0\n"
 "\n"
-"இதை மற௠ஆகà¯à®•ம௠செயà¯à®¯à®¤à¯ "
-"தெரிநà¯à®¤à®¾à®²à¯, நிரல௠எழà¯à®¤à®¿à®¯à®µà®°à¯ˆ "
-"அணà¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:1554
+"இதை மற௠ஆகà¯à®•ம௠செயà¯à®¯ தெரிநà¯à®¤à®¾à®²à¯, நிரல௠எழà¯à®¤à®¿à®¯à®µà®°à¯ˆ அணà¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "நிரல௠பிழை"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
-"நகலெடà¯à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ பிழை "
-"à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯.\n"
-
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+"நகலெடà¯à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ பிழை"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "பிழை."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "à®®à¯à®Ÿà®¿à®¨à¯à®¤."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "கோபà¯à®ªà¯"
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
-msgstr ""
-"தெரியாத ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®®à¯.( "
-"இத௠ஒரà¯à®ªà¯‹à®¤à¯à®®à¯ நிகழகà¯à®•ூடாதà¯)"
-
-#: directorymergewindow.cpp:1666
+msgstr "தெரியாத ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®®à¯.( இத௠ஒரà¯à®ªà¯‹à®¤à¯à®®à¯ நிகழகà¯à®•ூடாதà¯)"
+
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "தெரியாத ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®®à¯."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -456,1513 +414,1488 @@
 "Be aware that this program still has beta status and there is NO WARRANTY "
 "whatsoever! Make backups of your vital data!"
 msgstr ""
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ தொடஙà¯à®•பà¯à®ªà®Ÿ "
-"உளà¯à®³à®¤à¯.\n"
+"ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ தொடஙà¯à®•பà¯à®ªà®Ÿ உளà¯à®³à®¤à¯.\n"
 "\n"
-"நீஙà¯à®•ள௠நெறிமà¯à®±à¯ˆà®•ளைப௠"
-"படிதà¯à®¤à¯ எனà¯à®© செயà¯à®•ிறீரà¯à®•ள௠"
-"எனà¯à®ªà®¤à¯ˆ அறிநà¯à®¤à®¾à®²à¯, \"இதை "
-"செயà¯à®•\" எனà¯à®ªà®¤à¯ˆ "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•.\n"
-"\"இதை போனà¯à®±à¯ நட\" எனà¯à®ªà®¤à¯ˆ "
-"தேரà¯à®µà¯ செயà¯à®¤à®¾à®²à¯ "
-"நிகழவிரà¯à®ªà¯à®ªà®¤à¯ˆ கூரà¯à®®à¯.\n"
+"நீஙà¯à®•ள௠நெறிமà¯à®±à¯ˆà®•ளைப௠படிதà¯à®¤à¯ எனà¯à®© செயà¯à®•ிறீரà¯à®•ள௠எனà¯à®ªà®¤à¯ˆ அறிநà¯à®¤à®¾à®²à¯, \"இதை "
+"செயà¯à®•\" எனà¯à®ªà®¤à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•.\n"
+"\"இதை போனà¯à®±à¯ நட\" எனà¯à®ªà®¤à¯ˆ தேரà¯à®µà¯ செயà¯à®¤à®¾à®²à¯ நிகழவிரà¯à®ªà¯à®ªà®¤à¯ˆ கூரà¯à®®à¯.\n"
 "\n"
-"இநà¯à®¤ நிரல௠இனà¯à®©à¯à®®à¯ பீடா "
-"நிலையிலà¯à®¤à®¾à®©à¯ உளà¯à®³à®¤à¯ எனà¯à®ªà®¤à¯ˆ "
-"கவனதà¯à®¤à®¿à®²à¯ கொளà¯à®•; மேலà¯à®®à¯ "
-"இதறà¯à®•௠எநà¯à®¤à®µà®¿à®¤ "
-"உதà¯à®¤à®¿à®°à®µà®¾à®¤à®®à¯à®®à¯ கிடையாதà¯! "
-"தஙà¯à®•ளத௠இனà¯à®±à®¿à®¯à®®à¯ˆà®¯à®¾à®¤ "
-"தகவலà¯à®•ளà¯à®•à¯à®•௠பினà¯à®©à®£à®¿ "
+"இநà¯à®¤ நிரல௠இனà¯à®©à¯à®®à¯ பீடா நிலையில௠தான௠உளà¯à®³à®¤à¯ எனà¯à®ªà®¤à¯ˆ கவனதà¯à®¤à®¿à®²à¯ கொளà¯à®•; மேலà¯à®®à¯ "
+"இதறà¯à®•௠எநà¯à®¤à®µà®¿à®¤ உதà¯à®¤à®¿à®°à®µà®¾à®¤à®®à¯à®®à¯ கிடையாதà¯! தஙà¯à®•ளத௠இனà¯à®±à®¿à®¯à®®à¯ˆà®¯à®¾à®¤ தகவலà¯à®•ளà¯à®•à¯à®•௠பினà¯à®©à®£à®¿ "
 "அமைகà¯à®•!                             "
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
-msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ˆà®¤à¯ தà¯à®µà®•à¯à®•à¯à®¤à®²à¯"
-
-#: directorymergewindow.cpp:1686
+msgstr "ஒனà¯à®±à¯ சேரà¯à®ªà¯à®ªà¯ˆà®¤à¯ தà¯à®µà®•à¯à®•à¯à®¤à®²à¯"
+
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "இதை செயà¯à®•"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "இதை போனà¯à®±à¯ நட"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
-msgstr ""
-"பலவிதமான அடைவà¯à®•ளில௠"
-"பலவகையாக தனிபà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ "
-"விவரம௠உளà¯à®³à®¤à¯.எதை "
-"செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•."
-
-#: directorymergewindow.cpp:1721
-msgid ""
-"The modification dates of the file are equal but the files are not. Select "
+"The highlighted item has a different type in the different directories. Select "
 "what to do."
 msgstr ""
-"கோபà¯à®ªà¯à®•ளின௠திரà¯à®¤à¯à®¤à®¿à®¯ "
-"தேதிகள௠ஒனà¯à®±à®¾à®• உளà¯à®³à®¤à¯, ஆனால௠"
-"கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ.எதை "
-"செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•. "
-
-#: directorymergewindow.cpp:1778
+"பலவிதமான அடைவà¯à®•ளில௠பலவகையாக தனிபà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ விவரம௠உளà¯à®³à®¤à¯. எதை செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ "
+"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
-"இநà¯à®¤ செயறà¯à®ªà®¾à®Ÿà¯ தறà¯à®ªà¯‹à®¤à¯ "
-"சாதà¯à®¤à®¿à®¯à®®à®¿à®²à¯à®²à¯ˆ à®à®©à¯†à®©à¯à®±à®¾à®²à¯ "
-"அடைவ௠ஒறà¯à®±à®¿à®©à¯ˆ தறà¯à®ªà¯‹à®¤à¯ "
+"கோபà¯à®ªà¯à®•ளின௠திரà¯à®¤à¯à®¤à®¿à®¯ தேதிகள௠ஒனà¯à®±à®¾à®• உளà¯à®³à®¤à¯, ஆனால௠கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ. எதை "
+"செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•. "
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr ""
+"இநà¯à®¤ செயறà¯à®ªà®¾à®Ÿà¯ தறà¯à®ªà¯‹à®¤à¯ சாதà¯à®¤à®¿à®¯à®®à®¿à®²à¯à®²à¯ˆ à®à®©à¯†à®©à¯à®±à®¾à®²à¯ அடைவ௠ஒறà¯à®±à®¿à®©à¯ˆ தறà¯à®ªà¯‹à®¤à¯ "
 "இயஙà¯à®•ிகà¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ினà¯à®±à®¤à¯"
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
-"கடைசி அடியில௠பிழை "
-"இரà¯à®¨à¯à®¤à®¤à¯.\n"
-"இநà¯à®¤ பிழையை à®à®±à¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿à®¯ "
-"விவரதà¯à®¤à¯à®Ÿà®©à¯ தொடர "
-"விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா அலà¯à®²à®¤à¯ "
-"அதை தவிரà¯à®•à¯à®• "
+"கடைசி அடியில௠பிழை இரà¯à®¨à¯à®¤à®¤à¯.\n"
+"இநà¯à®¤ பிழையை à®à®±à¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿à®¯ விவரதà¯à®¤à¯à®Ÿà®©à¯ தொடர விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா அலà¯à®²à®¤à¯ அதை தவிரà¯à®•à¯à®• "
 "விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
-msgstr ""
-"பிழைகà¯à®•à¯à®ªà¯ பிறக௠"
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯à®¤à¯à®¤à®²à¯ˆ தொடரà¯à®•"
-
-#: directorymergewindow.cpp:1840
+msgstr "பிழைகà¯à®•à¯à®ªà¯ பிறக௠ஒனà¯à®±à¯ சேரà¯à®¤à¯à®¤à®²à¯ˆ தொடரà¯à®•"
+
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "கடைசி விவரதà¯à®¤à¯à®Ÿà®©à¯ தொடரà¯à®•"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "விவரதà¯à®¤à¯ˆ தவிரà¯à®•à¯à®•"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "தவிரà¯à®¤à¯à®¤à®¤à¯."
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•ம௠மà¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯"
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ à®®à¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
-"போலியான ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ "
-"à®®à¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯: à®®à¯à®©à¯à®®à¯Šà®´à®¿à®¨à¯à®¤ "
-"இயகà¯à®•à®™à¯à®•ளà¯à®Ÿà®©à¯ நீஙà¯à®•ள௠"
-"ஒதà¯à®¤à¯à®ªà¯à®ªà¯‹à®•ிறீரà¯à®•ளா எனà¯à®ªà®¤à¯ˆ "
-"சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
-
-#: directorymergewindow.cpp:1977
+"போலியான ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ à®®à¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯: à®®à¯à®©à¯à®®à¯Šà®´à®¿à®¨à¯à®¤ இயகà¯à®•à®™à¯à®•ளà¯à®Ÿà®©à¯ நீஙà¯à®•ள௠"
+"ஒதà¯à®¤à¯à®ªà¯à®ªà¯‹à®•ிறீரà¯à®•ளா எனà¯à®ªà®¤à¯ˆ சரிபாரà¯à®•à¯à®•வà¯à®®à¯."
+
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
-"பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. விரிவான "
-"விவரஙà¯à®•ளà¯à®•à¯à®•௠சரி எனà¯à®ªà®¤à¯ˆ "
-"à®…à®´à¯à®¤à¯à®¤à¯à®•.\n"
-
-#: directorymergewindow.cpp:2020
+"பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. விரிவான விவரஙà¯à®•ளà¯à®•à¯à®•௠சரி எனà¯à®ªà®¤à¯ˆ à®…à®´à¯à®¤à¯à®¤à¯à®•.\n"
+
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
-msgstr ""
-"பிழை: %1 நீகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯: பினà¯à®©à®£à®¿ "
-"உரà¯à®µà®¾à®•à¯à®•ம௠தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
-
-#: directorymergewindow.cpp:2027
+msgstr "பிழை: %1 நீகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯: பினà¯à®©à®£à®¿ உரà¯à®µà®¾à®•à¯à®•ம௠தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
+
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
-msgstr ""
-"அடைவ௠சூழà¯à®¨à®¿à®²à¯ˆ நீகà¯à®•௠"
-"நீகà¯à®•à¯(%1)"
-
-#: directorymergewindow.cpp:2029
+msgstr "அடைவ௠சூழà¯à®¨à®¿à®²à¯ˆ நீகà¯à®•௠நீகà¯à®•à¯(%1)"
+
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "நீகà¯à®•à¯( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
-msgstr ""
-"பிழை: அடைவை படிகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ "
-"நீகà¯à®• இயலவிலà¯à®²à¯ˆ."
-
-#: directorymergewindow.cpp:2063
+msgstr "பிழை: அடைவை படிகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ நீகà¯à®• இயலவிலà¯à®²à¯ˆ."
+
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr " rmdir( %1 } பிழை: இயகà¯à®• இயலவிலà¯à®²à¯ˆ"
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
+msgstr "பிழை: நீகà¯à®•à¯à®®à¯ இயகà¯à®•ம௠தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "கைமà¯à®±à¯ˆ ஒனà¯à®±à®¿à®©à¯ˆ(%1, %2,%3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr ""
-"பிழை: நீகà¯à®•à¯à®®à¯ இயகà¯à®•ம௠"
-"தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
-
-#: directorymergewindow.cpp:2099
-msgid "manual merge( %1, %2, %3 -> %4)"
-msgstr "கைமà¯à®®à¯à®±à¯ˆ ஒனà¯à®±à®¿à®©à¯ˆ(%1, %2,%3 -> %4)"
-
-#: directorymergewindow.cpp:2102
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr ""
-"கà¯à®±à®¿à®ªà¯à®ªà¯:  கையேட௠"
-"ஒனà¯à®±à®¿à®©à¯ˆà®¯à®¿à®©à¯ பிறக௠"
-"உபயோகிபà¯à®ªà®µà®°à¯ F7 வழியாக "
-"தொடறவேணà¯à®Ÿà¯à®®à¯."
-
-#: directorymergewindow.cpp:2125
+"கà¯à®±à®¿à®ªà¯à®ªà¯:  கையேட௠ஒனà¯à®±à®¿à®©à¯ˆà®¯à®¿à®©à¯ பிறக௠உபயோகிபà¯à®ªà®µà®°à¯ F7 வழியாக தொடர வேணà¯à®Ÿà¯à®®à¯."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"ிழை:நகலà¯( %1 -> %2 ) தோலà¯à®µà®¿ "
-"அடைநà¯à®¤à®¤à¯.இரà¯à®•à¯à®•à¯à®®à¯ சேரிடம௠"
-"நீகà¯à®•ம௠தோலà¯à®µà®¿ அடைநà¯à®¤à®¤à¯"
-
-#: directorymergewindow.cpp:2135
+"பிழை:நகலà¯( %1 -> %2 ) தோலà¯à®µà®¿ அடைநà¯à®¤à®¤à¯. இரà¯à®•à¯à®•à¯à®®à¯ சேரிடம௠நீகà¯à®•ம௠தோலà¯à®µà®¿ "
+"அடைநà¯à®¤à®¤à¯"
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
 msgstr "நகல௠இணை( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2146
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
 msgstr ""
-"பிழை:தொடரà¯à®ªà¯à®ªà¯ படியெட௠"
-"தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯:தூரத௠"
-"தொடரà¯à®ªà¯ இனà¯à®©à¯à®®à¯ "
-"ஆதரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
-
-#: directorymergewindow.cpp:2152
+"பிழை:தொடரà¯à®ªà¯à®ªà¯ படியெட௠தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯: தூரத௠தொடரà¯à®ªà¯ இனà¯à®©à¯à®®à¯ ஆதரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
-msgstr ""
-"பிழை: நகல௠இணை "
-"தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
-
-#: directorymergewindow.cpp:2172
+msgstr "பிழை: நகல௠இணை தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
+
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "நகலà¯( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"மறà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®®à¯à®ªà¯‹à®¤à¯ பிழை( %1 -> %2 ): "
-"தறà¯à®ªà¯‹à®¤à¯à®³à¯à®³ சேரà¯à®®à®¿à®Ÿà®¤à¯à®¤à¯ˆ "
-"நீகà¯à®• இயலாதà¯."
-
-#: directorymergewindow.cpp:2204
+"மறà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®®à¯ போத௠பிழை( %1 -> %2 ): தறà¯à®ªà¯‹à®¤à¯à®³à¯à®³ சேரà¯à®®à®¿à®Ÿà®¤à¯à®¤à¯ˆ நீகà¯à®• இயலாதà¯."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "மறà¯à®ªà¯†à®¯à®°à¯( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
-msgstr ""
-"பிழை: மறà¯à®ªà¯†à®¯à®°à¯ தோலà¯à®µà®¿ "
-"அடைநà¯à®¤à®¤à¯."
-
-#: directorymergewindow.cpp:2231
+msgstr "பிழை: மறà¯à®ªà¯†à®¯à®°à¯ தோலà¯à®µà®¿ அடைநà¯à®¤à®¤à¯."
+
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr ""
-"%1அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠"
-"பிழை: தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà¯ˆ நீகà¯à®• "
-"இயலாதà¯."
-
-#: directorymergewindow.cpp:2247
+msgstr "%1அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠பிழை: தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà®¿à®©à¯ˆ நீகà¯à®• இயலாதà¯."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "( %1 )அடைவை உரà¯à®µà®¾à®•à¯à®•à¯"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠பிழை"
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "சேரà¯à®®à®¿à®Ÿà®®à¯"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "அடைவà¯"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "விதமà¯"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "அளவà¯"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "தனà¯à®®à¯ˆ"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "கடைசி திரà¯à®¤à¯à®¤à®®à¯"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "இணை-சேரà¯à®®à®¿à®Ÿà®®à¯"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "கிடைகà¯à®•விலà¯à®²à¯ˆ"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (சேரà¯à®®à®¿à®Ÿà®®à¯): "
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A (அடிதà¯à®¤à®³à®®à¯):"
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (சேரà¯à®®à®¿à®Ÿà®®à¯): "
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (சேரà¯à®®à®¿à®Ÿà®®à¯):"
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "சேரà¯à®®à®¿à®Ÿà®®à¯: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "அடைவà¯à®šà¯ சேரà¯à®•à¯à®•ை"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
 msgstr "அடைவை சேரà¯à®•à¯à®•த௠தà¯à®µà®™à¯à®•à¯"
 
-#: directorymergewindow.cpp:2399
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
-msgstr ""
-"நிகழ௠உரà¯à®ªà¯à®ªà®Ÿà®¿à®•à¯à®•ாக "
-"செயறà¯à®ªà®¾à®Ÿà¯ இயஙà¯à®•à¯"
-
-#: directorymergewindow.cpp:2400
+msgstr "நிகழ௠உரà¯à®ªà¯à®ªà®Ÿà®¿à®•à¯à®•ாக செயறà¯à®ªà®¾à®Ÿà¯ இயஙà¯à®•à¯"
+
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
-msgstr ""
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤ கோபà¯à®ªà¯ˆ "
-"ஒபà¯à®ªà®¿à®Ÿà¯"
-
-#: directorymergewindow.cpp:2401
+msgstr "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤ கோபà¯à®ªà®¿à®©à¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
+
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
-msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà¯ˆ ஒனà¯à®±à¯à®šà¯‡à®°à¯"
-
-#: directorymergewindow.cpp:2402
+msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà®¿à®©à¯ˆ ஒனà¯à®±à¯à®šà¯‡à®°à¯"
+
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
 msgstr "அனைதà¯à®¤à¯ உபஅடைவà¯à®•ளையà¯à®®à¯ மடி"
 
-#: directorymergewindow.cpp:2403
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
 msgstr "அனைதà¯à®¤à¯ உபஅடைவà¯à®•ளையà¯à®®à¯ பிரி"
 
-#: directorymergewindow.cpp:2405
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "அடைவà¯à®šà¯ சேரà¯à®•à¯à®•ை"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "அடைவà¯à®šà¯ சேரà¯à®•à¯à®•ை"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
+msgstr "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Aவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Bவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Cவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ தானியகà¯à®•தà¯à®¤à¯‡à®°à¯à®µà¯"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ இயகà¯à®•மிலà¯à®²à¯ˆ"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "ஒதà¯à®¤à®¿à®¯à®•à¯à®•௠அடைவை"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "ஒனà¯à®±à®¾à®• சேரà¯à®ªà¯à®ªà®¤à®±à¯à®•௠பதிலாக பà¯à®¤à®¿à®¯à®µà®°à¯ˆ பதியெடà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
 msgstr ""
-"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Aவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: directorymergewindow.cpp:2406
-msgid "Choose B for All Items"
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "வேற௠விதமான கோபà¯à®ªà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
 msgstr ""
-"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Bவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: directorymergewindow.cpp:2407
-msgid "Choose C for All Items"
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
 msgstr ""
-"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Cவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: directorymergewindow.cpp:2408
-msgid "Auto-Choose Operation for All Items"
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
 msgstr ""
-"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ "
-"தானியகà¯à®•தà¯à®¤à¯‡à®°à¯à®µà¯"
-
-#: directorymergewindow.cpp:2409
-msgid "No Operation for All Items"
-msgstr ""
-"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ "
-"இயகà¯à®•மிலà¯à®²à¯ˆ"
-
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤ கோபà¯à®ªà®¿à®©à¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤ கோபà¯à®ªà®¿à®©à¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "ஒனà¯à®±à¯à®®à¯ செயà¯à®¯à®¾à®¤à¯‡"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "நீகà¯à®•à¯(இரà¯à®¨à¯à®¤à®¾à®²à¯)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "A மறà¯à®±à¯à®®à¯ B நீகà¯à®•௠"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "  A மறà¯à®±à¯à®®à¯Bகà¯à®•ான ஒனà¯à®±à®¿à®£à¯ˆ "
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
+msgstr "A & B஠நீகà¯à®•௠"
+
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
+msgstr "A & B ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯."
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
 msgstr ""
-"ஒர௠பினà¯à®•ோபà¯à®ªà¯ˆ உரà¯à®µà®¾à®•à¯à®• "
-"à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯,பழைய "
-"பினà¯à®•ோபà¯à®ªà¯ˆ நீகà¯à®• "
+"ஒர௠பினà¯à®•ோபà¯à®ªà®¿à®©à¯ˆ உரà¯à®µà®¾à®•à¯à®• à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯, பழைய பினà¯à®•ோபà¯à®ªà®¿à®©à¯ˆ நீகà¯à®• "
 "à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n"
-" கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:"
-
-#: fileaccess.cpp:547
+"கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:"
+
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
 msgstr ""
-"ஒர௠பினà¯à®•ோபà¯à®ªà¯ˆ உரà¯à®µà®¾à®•à¯à®• "
-"à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯,பெயர௠"
-"மாறà¯à®±à®®à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.\n"
-" கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:"
-
-#: fileaccess.cpp:569
+"ஒர௠பினà¯à®•ோபà¯à®ªà®¿à®©à¯ˆ உரà¯à®µà®¾à®•à¯à®• à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯ போதà¯, பெயர௠மாறà¯à®±à®®à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.\n"
+"கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:"
+
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "கோபà¯à®ªà¯ நிலைமை வாஙà¯à®•à¯: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "கோபà¯à®ªà¯à®•ளை படிதà¯à®¤à®²à¯: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "எழà¯à®¤à¯à®®à¯ கோபà¯à®ªà¯: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "நினைவில௠இலà¯à®²à¯ˆ"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "அடைவ௠அமை: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "அடைவ௠அகறà¯à®±à¯: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "அழிதà¯à®¤à®²à¯ கோபà¯à®ªà¯:%1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
-msgstr ""
-"கà¯à®±à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ இணைபà¯à®ªà¯ "
-"உரà¯à®µà®¾à®•à¯à®•à¯à®¤à®²à¯:  %1 -> %2"
-
-#: fileaccess.cpp:788
+msgstr "கà¯à®±à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ இணைபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•à¯à®¤à®²à¯:  %1 -> %2"
+
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "மறà¯à®ªà¯†à®¯à®°à¯:( %1 -> %2 )"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "கோபà¯à®ªà¯ நகலெடà¯à®¤à¯à®¤à®²à¯: %1 -> %2 "
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"கோபà¯à®ªà¯à®ªà¯ படிவினà¯à®ªà¯‹à®¤à¯ பிழை "
-"à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯.படிபà¯à®ªà®¤à®±à¯à®•à¯à®•"
-"ான கோபà¯à®ªà¯à®¤à¯ "
-"திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ "
-"பெயரà¯:%1"
-
-#: fileaccess.cpp:844
+"கோபà¯à®ªà¯à®ªà¯ படிவின௠போத௠பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. படிபà¯à®ªà®¤à®±à¯à®•ான கோபà¯à®ªà¯à®¤à¯ "
+"திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"கோபà¯à®ªà¯à®ªà¯ படிவினà¯à®ªà¯‹à®¤à¯ பிழை "
-"à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯.எழà¯à®¤à¯à®µà®¤à®±à¯à®•à¯à®•"
-"ான கோபà¯à®ªà¯à®¤à¯ "
-"திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ "
-"பெயரà¯:%1"
-
-#: fileaccess.cpp:859
+"கோபà¯à®ªà¯à®ªà¯ படிவின௠போத௠பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. எழà¯à®¤à¯à®µà®¤à®±à¯à®•ான கோபà¯à®ªà¯à®¤à¯ "
+"திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr ""
-"கோபà¯à®ªà¯à®ªà¯ படிவினà¯à®ªà¯‹à®¤à¯ பிழை "
-"à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯à®•ோபà¯à®ªà¯ˆ படிகà¯à®• "
-"இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1"
-
-#: fileaccess.cpp:868
+"கோபà¯à®ªà¯à®ªà¯ படிவின௠போத௠பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯ கோபà¯à®ªà®¿à®©à¯ˆ படிகà¯à®• இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ "
+"பெயரà¯:%1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr ""
-"கோபà¯à®ªà¯à®ªà¯ படிவினà¯à®ªà¯‹à®¤à¯ பிழை "
-"à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯à®•ோபà¯à®ªà®¿à®²à¯ எழà¯à®¤ "
-"இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1"
-
-#: fileaccess.cpp:1171
+"கோபà¯à®ªà¯à®ªà¯ படிவினà¯à®ªà¯‹à®¤à¯ பிழை à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. கோபà¯à®ªà®¿à®²à¯ எழà¯à®¤ இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ "
+"பெயரà¯:%1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "அடைவை படிதà¯à®¤à®²à¯:"
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "அடைவை படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà®²à¯: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "நடபà¯à®ªà¯ உரà¯à®ªà¯à®ªà®Ÿà®¿ இசைவ௠செயறà¯à®ªà®¾à®Ÿà¯"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà®¿à®²à¯ பிழை"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr ""
-"தேரà¯à®µà¯ தானே "
-"உபயோகிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯ "
-"ஆனால௠வெளியீடà¯à®Ÿà¯à®•௠கோபà¯à®ªà¯ "
-"கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
-
-#: kdiff3.cpp:241
+"தேரà¯à®µà¯ தானே உபயோகிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯ ஆனால௠வெளியீடà¯à®Ÿà¯à®•௠கோபà¯à®ªà¯ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
+
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
-msgstr ""
-"அடைவ௠ஒபà¯à®ªà¯€à®¿à®Ÿà¯à®Ÿà¯à®•à¯à®•ாக "
-"தேரà¯à®µà¯ தானே "
-"மறà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
-
-#: kdiff3.cpp:277
+msgstr "அடைவ௠ஒபà¯à®ªà¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•ாக தேரà¯à®µà¯ தானே மறà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "சேகரிபà¯à®ªà¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
-msgstr ""
-"இநà¯à®¤ கோபà¯à®ªà¯à®•ளின௠திறபà¯à®ªà¯ "
-"தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯:"
-
-#: kdiff3.cpp:310
+msgstr "இநà¯à®¤ கோபà¯à®ªà¯à®•ளின௠திறபà¯à®ªà¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯:"
+
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà®¿à®²à¯ பிழை"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
-msgstr ""
-"ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠ஆவணஙà¯à®•ளைத௠"
-"திறகà¯à®•..."
-
-#: kdiff3.cpp:331
+msgstr "ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠ஆவணஙà¯à®•ளைத௠திறகà¯à®•..."
+
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr ""
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ சேகரி. "
-"அனைதà¯à®¤à¯ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯à®®à¯ தீர "
-"வேணà¯à®Ÿà¯à®®à¯."
-
-#: kdiff3.cpp:333
+msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ சேகரி. அனைதà¯à®¤à¯ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯à®®à¯ தீர வேணà¯à®Ÿà¯à®®à¯."
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ ஆவணதà¯à®¤à¯ˆ ....வாக சேமி "
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "பயனà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ à®®à¯à®±à®¿à®•à¯à®•"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ எடà¯à®¤à¯à®¤à¯  கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®²à¯ செலà¯à®¤à¯à®¤à¯à®•ிறதà¯"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ கிளிப௠போரà¯à®Ÿà¯ˆ படி செயà¯à®•ிறதà¯."
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®©à¯ உளà¯à®³à®Ÿà®•à¯à®•à®™à¯à®•ளை உரிய இடதà¯à®¤à®¿à®²à¯ சேரà¯à®•à¯à®•ிறதà¯"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
 msgstr ""
-"தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ "
-"எடà¯à®¤à¯à®¤à¯  கிளிப௠போரà¯à®Ÿà®¿à®²à¯ "
-"செலà¯à®¤à¯à®¤à¯à®•ிறதà¯"
-
-#: kdiff3.cpp:339
-msgid "Copies the selected section to the clipboard"
-msgstr ""
-"தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ கிளிப௠"
-"போரà¯à®Ÿà¯ˆ படிவ௠செயà¯à®•ிறதà¯."
-
-#: kdiff3.cpp:341
-msgid "Pastes the clipboard contents to actual position"
-msgstr ""
-"கிளிப௠போரà¯à®Ÿà®¿à®©à¯ "
-"உளà¯à®³à®Ÿà®•à¯à®•à®™à¯à®•ளைஉரிய இடதà¯à®¤à®¿à®²à¯ "
-"சேரà¯à®•à¯à®•ிறதà¯"
-
-#: kdiff3.cpp:343
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "தொடரà¯à®šà¯à®šà®¿à®•ளை தேடà¯"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "சரதà¯à®¤à¯ˆ மீணà¯à®Ÿà¯à®®à¯ தேடà¯"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
-msgstr ""
-"கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ "
-"செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•à¯"
-
-#: kdiff3.cpp:349
+msgstr "கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•à¯"
+
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
-msgstr ""
-"நிலைபà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ "
-"செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•௠"
-
-#: kdiff3.cpp:353
+msgstr "நிலைபà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•௠"
+
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "KDiff3யை அமை"
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
-msgstr ""
-"தறà¯à®ªà¯‹à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ "
-"செலà¯à®•"
-
-#: kdiff3.cpp:375
+msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "à®®à¯à®¤à®²à¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "கடைசி டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
-msgstr ""
-"à®®à¯à®¨à¯à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ "
-"செலà¯à®•"
-
-#: kdiff3.cpp:378
+msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "அடà¯à®¤à¯à®¤ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
-msgstr ""
-"à®®à¯à®¨à¯à®¤à¯ˆà®¯ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ "
-"செலà¯à®•"
-
-#: kdiff3.cpp:380
+msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
-msgstr ""
-"அடà¯à®¤à¯à®¤ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ "
-"செலà¯à®•"
-
-#: kdiff3.cpp:381
+msgstr "அடà¯à®¤à¯à®¤ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
-msgstr ""
-"à®®à¯à®¨à¯à®¤à¯ˆà®¯ தீரà¯à®•à¯à®•ாத "
-"கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
-
-#: kdiff3.cpp:382
+msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯ தீரà¯à®•à¯à®•ாத கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
-msgstr ""
-"அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத "
-"கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
-
-#: kdiff3.cpp:383
+msgstr "அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•"
+
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
-msgstr ""
-"Aவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:384
+msgstr "Aவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
-msgstr ""
-"Bவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:385
+msgstr "Bவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
-msgstr ""
-"Cவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:386
+msgstr "Cவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"மூலதà¯à®¤à¯ˆ தேரà¯à®µà¯ செயà¯à®¤ பிறக௠"
-"தானாகவே அடà¯à®¤à¯à®¤ "
-"தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ கà¯à®´à®ªà¯à®ªà®¤à®±à¯à®•௠"
-"செல௠"
-
-#: kdiff3.cpp:388
+"மூலதà¯à®¤à¯ˆ தேரà¯à®µà¯ செயà¯à®¤ பிறக௠தானாகவே அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ கà¯à®´à®ªà¯à®ªà®¤à®±à¯à®•௠செல௠"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
-msgstr ""
-"இடைவெளியை காடà¯à®Ÿà®¿ மறà¯à®±à¯à®®à¯ "
-"வேறà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®±à¯à®•à¯à®•ாக "
-"படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà¯à®µà®¾à®©à¯ "
-"எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளà¯"
-
-#: kdiff3.cpp:389
+msgstr "இடைவெளியை காடà¯à®Ÿà®¿ மறà¯à®±à¯à®®à¯ வேறà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®±à¯à®•ாக படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà¯à®µà®¾à®©à¯ எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளà¯"
+
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "வெளà¯à®³à¯ˆ இடதà¯à®¤à¯ˆ காடà¯à®Ÿà¯à®®à¯"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "வரி எணà¯à®•ளை காடà¯à®Ÿà¯"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
-msgstr ""
-"எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Aவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:393
+msgstr "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Aவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
-msgstr ""
-"எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Bவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:394
+msgstr "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Bவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
-msgstr ""
-"எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Cவைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠A-வை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠B-யை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠C-யை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠A-வை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠B-யை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr ""
-"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± "
-"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠C-யை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
-
-#: kdiff3.cpp:401
+msgstr "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Cவைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± à®®à¯à®°à®£à®¿à®±à¯à®•௠A-வை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± à®®à¯à®°à®£à®¿à®±à¯à®•௠B-யை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± à®®à¯à®°à®£à®¿à®±à¯à®•௠C-யை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± வெளà¯à®³à¯ˆ இடம௠மà¯à®°à®£à®¿à®±à¯à®•௠A-வை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± வெளà¯à®³à¯ˆ இடம௠மà¯à®°à®£à®¿à®±à¯à®•௠B-யை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± வெளà¯à®³à¯ˆ இடம௠மà¯à®°à®£à®¿à®±à¯à®•௠C-யை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
-msgstr ""
-"தானாகவே எளிய கà¯à®´à®ªà¯à®ªà®™à¯à®•ளை "
-"தீரà¯à®•à¯à®•."
-
-#: kdiff3.cpp:402
+msgstr "தானாகவே எளிய கà¯à®´à®ªà¯à®ªà®™à¯à®•ளை தீரà¯à®•à¯à®•."
+
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr " Delta வை கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•௠அமை"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "தானாகவே எளிய கà¯à®´à®ªà¯à®ªà®™à¯à®•ளை தீரà¯à®•à¯à®•."
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "A சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "B சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "C சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "அடà¯à®¤à¯à®¤ சாளரதà¯à®¤à¯ˆ நோகà¯à®•à¯"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
-msgstr "þÂøÀ¡½ §ÃøÀ¡Ã¨Å"
-
-#: kdiff3.cpp:410
+msgstr "Normal Overview"
+
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
-msgstr "A ¯¼ý. B §ÃøÀ¡Ã¨Å"
-
-#: kdiff3.cpp:411
+msgstr "A vs. B Overview"
+
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
-msgstr "A ¯¼ý. C §ÃøÀ¡÷¨Å"
-
-#: kdiff3.cpp:412
+msgstr "A vs. C Overview"
+
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
-msgstr "B ¯¼ý. C §ÃøÀ¡÷¨Å"
-
-#: kdiff3.cpp:413
+msgstr "B vs. C Overview"
+
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
-msgstr "Å¡÷ò¨¾ Ţξø Å¢ò¾¢Â¡º º¡ÇÃõ"
-
-#: kdiff3.cpp:418
+msgstr "Word Wrap Diff Windows"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯ சாளரதà¯à®¤à¯ˆ நோகà¯à®•à¯"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "பிரிபà¯à®ªà¯ திசையை மாறà¯à®±à¯"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
-msgstr ""
-"அடைவ௠மறà¯à®±à¯à®®à¯ உரையின௠"
-"பிளவின௠திரைப௠பாரà¯à®µà¯ˆ"
-
-#: kdiff3.cpp:423
+msgstr "அடைவ௠மறà¯à®±à¯à®®à¯ உரையின௠பிளவின௠திரைபà¯à®ªà®¾à®°à¯à®µà¯ˆ"
+
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
-msgstr ""
-"அடைவà¯à®•à¯à®•à¯à®®à¯ உரை "
-"பாரà¯à®µà¯ˆà®•à¯à®•à¯à®®à¯ இடையே மாறà¯à®±à¯à®•"
-
-#: kdiff3.cpp:504 pdiff.cpp:1754
+msgstr "அடைவà¯à®•à¯à®•à¯à®®à¯ உரை பாரà¯à®µà¯ˆà®•à¯à®•à¯à®®à¯ இடையே மாறà¯à®±à¯à®•"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
-msgstr ""
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ "
-"சேகரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
-
-#: kdiff3.cpp:505
+msgstr "ஒனà¯à®±à¯ சேர௠மà¯à®Ÿà®¿à®µà¯ சேகரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
+
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "சேகரிதà¯à®¤à¯ à®®à¯à®Ÿà®¿"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "சேகரிகà¯à®•ாமல௠மூடà¯"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
+msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ சேகரிதà¯à®¤à®²à¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ "
-"சேகரிதà¯à®¤à®²à¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
-
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
-msgstr ""
-"நீஙà¯à®•ள௠தறà¯à®ªà¯‹à®¤à¯ அடைவà¯à®•ளை "
-"சேரà¯à®¤à¯à®¤à¯à®•à¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறீர"
-"à¯à®•ளà¯.நிறà¯à®¤à¯à®¤ "
+"நீஙà¯à®•ள௠தறà¯à®ªà¯‹à®¤à¯ அடைவà¯à®•ளை சேரà¯à®¤à¯à®¤à¯à®•௠கொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறீரà¯à®•ளà¯. நிறà¯à®¤à¯à®¤ "
 "விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
 
-#: kdiff3.cpp:547
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "கோபà¯à®ªà¯ சேகரிதà¯à®¤à®²à¯..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
+msgstr "பà¯à®¤à®¿à®¯ கோபà¯à®ªà¯à®ªà¯à®ªà¯†à®¯à®°à¯à®Ÿà®©à¯ கோபà¯à®ªà®¿à®©à¯ˆ சேகரிதà¯à®¤à®²à¯..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "வெளியேறà¯à®¤à®²à¯..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
 msgstr ""
-"பà¯à®¤à®¿à®¯ கோபà¯à®ªà¯à®ªà¯à®ªà¯†à®¯à®°à¯à®Ÿà®©à¯ "
-"கோபà¯à®ªà¯ˆ சேகரிதà¯à®¤à®²à¯..."
-
-#: kdiff3.cpp:587
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•ம௠மà¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯"
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
-msgstr "வெளியேரà¯à®¤à®²à¯..."
-
-#: kdiff3.cpp:599
+msgstr "வெளியேறà¯à®¤à®²à¯..."
+
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
-msgstr ""
-"கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿ "
-"மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•றதà¯"
-
-#: kdiff3.cpp:619
+msgstr "கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿ மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•றதà¯"
+
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "நிலைபà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ மாறà¯à®±à¯"
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "உரையைத௠தேடà¯:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "எழà¯à®¤à¯à®¤à¯ வகை உணரகà¯à®•ூடிய"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "Aவைத௠தேடà¯"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "Bவைத௠தேடà¯"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "Cவைத௠தேடà¯"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "வெளியீீடà¯à®Ÿà¯ˆà®¤à¯ தேடà¯"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "தேடà¯"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
-msgstr ""
-"ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠கோபà¯à®ªà¯à®•ள௠"
-"கிடைகà¯à®•விலà¯à®²à¯ˆ."
-
-#: kdiff3_part.cpp:266
+msgstr "ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠கோபà¯à®ªà¯à®•ள௠கிடைகà¯à®•விலà¯à®²à¯ˆ."
+
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "உஙà¯à®•ள௠பகà¯à®¤à®¿à®¯à¯ˆ காணவிலà¯à®²à¯ˆ.\n"
-"நிறà¯à®µà¯à®®à¯à®ªà¯‹à®¤à¯ இபà¯à®ªà®Ÿà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿ "
-"பிரரà¯à®šà¯à®šà®©à¯ˆ "
-"à®à®±à¯à®ªà®Ÿà¯à®®à¯à®µà®¿à®µà®°à®™à¯à®•ளà¯à®•à¯à®•௠README "
-"தொகà¯à®ªà¯à®ªà¯ˆà®ªà¯ படிகà¯à®•வà¯à®®à¯"
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
+"நிறà¯à®µà¯à®®à¯ போத௠இபà¯à®ªà®Ÿà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿ பிரசà¯à®šà®©à¯ˆ à®à®±à¯à®ªà®Ÿà¯à®®à¯ விவரஙà¯à®•ளà¯à®•à¯à®•௠README தொகà¯à®ªà¯à®ªà¯ˆà®ªà¯ "
+"படிகà¯à®•வà¯à®®à¯"
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
 msgstr ""
-"உரை வேறà¯à®ªà®¾à®Ÿà¯ மறà¯à®±à¯à®®à¯ கரà¯à®µà®¿ "
-"சேரà¯à®•à¯à®•ை"
-
-#: main.cpp:35
+
+#: main.cpp:40
 msgid "Merge the input."
-msgstr "உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ ஒனà¯à®±à¯à®šà¯‡à®°à¯."
-
-#: main.cpp:37
+msgstr "உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ ஒனà¯à®±à¯ சேரà¯."
+
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
-msgstr ""
-"தெளிவான அடிதà¯à®¤à®³à®•௠கோபà¯à®ªà¯ˆ "
-"சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ "
-"பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯"
-
-#: main.cpp:39
+msgstr "தெளிவான அடிதà¯à®¤à®³à®•௠கோபà¯à®ªà®¿à®©à¯ˆ சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯"
+
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
-msgstr " வெளியீட௠ கோபà¯à®ªà¯"
-
-#: main.cpp:40
+msgstr "வெளியீட௠கோபà¯à®ªà¯"
+
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
-msgstr ""
-"மறà¯à®ªà®Ÿà®¿à®¯à¯à®®à¯ கோபà¯à®ªà¯ˆ  "
-"வெளியீடà¯(சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ "
-"பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯)"
-
-#: main.cpp:41
+msgstr "மறà¯à®ªà®Ÿà®¿à®¯à¯à®®à¯ கோபà¯à®ªà®¿à®©à¯ˆ வெளியீடà¯(சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯)"
+
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
-msgstr ""
-"எலà¯à®²à®¾ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளையà¯à®®à¯ "
-"தானாகவே நீஙà¯à®•à¯à®®à®¾à®©à®¾à®²à¯  GUI "
-"தேவையிலà¯à®²à¯ˆ"
-
-#: main.cpp:42
+msgstr "எலà¯à®²à®¾ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளையà¯à®®à¯ தானாகவே நீஙà¯à®•à¯à®®à®¾à®©à®¾à®²à¯ GUI தேவையிலà¯à®²à¯ˆ"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
-msgstr ""
-"தாமாகவே தீராத கà¯à®´à®ªà¯à®ªà®™à¯à®•ள௠(For "
-"compatibility...)"
-
-#: main.cpp:43
+msgstr "தாமாகவே தீராத கà¯à®´à®ªà¯à®ªà®™à¯à®•ள௠(For compatibility...)"
+
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
-msgstr ""
-"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ "
-"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ "
-"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ "
-"அமைகà¯à®•."
-
-#: main.cpp:44
+msgstr "Visible name replacement for input file 1 (base)."
+
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
-msgstr ""
-"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ "
-"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ "
-"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ "
-"அமைகà¯à®•."
-
-#: main.cpp:45
+msgstr "Visible name replacement for input file 2."
+
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
-msgstr ""
-"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ "
-"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ "
-"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ "
-"அமைகà¯à®•."
-
-#: main.cpp:47
+msgstr "Visible name replacement for input file 3."
+
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
-"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ "
-"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ "
-"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ "
-"அமைகà¯à®•."
-
-#: main.cpp:48
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Å¢¨Ç׸û þø¨Ä. º¢Ä ¸ÕÅ¢§Â¡Î è½ÒâÔõ ¾ý¨Ã"
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ பொரà¯à®¨à¯à®¤à¯à®¤à®²à¯"
-
-#: main.cpp:52
+"Alternative visible name replacement. Supply this once for every input."
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "வேற௠விதமான கோபà¯à®ªà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
-msgstr ""
-"கோபà¯à®ªà¯1 யை திற(அடிதà¯à®¤à®³à®®à¯ "
-"அலà¯à®²à®¤à¯ via அடிதà¯à®¤à®³à®®à¯)"
-
-#: main.cpp:53
+msgstr "கோபà¯à®ªà¯1 யை திற(அடிதà¯à®¤à®³à®®à¯ அலà¯à®²à®¤à¯ via அடிதà¯à®¤à®³à®®à¯)"
+
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "கோபà¯à®ªà¯2 திற"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "கோபà¯à®ªà¯ 3னà¯à®±à¯ˆ திற"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
-msgstr ""
-"+ À¢¨Æ¸¨Ç ÃüÚõ §Â¡º¨½¸¨Ç «È¢Å¢ò¾Å÷¸ÙìÌ "
-"¿ñÈ¢¸û!"
-
-#: mergeresultwindow.cpp:254
+msgstr "+ Many thanks to those who reported bugs and contributed ideas!"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "இனà¯à®©à¯à®®à¯ தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•ை: %1"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 msgstr ""
-"வெளீயிட௠"
-"மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯à®¨à¯€à®™à¯à®•ள௠"
-"தொடரà¯à®¨à¯à®¤à®¾à®²à¯ மாறà¯à®±à®™à¯à®•ளை "
-"இழநà¯à®¤à¯ விடà¯à®µà¯€à®°à¯à®•ளà¯"
-
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+"வெளீயிட௠மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯. நீஙà¯à®•ள௠தொடரà¯à®¨à¯à®¤à®¾à®²à¯ மாறà¯à®±à®™à¯à®•ளை இழநà¯à®¤à¯ விடà¯à®µà¯€à®°à¯à®•ளà¯"
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
-msgstr ""
-"அணைதà¯à®¤à¯ உளà¯à®³à®¿à®Ÿà¯ "
-"கோபà¯à®ªà¯à®•ளà¯à®®à¯ இரà¯à®¨à®¿à®²à¯ˆ சமமà¯"
-
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+msgstr "அனைதà¯à®¤à¯ உளà¯à®³à®¿à®Ÿà¯ கோபà¯à®ªà¯à®•ளà¯à®®à¯ இரà¯à®¨à®¿à®²à¯ˆ சமமà¯"
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
-msgstr ""
-"அனைதà¯à®¤à¯ உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•௠"
-"கோபà¯à®ªà¯à®•ளà¯à®®à¯ ஒரே உரையைக௠"
-"கொணà¯à®Ÿà®©."
-
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+msgstr "அனைதà¯à®¤à¯ உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•௠கோபà¯à®ªà¯à®•ளà¯à®®à¯ ஒரே உரையைக௠கொணà¯à®Ÿà®©."
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B இரà¯à®¨à®¿à®²à¯ˆ "
-"சமம௠உடையன.\n"
-
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B இரà¯à®¨à®¿à®²à¯ˆ சமம௠உடையன.\n"
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B சம உரை "
-"உடையன.\n"
-
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B சம உரை உடையன.\n"
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ "
-"சமம௠உடையன.\n"
-
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ சமம௠உடையன.\n"
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C சம உரை "
-"உடையன.\n"
-
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+"கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C சம உரை உடையன.\n"
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ "
-"சமம௠உடையன.\n"
-
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+"கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ சமம௠உடையன.\n"
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
-"கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C சம உரை "
-"உடையன.\n"
-
-#: mergeresultwindow.cpp:738
+"கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C சம உரை உடையன.\n"
+
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
-msgstr ""
-"மொதà¯à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠"
-"எணà¯à®£à®¿à®•à¯à®•ை:"
-
-#: mergeresultwindow.cpp:739
+msgstr "மொதà¯à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:"
+
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
 "\n"
-"தாமாகவே தீரà¯à®¨à¯à®¤ "
-"கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•ை"
-
-#: mergeresultwindow.cpp:740
+"தாமாகவே தீரà¯à®¨à¯à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை"
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
 msgstr ""
 "\n"
-"தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ "
-"கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•ை"
-
-#: mergeresultwindow.cpp:742
+"தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை"
+
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<No src line>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<ஒனà¯à®±à¯à®šà¯‡à®°à¯ கà¯à®´à®ªà¯à®ªà®®à¯>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<ஒனà¯à®±à¯à®šà¯‡à®°à¯ கà¯à®´à®ªà¯à®ªà®®à¯>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr " வெளியீடà¯"
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[திரà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
 msgstr ""
-"அணைதà¯à®¤à¯ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯à®®à¯ "
-"இனà¯à®©à¯à®®à¯ தீரவிலà¯à®²à¯ˆ.\n"
-"கோபà¯à®ªà¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ \n"
-
-#: mergeresultwindow.cpp:2069
+"அனைதà¯à®¤à¯ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯à®®à¯ இனà¯à®©à¯à®®à¯ தீரவிலà¯à®²à¯ˆ.\n"
+"கோபà¯à®ªà®¿à®©à¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ \n"
+
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "கà¯à®´à®ªà¯à®ªà®®à®¾à®© இடதà¯"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-"\n"
-"\n"
-"கோபà¯à®ªà¯ˆà®¯à¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ"
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
-msgstr "கோபà¯à®ªà¯ˆ சேமிபà¯à®ªà¯ பிழை"
-
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr ""
-"சேமிகà¯à®•à¯à®®à¯ தரà¯à®µà®¾à®¯à®¿à®²à¯ "
-"நினைவ௠தவறியதà¯"
-
-#: mergeresultwindow.cpp:2142
+msgstr "கோபà¯à®ªà®¿à®© சேமிபà¯à®ªà¯ பிழை"
+
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "எழà¯à®¤à¯à®®à¯ பொழà¯à®¤à¯ பிழை"
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "இலà¯à®²à®¾-ஆஸà¯à®•ி-எழà¯à®¤à¯à®¤à¯à®•à¯à®•ள௠சரியாக வெளிகாடà¯à®Ÿà®µà®¿à®²à¯à®²à¯ˆ எனà¯à®±à®¾à®²à¯ இதை மாறà¯à®±à¯à®•"
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
-msgstr ""
-"திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à¯à®®à¯ விதà¯à®¯à®¾à®šà®®à®¾à®© "
-"வெளியீடà¯à®Ÿà¯ எழà¯à®¤à¯à®¤à¯à®•ளூமà¯"
-
-#: optiondialog.cpp:342
+msgstr "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à¯à®®à¯ விதà¯à®¤à®¿à®¯à®¾à®šà®®à®¾à®© வெளியீடà¯à®Ÿà¯ எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளà¯à®®à¯"
+
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
-msgstr ""
-"deltaவிறà¯à®•ான இதà¯à®¤à®¾à®²à®¿à®¯ "
-"எழà¯à®¤à¯à®¤à¯à®°à¯"
-
-#: optiondialog.cpp:345
+msgstr "deltaவிறà¯à®•ான இதà¯à®¤à®¾à®²à®¿à®¯ எழà¯à®¤à¯à®¤à¯à®°à¯"
+
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
-"விதà¯à®¤à®¿à®¯à®¾à®šà®™à¯à®•ளà¯à®•à¯à®•ாக "
-"இதà¯à®¤à®¾à®²à®¿à®¯ பதிவை "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯.\n"
+"விதà¯à®¤à®¿à®¯à®¾à®šà®™à¯à®•ளà¯à®•à¯à®•ாக இதà¯à®¤à®¾à®²à®¿à®¯ பதிவை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯.\n"
 "If the font doesn't support italic characters, then this does nothing."
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "வரà¯à®£à®®à¯"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "இதர அமைபà¯à®ªà¯à®•ளை உளà¯à®³à®Ÿà®•à¯à®•ியதà¯"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
 msgstr ""
-"திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à®¿à®©à¯ வணà¯à®£à®®à¯à®®à¯ "
-"விதà¯à®¯à®¾à®šà®®à®¾à®© வெளியீடà¯à®®à¯"
-
-#: optiondialog.cpp:367
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
-msgstr "à®®à¯à®©à¯à®©à®©à®¿ நிறமà¯"
-
-#: optiondialog.cpp:373
+msgstr "à®®à¯à®©à¯à®©à®£à®¿ நிறமà¯"
+
+#: optiondialog.cpp:564
 msgid "Background color:"
-msgstr "பினà¯à®©à®©à®¿ நிறமà¯"
-
-#: optiondialog.cpp:380
+msgstr "பினà¯à®©à®£à®¿ நிறமà¯"
+
+#: optiondialog.cpp:572
 msgid "Diff background color:"
-msgstr "வேறà¯à®ªà®Ÿà¯à®Ÿ பினà¯à®©à®©à®¿ நிறமà¯"
-
-#: optiondialog.cpp:387
+msgstr "வேறà¯à®ªà®Ÿà¯à®Ÿ பினà¯à®©à®£à®¿ நிறமà¯"
+
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "வரà¯à®£à®®à¯ A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "வரà¯à®£à®®à¯ B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "வரà¯à®£à®®à¯ C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
-msgstr "கà¯à®´à®ªà¯à®ªà®®à®¾à®©  நிறமà¯"
-
-#: optiondialog.cpp:414
+msgstr "கà¯à®´à®ªà¯à®ªà®®à®¾à®© நிறமà¯"
+
+#: optiondialog.cpp:606
 msgid "Current range background color:"
+msgstr "பினà¯à®©à®£à®¿ நிறதà¯à®¤à®¿à®©à¯ தறà¯à®ªà¯‹à®¤à¯ˆà®¯ வரமà¯à®ªà¯ "
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr "பினà¯à®©à®£à®¿ நிறதà¯à®¤à®¿à®©à¯ வேறà¯à®ªà®Ÿà¯à®Ÿ தறà¯à®ªà¯‹à®¤à¯ˆà®¯ வரமà¯à®ªà¯ "
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
 msgstr ""
-"பினà¯à®©à®©à®¿ நிறதà¯à®¤à¯€à®©à¯ தறà¯à®ªà¯Šà®¤à¯ˆà®¯ "
-"வரமà¯à®ªà¯ "
-
-#: optiondialog.cpp:421
-msgid "Current range diff background color:"
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "அடைவ௠ஒபà¯à®ªà®¿à®Ÿà¯à®®à¯ நிலை"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
 msgstr ""
-"பினà¯à®©à®©à®¿ நிறதà¯à®¤à¯€à®©à¯ "
-"வேறà¯à®ªà¯à®ªà®Ÿà¯à®Ÿ தறà¯à®ªà¯Šà®¤à¯ˆà®¯ வரமà¯à®ªà¯ "
-
-#: optiondialog.cpp:432
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "திரà¯à®¤à¯à®¤à®¿à®¯à®µà®°à¯"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
 msgstr "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à®¿à®©à¯ செயலà¯à®ªà®¾à®Ÿà¯"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "ததà¯à®¤à®²à¯ இடைவெளியை சொரà¯à®•à¯à®®à¯"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
-"On:ததà¯à®¤à®²à¯ˆ à®…à®´à¯à®¤à¯à®¤à¯à®®à¯ போத௠"
-"தேவையான இடைவெளி "
-"உரà¯à®µà®¾à®•ிறதà¯Off:ஒர௠ததà¯à®¤à®²à¯ "
-"எழà¯à®¤à¯à®¤à¯ சொரà¯à®•பà¯à®ªà®Ÿà¯à®®à¯"
-
-#: optiondialog.cpp:450
+"On:ததà¯à®¤à®²à¯ˆ à®…à®´à¯à®¤à¯à®¤à¯à®®à¯ போத௠தேவையான இடைவெளி உரà¯à®µà®¾à®•ிறதà¯, \n"
+"Off:ஒர௠ததà¯à®¤à®²à¯ எழà¯à®¤à¯à®¤à¯ சொரà¯à®•பà¯à®ªà®Ÿà¯à®®à¯"
+
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tab அளவà¯"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
-msgstr "தானிட ஒதà¯à®•à¯à®•ி"
-
-#: optiondialog.cpp:458
+msgstr "தானியகà¯à®• உளà¯à®³à®Ÿà®•à¯à®•à®®à¯"
+
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
-"à®®à¯à®¨à¯à®¤à¯ˆà®¯ வரியில௠"
-"பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ நகரà¯à®ªà¯à®ªà¯ "
-"பà¯à®¤à®¿à®¯ வரியிலà¯à®®à¯ "
-"பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯\n"
-
-#: optiondialog.cpp:462
+"à®®à¯à®¨à¯à®¤à¯ˆà®¯ வரியில௠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿ நகரà¯à®ªà¯à®ªà¯ பà¯à®¤à®¿à®¯ வரியிலà¯à®®à¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯\n"
+
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
-msgstr ""
-"தானாகவே "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ படிவà¯"
-
-#: optiondialog.cpp:465
+msgstr "தானாகவே தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ படிவà¯"
+
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
-"எநà¯à®¤ ஒர௠தேரà¯à®µà¯ˆà®¯à¯à®®à¯ "
-"உடனடியாக கிளிப௠போரà¯à®Ÿà¯à®•à¯à®•௠"
-"எழà¯à®¤à®µà¯à®®à¯.\n"
-"நீஙà¯à®•ள௠வெளிபà¯à®ªà®Ÿà¯ˆà®¯à®¾à®• படிவ௠"
-"செயà¯"
-
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+"எநà¯à®¤ ஒர௠தேரà¯à®µà¯ˆà®¯à¯à®®à¯ உடனடியாக கிளிப௠போரà¯à®Ÿà¯à®•à¯à®•௠எழà¯à®¤à®µà¯à®®à¯.\n"
+"நீஙà¯à®•ள௠வெளிபà¯à®ªà®Ÿà¯ˆà®¯à®¾à®• படிவ௠செயà¯"
+
+#: optiondialog.cpp:703
+#, fuzzy
+msgid "Line end style:"
 msgstr "வரிகளின௠பாணி தாளà¯"
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
+#, fuzzy
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-"கோடà¯à®Ÿà®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ அமைதà¯à®¤à¯ "
-"தொகà¯à®ªà¯à®ªà¯à®•à¯à®•ோபà¯à®ªà®¿à®²à¯ "
-"சேமிDOS/விணà¯à®Ÿà¯Šà®¸à¯: "
+"கோடà¯à®Ÿà®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ அமைதà¯à®¤à¯ தொகà¯à®ªà¯à®ªà¯à®•à¯à®•ோபà¯à®ªà®¿à®²à¯ சேமிDOS/விணà¯à®Ÿà¯‹à®¸à¯: "
 "CR+LF;யà¯à®©à®¿à®•à¯à®¸à¯:மறà¯à®±à¯à®®à¯ CR=0D, LF=0A"
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr ""
-"லொகல௠கà¯à®±à®¿à®®à¯à®±à¯ˆà®¯à®¾à®•à¯à®•ம௠"
-"உபயோகி"
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-"இலà¯à®²à®¾-ஆஸà¯à®•ி-எழà¯à®¤à¯à®¤à¯à®•à¯à®•ள௠"
-"சரியாக வெளிகாடà¯à®Ÿà®µà®¿à®²à¯à®²à¯ˆ "
-"எனà¯à®±à®¾à®²à¯ இதை மாறà¯à®±à¯à®•"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "வேறà¯à®ªà®¾à®Ÿà¯ & சேரà¯à®¤à¯à®¤à®¿à®Ÿà¯"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr ""
-"வேறà¯à®ªà®¾à®Ÿà¯  & சேரà¯à®¤à¯à®¤à®¿à®Ÿà¯ "
-"அமைபà¯à®ªà¯à®•ளà¯"
-
-#: optiondialog.cpp:510
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "வேறà¯à®ªà®¾à®Ÿà¯ & சேரà¯à®¤à¯à®¤à®¿à®Ÿà¯ அமைபà¯à®ªà¯à®•ளà¯"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr " carriage return யை பராமரி"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr "carriage return எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை காடà¯à®Ÿà¯"
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
-msgstr "சொரà¯à®•ளை ஒதà¯à®•à¯à®•à¯"
-
-#: optiondialog.cpp:521
+msgstr "சொறà¯à®•ளை தவிரà¯"
+
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
-msgstr ""
-"வரி பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠எண௠"
-"எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை நிராகரி."
-
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+msgstr "வரி பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠எண௠எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை நிராகரி."
+
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
 msgstr "C/C++  கà¯à®±à®¿à®ªà¯à®ªà¯à®°à¯ˆà®•ளை பà¯à®±à®•à¯à®•ணி"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
-msgstr ""
-"C/C++  கà¯à®±à®¿à®ªà¯à®ªà¯à®°à¯ˆà®•ளை வெளà¯à®³à¯ˆ "
-"இடம௠போல உபசரி."
-
-#: optiondialog.cpp:532
+msgstr "C/C++  கà¯à®±à®¿à®ªà¯à®ªà¯à®°à¯ˆà®•ளை வெளà¯à®³à¯ˆ இடம௠போல உபசரி."
+
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "±Øòý÷¨Å ¾Å¢÷"
-
-#: optiondialog.cpp:535
+msgstr "Ignore case"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr "±ØòÃÕ Ã¡üÈò¨¾ ¦ÅüÈ¢¼í¸û §À¡Ä ¿¢¨½ì¸×õ "
-
-#: optiondialog.cpp:539
+msgstr "Treat case differences like white space changes. ('a'<=>'A')"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "à®®à¯à®©à¯ செயலாகà¯à®• கடà¯à®Ÿà®³à¯ˆ"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
-msgstr ""
-"உபயோகிபà¯à®ªà®¾à®³à®°à®¾à®²à¯ "
-"à®…à®±à¯à®¤à®¿à®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ "
-"à®®à¯à®©à¯-செயலாகà¯à®•ி"
-
-#: optiondialog.cpp:546
+msgstr "உபயோகிபà¯à®ªà®¾à®³à®°à®¾à®²à¯ à®…à®±à¯à®¤à®¿à®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ à®®à¯à®©à¯-செயலாகà¯à®•ி"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
-msgstr ""
-"வரி-பொரà¯à®¤à¯à®¤à¯  à®®à¯à®©à¯-செயலாகà¯à®•ி "
-" கடà¯à®Ÿà®³à¯ˆ"
-
-#: optiondialog.cpp:550
+msgstr "வரி-பொரà¯à®¤à¯à®¤à¯ à®®à¯à®©à¯-செயலாகà¯à®•ி கடà¯à®Ÿà®³à¯ˆ"
+
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
-msgstr ""
-"à®®à¯à®©à¯-செயலாகà¯à®•ி "
-"வரி-பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠"
-"பயனà¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
-
-#: optiondialog.cpp:553
+msgstr "à®®à¯à®©à¯-செயலாகà¯à®•ி வரி-பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠பயனà¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "கடினமாக à®®à¯à®¯à®±à¯à®šà®¿(மெதà¯à®µà®¾à®•)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
-"வெளி வேறà¯à®±à¯à®®à¯ˆà®•à¯à®•ான --கà¯à®±à¯ˆà®¨à¯à®¤ "
-"விரà¯à®ªà¯à®ªà®¤à¯à®¤à¯ˆ "
-"செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯.\n"
-"பெரிய கோபà¯à®ªà¯à®•ளின௠"
-"பகà¯à®ªà¯à®ªà®¾à®¯à¯à®µà¯ மெதà¯à®µà®¾à®• "
-"இரà¯à®•à¯à®•à¯à®®à¯."
-
-#: optiondialog.cpp:561
+"வெளி வேறà¯à®±à¯à®®à¯ˆà®•à¯à®•ான --கà¯à®±à¯ˆà®¨à¯à®¤ விரà¯à®ªà¯à®ªà®¤à¯à®¤à¯ˆ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯.\n"
+"பெரிய கோபà¯à®ªà¯à®•ளின௠பகà¯à®ªà¯à®ªà®¾à®¯à¯à®µà¯ மெதà¯à®µà®¾à®• இரà¯à®•à¯à®•à¯à®®à¯."
+
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "தானாக à®®à¯à®©à¯à®©à¯‡à®±à®¿à®¯ தாமதம௠(ms):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
-"தறà¯à®ªà¯‹à®¤à¯ˆà®¯ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®ªà¯à®ªà®¿à®©à¯ "
-"à®®à¯à®Ÿà¯à®µà¯ˆ தானாக - à®®à¯à®©à¯à®©à¯‡à®±à¯à®®à¯ "
-"அமைபà¯à®ªà®¿à®²à¯.\n"
-"கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ கால "
-"இடைவெளியிலà¯, அடà¯à®¤à¯à®¤ "
-"சிகà¯à®•லà¯à®•à¯à®•லà¯à®•à¯à®•௠மà¯à®©à¯ "
-"தெரிநà¯à®¤à¯à®•ொளà¯à®³à®²à®¾à®®à¯."
-
-#: optiondialog.cpp:571
+"தறà¯à®ªà¯‹à®¤à¯ˆà®¯ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®ªà¯à®ªà®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ தானாக - à®®à¯à®©à¯à®©à¯‡à®±à¯à®®à¯ அமைபà¯à®ªà®¿à®²à¯.\n"
+"கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ கால இடைவெளியிலà¯, அடà¯à®¤à¯à®¤ சிகà¯à®•லà¯à®•à¯à®•௠மà¯à®©à¯ தெரிநà¯à®¤à¯à®•ொளà¯à®³à®²à®¾à®®à¯."
+
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
+msgstr "வெளà¯à®³à¯ˆ இடம௠2-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
+msgstr "கையேட௠விரà¯à®ªà¯à®ªà®®à¯"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
-"வெளà¯à®³à¯ˆ இடம௠2-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ "
-"à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:"
-
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "கையேட௠விரà¯à®ªà¯à®ªà®®à¯"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+"வெளà¯à®³à¯ˆ-இடமà¯-மாறà¯à®±à®™à¯à®•ளà¯à®•à¯à®•ாக தானாக தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à¯à®®à¯ உளà¯à®³à¯€à®Ÿà¯à®Ÿà®¿à®±à¯à®•à¯à®•௠ஒனà¯à®±à®¿à®£à¯ˆ "
+"படிமà¯à®±à¯ˆà®¯à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•à¯à®®à¯."
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "வெளà¯à®³à¯ˆ இடம௠3-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
 msgstr ""
-"வெளà¯à®³à¯ˆ-இடமà¯-மாறà¯à®±à®™à¯à®•ளà¯à®•à¯à®•ாக"
-" தானாக தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à¯à®®à¯ "
-"உளà¯à®³à¯€à®Ÿà¯à®Ÿà®¿à®±à¯à®•à¯à®•௠ஒனà¯à®±à®¿à®£à¯ˆ "
-"படிமà¯à®±à¯ˆà®¯à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•à¯à®®à¯."
-
-#: optiondialog.cpp:584
-msgid "White space 3-file merge default:"
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
 msgstr ""
-"வெளà¯à®³à¯ˆ இடம௠3-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ "
-"à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:"
-
-#: optiondialog.cpp:603
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.3  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "அடைவà¯à®šà¯ சேரà¯à®•à¯à®•ை"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr "திரà¯à®®à¯à®ª நிகழà¯à®®à¯ அடைவà¯à®•ளà¯"
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
-msgstr ""
-"உபஅடைவà¯à®•ளை பரிசோதிகà¯à®• "
-"வேணà¯à®Ÿà¯à®®à®¾?"
-
-#: optiondialog.cpp:615
+msgstr "உபஅடைவà¯à®•ளை பரிசோதிகà¯à®• வேணà¯à®Ÿà¯à®®à®¾?"
+
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "கோபà¯à®ªà¯ வடிவஙà¯à®•ளà¯:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ "
-"வெளியேறà¯à®±  பட வேணà¯à®Ÿà®¿à®¯  "
-"கொபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
-"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ "
-"வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
-
-#: optiondialog.cpp:626
+"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ வெளியேறà¯à®±à®ªà¯à®ªà®Ÿ வேணà¯à®Ÿà®¿à®¯ கோபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
+"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
-msgstr " வடிவறà¯à®± கோபà¯à®ªà¯"
-
-#: optiondialog.cpp:631
+msgstr "வடிவறà¯à®± கோபà¯à®ªà¯"
+
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ "
-"வெளியேறà¯à®±  பட வேணà¯à®Ÿà®¿à®¯  "
-"கொபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
-"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ "
-"வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
-
-#: optiondialog.cpp:637
+"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ வெளியேறà¯à®±à®ªà¯à®ªà®Ÿ வேணà¯à®Ÿà®¿à®¯ கோபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
+"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr "வடிவறà¯à®± அடைவà¯"
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ "
-"வெளியேறà¯à®±  பட வேணà¯à®Ÿà®¿à®¯  "
-"கொபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
-"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ "
-"வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
-
-#: optiondialog.cpp:648
+"பரிசோதனையிலிரà¯à®¨à¯à®¤à¯ வெளியேறà¯à®±à®ªà¯à®ªà®Ÿ வேணà¯à®Ÿà®¿à®¯ கோபà¯à®ªà¯à®•ளின௠வடிவஙà¯à®•ளà¯.Wildcards ';' "
+"உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯"
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr ".cvsignore உபயோகி"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
@@ -1970,77 +1903,79 @@
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
-msgstr ""
-"மறைநà¯à®¤ கோபà¯à®ªà¯à®•ளையà¯à®®à¯ "
-"அடைவà¯à®•ளையà¯à®®à¯ தேடà¯"
-
-#: optiondialog.cpp:659
+msgstr "மறைநà¯à®¤ கோபà¯à®ªà¯à®•ளையà¯à®®à¯ அடைவà¯à®•ளையà¯à®®à¯ தேடà¯"
+
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
-msgstr ""
-"கோபà¯à®ªà¯à®•ளையà¯à®®à¯ அடைவà¯à®•ளையà¯à®®à¯ "
-"மறைநà¯à®¤ கà¯à®£à®™à¯à®•ளà¯à®Ÿà®©à¯ "
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯ "
-
-#: optiondialog.cpp:661
+msgstr "கோபà¯à®ªà¯à®•ளையà¯à®®à¯ அடைவà¯à®•ளையà¯à®®à¯ மறைநà¯à®¤ கà¯à®£à®™à¯à®•ளà¯à®Ÿà®©à¯ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯ "
+
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
-msgstr ""
-"'.'. தொடஙà¯à®•à¯à®®à¯ கோபà¯à®ªà¯à®•ளà¯à®®à¯ "
-"அடைவà¯à®•ளà¯à®®à¯ தேடà¯"
-
-#: optiondialog.cpp:665
+msgstr "'.'. தொடஙà¯à®•à¯à®®à¯ கோபà¯à®ªà¯à®•ளà¯à®®à¯ அடைவà¯à®•ளà¯à®®à¯ தேடà¯"
+
+#: optiondialog.cpp:1005
 msgid "Follow file links"
-msgstr "கோபà¯à®ªà¯ இனைபà¯à®ªà¯ˆ பினà¯à®ªà®±à¯à®±à¯"
-
-#: optiondialog.cpp:668
+msgstr "கோபà¯à®ªà¯ இணைபà¯à®ªà¯ˆ பினà¯à®ªà®±à¯à®±à¯"
+
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
 msgstr ""
-"கோபà¯à®ªà¯ˆ இனைபà¯à®ªà¯ கூறியோட௠"
-"ஒபà¯à®ªà®¿à®Ÿà¯ இனைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
-
-#: optiondialog.cpp:673
+"கோபà¯à®ªà®¿à®©à¯ˆ இணைபà¯à®ªà¯ கà¯à®±à®¿à®¯à¯‹à®Ÿà¯ ஒபà¯à®ªà®¿à®Ÿà¯.\n"
+" இணைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
+
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "அடைவை இணைபà¯à®ªà¯ˆ பினà¯à®ªà®±à¯à®±à¯"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
-msgstr ""
-"On:அடைவை இனைபà¯à®ªà¯ கூறியோட௠"
-"ஒபà¯à®ªà®¿à®Ÿà¯Offஇனைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
-
-#: optiondialog.cpp:681
+msgstr "On:அடைவை இணைபà¯à®ªà¯ கà¯à®±à®¿à®¯à¯‹à®Ÿà¯ ஒபà¯à®ªà®¿à®Ÿà¯Off இணைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯"
+
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr "மாறà¯à®±à®®à¯ மடà¯à®Ÿà¯à®®à¯ படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà¯"
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
+msgstr "கோபà¯à®ªà¯à®•ளà¯à®®à¯ அடைவà¯à®•ளà¯à®®à¯ மாறà¯à®±à®ªà¯à®ªà®Ÿà®¾à®®à®²à¯ படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ இடம௠பெறாதà¯"
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
 msgstr ""
-"கோபà¯à®ªà¯à®•ளà¯à®®à¯ அடைவà¯à®•ளà¯à®®à¯ "
-"மாறà¯à®±à®ªà¯à®ªà®Ÿà®¾à®®à®²à¯  படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ "
-"இடம௠பெறாதà¯"
-
-#: optiondialog.cpp:687
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr "§¸¡ôÒ À⧺¡¾¨É À¡íÌ"
-
-#: optiondialog.cpp:691
-msgid "Binary Comparison"
-msgstr "þÄìÌÓ¨È ´ôÀ£Î"
-
-#: optiondialog.cpp:692
+msgstr "File Comparison Mode"
+
+#: optiondialog.cpp:1043
+#, fuzzy
+msgid "Binary comparison"
+msgstr "Binary Comparison"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr "´ù¦Å¡Õ §¸¡ôÀ¢ý þÄìÌÓ¨È ´ôÀ¢Î¾ø. (Óñ½¢ÕôÒ)"
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr "ÓØ À⧺¡¾¨½"
-
-#: optiondialog.cpp:695
+msgstr "Binary comparison of each file. (Default)"
+
+#: optiondialog.cpp:1046
+#, fuzzy
+msgid "Full analysis"
+msgstr "Full Analysis"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
@@ -2048,126 +1983,167 @@
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
-msgstr ""
-"மாறà¯à®±à®¿à®¯ தேதியை "
-"நமà¯à®ªà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
-
-#: optiondialog.cpp:699
+msgstr "மாறà¯à®±à®¿à®¯ தேதியை நமà¯à®ªà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
+
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"மாறà¯à®±à®¿à®¯ தேதியà¯à®®à¯ கோபà¯à®ªà¯ "
-"நீளமà¯à®®à¯ சமமாக  இரà¯à®¨à¯à®¤à®¾à®²à¯ "
-"எலà¯à®²à®¾ கோபà¯à®ªà¯à®•ளà¯à®®à¯ சமம௠என "
-"எணà¯à®£à®²à®¾à®®à¯.இத௠பெரிய "
-"அடைவà¯à®•ளà¯à®•à¯à®•௠அலà¯à®²à®¤à¯ "
-"மெதà¯à®µà®¾à®© இனைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠"
-"உதவà¯à®®à¯"
-
-#: optiondialog.cpp:702
+"மாறà¯à®±à®¿à®¯ தேதியà¯à®®à¯ கோபà¯à®ªà¯ நீளமà¯à®®à¯ சமமாக  இரà¯à®¨à¯à®¤à®¾à®²à¯ எலà¯à®²à®¾ கோபà¯à®ªà¯à®•ளà¯à®®à¯ சமம௠என "
+"எணà¯à®£à®²à®¾à®®à¯. இத௠பெரிய அடைவà¯à®•ளà¯à®•à¯à®•௠அலà¯à®²à®¤à¯ மெதà¯à®µà®¾à®© இணைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠உதவà¯à®®à¯"
+
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
-msgstr ""
-"அளவை "
-"உறà¯à®¤à®¿à®ªà®Ÿà¯à®¤à¯à®¤à¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²"
-"ை)"
-
-#: optiondialog.cpp:703
+msgstr "அளவை உறà¯à®¤à®¿à®ªà®Ÿà¯à®¤à¯à®¤à¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
+
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
-"மாறà¯à®±à®¿à®¯ தேதியà¯à®®à¯ கோபà¯à®ªà¯ "
-"நீளமà¯à®®à¯ சமமாக  இரà¯à®¨à¯à®¤à®¾à®²à¯ "
-"எலà¯à®²à®¾ கோபà¯à®ªà¯à®•ளà¯à®®à¯ சமம௠என "
-"எணà¯à®£à®²à®¾à®®à¯.இத௠பெரிய "
-"அடைவà¯à®•ளà¯à®•à¯à®•௠அலà¯à®²à®¤à¯ "
-"மெதà¯à®µà®¾à®© இனைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠"
-"உதவà¯à®®à¯."
-
-#: optiondialog.cpp:707
+"மாறà¯à®±à®¿à®¯ தேதியà¯à®®à¯ கோபà¯à®ªà¯ நீளமà¯à®®à¯ சமமாக இரà¯à®¨à¯à®¤à®¾à®²à¯ எலà¯à®²à®¾ கோபà¯à®ªà¯à®•ளà¯à®®à¯ சமம௠என "
+"எணà¯à®£à®²à®¾à®®à¯. இத௠பெரிய அடைவà¯à®•ளà¯à®•à¯à®•௠அலà¯à®²à®¤à¯ மெதà¯à®µà®¾à®© இணைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠உதவà¯à®®à¯."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "ஒதà¯à®¤à®¿à®¯à®•à¯à®•௠அடைவை"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
-"இரணà¯à®Ÿà¯ அடைவிலà¯à®®à¯ கோபà¯à®ªà¯à®•ளை "
-"சேமிபà¯à®ªà®¤à®±à¯à®•௠"
-"அனà¯à®®à®¤à®¿à®ªà¯à®ªà®¤à®¾à®²à¯, இரணà¯à®Ÿà¯ "
-"அடைவà¯à®•ளà¯à®®à¯ பினà¯à®©à®°à¯ "
-"ஒனà¯à®±à®¾à®•வே இரà¯à®•à¯à®•à¯à®®à¯ .இரணà¯à®Ÿà¯ "
-"அடைவà¯à®•ளையà¯à®®à¯ சேரà¯à®®à®¿à®Ÿà®®à¯ "
-"கூறிபà¯à®ªà®¿à®Ÿà®¾à®®à®²à¯ ஒதà¯à®¤à®¿à®Ÿà®¿à®®à¯ "
-"பொழà¯à®¤à¯à®¤à®¾à®©à¯ வேலை செயà¯à®¯à¯à®®à¯ "
-
-#: optiondialog.cpp:715
+"இரணà¯à®Ÿà¯ அடைவிலà¯à®®à¯ கோபà¯à®ªà¯à®•ளை சேமிபà¯à®ªà®¤à®±à¯à®•௠அனà¯à®®à®¤à®¿à®ªà¯à®ªà®¤à®¾à®²à¯, இரணà¯à®Ÿà¯ அடைவà¯à®•ளà¯à®®à¯ "
+"பினà¯à®©à®°à¯ ஒனà¯à®±à®¾à®•வே இரà¯à®•à¯à®•à¯à®®à¯ .இரணà¯à®Ÿà¯ அடைவà¯à®•ளையà¯à®®à¯ சேரà¯à®®à®¿à®Ÿà®®à¯ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®¾à®®à®²à¯ "
+"ஒதà¯à®¤à®¿à®Ÿà¯à®®à¯ பொழà¯à®¤à¯à®¤à®¾à®©à¯ வேலை செயà¯à®¯à¯à®®à¯."
+
+#: optiondialog.cpp:1068
+#, fuzzy
+msgid "White space differences considered equal"
+msgstr "வெளà¯à®³à¯ˆ இடம௠3-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
-msgstr ""
-"ஒனà¯à®±à®¾à®• சேரà¯à®ªà¯à®ªà®¤à®±à¯à®•௠பதிலாக "
-"பà¯à®¤à®¿à®¯à®µà®°à¯ˆ "
-"பதியெடà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
-
-#: optiondialog.cpp:718
+msgstr "ஒனà¯à®±à®¾à®• சேரà¯à®ªà¯à®ªà®¤à®±à¯à®•௠பதிலாக பà¯à®¤à®¿à®¯à®µà®°à¯ˆ பதியெடà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)"
+
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 msgstr ""
-"உளà¯à®³à¯‡ பாரà¯à®•à¯à®•ாதே பà¯à®¤à®¿à®¯ "
-"கோபà¯à®ªà¯ˆà®¯à¯ˆ மடà¯à®Ÿà¯à®®à¯ எடà¯.(நீ "
-"செயà¯à®µà®¤à¯ எனà¯à®© எனà¯à®±à¯ "
-"தெரிநà¯à®¤à®¾à®²à¯ மடà¯à®Ÿà¯à®®à¯‡ இதை "
-"உபயோகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯)இரணà¯à®Ÿà¯ "
-"அடைவà¯à®•ளை ஒதà¯à®¤à®¿à®Ÿà¯à®®à¯ போத௠"
-"மடà¯à®Ÿà¯à®®à¯‡ விளைவà¯à®•ள௠à®à®±à¯à®ªà®Ÿà¯à®®à¯"
-
-#: optiondialog.cpp:723
+"உளà¯à®³à¯‡ பாரà¯à®•à¯à®•ாதே பà¯à®¤à®¿à®¯ கோபà¯à®ªà®¿à®©à¯ˆ மடà¯à®Ÿà¯à®®à¯ எடà¯.(நீ செயà¯à®µà®¤à¯ எனà¯à®© எனà¯à®±à¯ தெரிநà¯à®¤à®¾à®²à¯ "
+"மடà¯à®Ÿà¯à®®à¯‡ இதை உபயோகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯) இரணà¯à®Ÿà¯ அடைவà¯à®•ளை ஒதà¯à®¤à®¿à®Ÿà¯à®®à¯ போத௠மடà¯à®Ÿà¯à®®à¯‡ விளைவà¯à®•ள௠"
+"à®à®±à¯à®ªà®Ÿà¯à®®à¯"
+
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
-msgstr "பினà¯à®©à®©à®¿ கோபà¯à®ªà¯à®•ளà¯(.orig)"
-
-#: optiondialog.cpp:726
+msgstr "பினà¯à®šà¯‡à®®à®¿à®ªà¯à®ªà¯ கோபà¯à®ªà¯à®•ளà¯(.orig)"
+
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
 msgstr ""
-"பழைய கோபà¯à®ªà®¿à®²à¯  ஒர௠கோபà¯à®ªà¯ˆ "
-"சேமிகà¯à®•à¯à®®à¯ பொழà¯à®¤à¯, பழைய "
-"கோபà¯à®ªà®¿à®²à¯ மூலநீடà¯à®Ÿà¯à®¤à®²à¯à®Ÿà®©à¯ "
-"பெயர௠"
-"மாறà¯à®®à¯,நீகà¯à®•படà¯à®µà®¤à®±à¯à®•௠"
-"பதிலாக. "
-
-#: optiondialog.cpp:753
+"பழைய கோபà¯à®ªà®¿à®²à¯ ஒர௠கோபà¯à®ªà®¿à®©à¯ˆ சேமிகà¯à®•à¯à®®à¯ பொழà¯à®¤à¯, பழைய கோபà¯à®ªà®¿à®²à¯ மூல நீடà¯à®Ÿà¯à®¤à®²à¯à®Ÿà®©à¯ "
+"பெயர௠மாறà¯à®®à¯, நீகà¯à®•படà¯à®µà®¤à®±à¯à®•௠பதிலாக. "
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr "இதர அமைபà¯à®ªà¯à®•ளை உளà¯à®³à®Ÿà®•à¯à®•ியதà¯"
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr "மொழி "
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr "தானியஙà¯à®•௠"
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-"கிழà¯à®•à¯à®•ணà¯à®Ÿ மொழிகளில௠GUI- "
-"எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளைத௠"
-"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®®à¯Šà®´à®¿à®•ளை மாறà¯à®± "
-"KDiff3யை தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
-
-#: optiondialog.cpp:825
+"கீழà¯à®•ணà¯à®Ÿ மொழிகளில௠GUI- எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளைத௠தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯ மொழிகளை மாறà¯à®± KDiff3யை "
+"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+#, fuzzy
+msgid "Note: Local Encoding is "
+msgstr "லொகல௠கà¯à®±à®¿à®®à¯à®±à¯ˆà®¯à®¾à®•à¯à®•ம௠உபயோகி"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "இயகà¯à®•à®®à¯."
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "இதர அமைபà¯à®ªà¯à®•ளை உளà¯à®³à®Ÿà®•à¯à®•ியதà¯"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -2176,55 +2152,39 @@
 "\n"
 "Do you want to continue or do you want to select another font."
 msgstr ""
-"நீஙà¯à®•ள௠மாறà¯à®±à®•à¯à®•ூடிய அகல "
-"எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ  "
-"தேரà¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤à¯à®³à¯à®³à¯€à®°à¯à®•ளà¯\n"
-"இதறà¯à®•௠காரணம௠இநà¯à®¤ நிரல௠"
-"மாறà¯à®±à®•à¯à®•ூடிய அகலமான "
-"எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ "
-"கையாலாதà¯.திரà¯à®¤à¯à®¤à®™à¯à®•ள௠"
-"செயà¯à®¯à¯à®®à¯ பொழà¯à®¤à¯à®ªà¯ "
-"பிரசà¯à®šà®©à¯ˆà®•ளை "
-"சநà¯à®¤à®¿à®¤à¯à®°à¯à®•à¯à®•லாமà¯,சரியாகநீங"
-"à¯à®•ள௠தொடர வேணà¯à®Ÿà¯à®®à®¾ "
-"அலà¯à®²à®¤à¯,வேற௠எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ  "
-"தேரà¯à®¤à¯†à®Ÿà¯à®•à¯à®•ிறீரà¯à®•ளா"
-
-#: optiondialog.cpp:829
+"நீஙà¯à®•ள௠மாறà¯à®±à®•à¯à®•ூடிய அகல எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ தேரà¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤à¯à®³à¯à®³à¯€à®°à¯à®•ளà¯\n"
+"இதறà¯à®•௠காரணம௠இநà¯à®¤ நிரல௠மாறà¯à®±à®•௠கூடிய அகலமான எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ கையாளாதà¯. "
+"திரà¯à®¤à¯à®¤à®™à¯à®•ள௠செயà¯à®¯à¯à®®à¯ பொழà¯à®¤à¯à®ªà¯ பிரசà¯à®šà®©à¯ˆà®•ளை சநà¯à®¤à®¿à®¤à¯à®°à¯à®•à¯à®•லாமà¯, சரியாக நீஙà¯à®•ள௠"
+"தொடர வேணà¯à®Ÿà¯à®®à®¾ அலà¯à®²à®¤à¯, வேற௠எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•ிறீரà¯à®•ளா."
+
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "கசà¯à®šà®¿à®¤à®®à®¿à®²à¯à®²à®¾à®¤ எழà¯à®¤à¯à®¤à¯à®°à¯"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
-msgstr ""
-"உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ சொநà¯à®¤ ஆபதà¯à®¤à®¿à®²à¯ "
-"தொடரà¯"
-
-#: optiondialog.cpp:830
+msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ சொநà¯à®¤ ஆபதà¯à®¤à®¿à®²à¯ தொடரவà¯à®®à¯"
+
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
-msgstr ""
-"மறà¯à®±à¯Šà®°à¯ எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ  "
-"தேரà¯à®¤à¯†à®Ÿà¯"
-
-#: optiondialog.cpp:858
+msgstr "மறà¯à®±à¯Šà®°à¯ எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ  தேரà¯à®¤à¯†à®Ÿà¯"
+
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr ""
-" இத௠அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளையà¯à®®à¯ "
-"மாறà¯à®±à®¿à®¯à®®à¯ˆà®•à¯à®•à¯à®®à¯.தறà¯à®ªà¯Šà®´à¯à®¤à¯à®³"
-"à¯à®³ தலைபà¯à®ªà¯ மடà¯à®Ÿà¯à®®à®²à¯à®²"
-
-#: pdiff.cpp:257
+"இத௠அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளையà¯à®®à¯ மாறà¯à®±à®¿à®¯à®®à¯ˆà®•à¯à®•à¯à®®à¯. தறà¯à®ªà¯Šà®´à¯à®¤à¯à®³à¯à®³ தலைபà¯à®ªà¯ மடà¯à®Ÿà¯à®®à®²à¯à®²"
+
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "à®®à¯à®©à¯ செயலாகà¯à®• கடà¯à®Ÿà®³à¯ˆ:"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-"கிழà¯à®•à¯à®•ணà¯à®Ÿ தேரà¯à®µà¯à®•ளில௠"
-"தரவை தேரà¯à®µà¯à®šà¯†à®¯à¯:\n"
-
-#: pdiff.cpp:263
+"கீழà¯à®•ணà¯à®Ÿ தேரà¯à®µà¯à®•ளில௠தரவை தேரà¯à®µà¯à®šà¯†à®¯à¯:\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
@@ -2234,177 +2194,337 @@
 "தேவை இலà¯à®²à®¾à®¤ செலà¯à®•ளà¯.\n"
 "இவறà¯à®±à¯ˆ à®®à¯à®Ÿà®•à¯à®• வேணà¯à®Ÿà¯à®®à®¾?"
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr ""
-"காபà¯à®ªà¯ இலà¯à®²à®¾à®¤ தேரà¯à®µà¯à®•ள௠"
-"செலà¯à®•ளà¯"
-
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr ""
-"செலà¯à®•ளில௠தேரà¯à®µà¯à®•ளை "
-"உபயோகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ "
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr ""
-"பாதà¯à®•à¯à®•ாபà¯à®ªà¯ இலà¯à®²à®¾à®¤ "
-"தேரà¯à®µà¯à®•ளை à®®à¯à®Ÿà®•à¯à®•à¯"
-
-#: pdiff.cpp:293
+#, fuzzy
+msgid "Option Unsafe for Merging"
+msgstr "காபà¯à®ªà¯ இலà¯à®²à®¾à®¤ தேரà¯à®µà¯à®•ள௠செலà¯à®•ளà¯"
+
+#: pdiff.cpp:267
+#, fuzzy
+msgid "Use These Options During Merge"
+msgstr "செலà¯à®•ளில௠தேரà¯à®µà¯à®•ளை உபயோகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ "
+
+#: pdiff.cpp:267
+#, fuzzy
+msgid "Disable Unsafe Options"
+msgstr "பாதà¯à®•ாபà¯à®ªà¯ இலà¯à®²à®¾à®¤ தேரà¯à®µà¯à®•ளை à®®à¯à®Ÿà®•à¯à®•à¯"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "A   à®à®±à¯à®±à¯à®¤à®²à¯"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "  B  à®à®±à¯à®±à¯à®¤à®²à¯"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯  A <-> B"
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ : A <->B"
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr " C à®à®±à¯à®±à¯à®¤à®²à¯"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯  B <-> C"
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯  A <-> C"
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯  B <-> C"
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ : A <-> C"
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
-"சில உளà¯à®³à¯€à®Ÿà¯à®•ோபà¯à®ªà¯à®•ள௠"
-"தூயà¯à®®à¯ˆà®¯à®¾à®©  உரை கோபà¯à®ªà¯à®•ளாக "
-"இலà¯à®²à¯ˆ . KDiff3  "
-"ஒனà¯à®±à®¾à®•சà¯à®šà¯‡à®°à¯à®ªà¯à®ªà®¤à¯ தகவலை "
-"கூறிபà¯à®ªà®¤à¯ அலà¯à®².உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ "
-"சொநà¯à®¤ ஆபதà¯à®¤à®¿à®²à¯ தொடரà¯"
-
-#: pdiff.cpp:929
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "விடà¯à®¤à®²à¯"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "திறநà¯à®¤ கோபà¯à®ªà¯à®•ளà¯"
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà¯ பிழை"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "வெடà¯à®Ÿà¯à®¤à®²à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯"
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ˆ கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®±à¯à®•௠நகலெடà¯à®•à¯à®•"
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà¯ உளà¯à®³à®Ÿà®•à¯à®•தà¯à®¤à¯ˆ சொரà¯à®•à¯"
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "சேமி தொடரà¯"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "சேமிகà¯à®•ாமல௠தொடரà¯"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯"
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠பிழை"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "அமை  KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "அடைவà¯"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "நடபà¯à®ªà¯ உரà¯à®ªà¯à®ªà®Ÿà®¿ à®’à®±à¯à®±à®¿à®£à¯ˆ செயறà¯à®ªà®¾à®Ÿà¯ "
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "நடபà¯à®ªà¯ உரà¯à®ªà¯à®ªà®Ÿà®¿ இசைவ௠செயறà¯à®ªà®¾à®Ÿà¯"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "நகரà¯à®¤à¯à®¤à¯à®µà®¤à¯ "
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "விதà¯à®¤à®¿à®¯à®¾à®š பாரà¯à®µà¯ˆ"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "ஒனà¯à®±à®¾à®•சà¯à®šà¯‡à®°à¯"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "சாளரஙà¯à®•ளà¯"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr "A (அடிபà¯à®ªà®Ÿà¯ˆ)"
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "கோபà¯à®ªà¯"
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "அடைவà¯"
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (விரà¯à®ªà¯à®ªà®™à¯à®•ளà¯)"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "வெளீயிட௠(விரà¯à®ªà¯à®ªà®™à¯à®•ளà¯)"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "அமை"
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "விடà¯à®¤à®²à¯"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "திறநà¯à®¤ கோபà¯à®ªà¯à®•ளà¯"
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà¯ பிழை"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "à®…à®±à¯à®¤à¯à®¤à®²à¯ தேரà¯à®¤à¯†à®Ÿà¯"
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "உரையைத௠தேடà¯:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "எழà¯à®¤à¯à®¤à¯ வகை உணரகà¯à®•ூடிய"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "Aவைத௠தேடà¯"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "Bவைத௠தேடà¯"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "Cவைத௠தேடà¯"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "வெளியீடà¯à®Ÿà¯ˆà®¤à¯ தேடà¯"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "தேடà¯"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "தானாகவே தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ படிவà¯"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "கையேட௠விரà¯à®ªà¯à®ªà®®à¯"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
-"தேரà¯à®¤à¯†à®Ÿà¯à®•à¯à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ˆ "
-"கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®±à¯à®•௠ நகலேடà¯à®•à¯à®•"
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
 msgstr ""
-"கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà¯ உளà¯à®³à®Ÿà®•à¯à®•தà¯à®¤à¯ˆ "
-"சொரà¯à®•à¯"
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "சேமி தொடரà¯"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "சேமிகà¯à®•ாமல௠தொடரà¯"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯"
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "அமை  KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "அடைவà¯"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
 msgstr ""
-"நடபà¯à®ªà¯ உரà¯à®ªà¯à®ªà®Ÿà®¿ à®’à®±à¯à®±à®¿à®£à¯ˆ "
-"செயறà¯à®ªà®¾à®Ÿà¯ "
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
 msgstr ""
-"நடபà¯à®ªà¯ உரà¯à®ªà¯à®ªà®Ÿà®¿ இசைவ௠"
-"செயறà¯à®ªà®¾à®Ÿà¯"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "நகரà¯à®¤à¯à®¤à¯à®µà®¤à¯ "
-
-#: rc.cpp:9
-msgid "D&iffview"
-msgstr "விதà¯à®¤à®¿à®¯à®¾à®š பாரà¯à®µà¯ˆ"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "ஒனà¯à®±à®¾à®•சà¯à®šà¯‡à®°à¯"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "சாளரஙà¯à®•ளà¯"
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "சேகரிபà¯à®ªà¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Has no effect. For compatibility with certain tools."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ பொரà¯à®¨à¯à®¤à¯à®¤à®²à¯"
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à®¿à®©à¯ வணà¯à®£à®®à¯à®®à¯ விதà¯à®¤à®¿à®¯à®¾à®šà®®à®¾à®© வெளியீடà¯"
+
+#~ msgid "Text Diff and Merge Tool"
+#~ msgstr "உரை வேறà¯à®ªà®¾à®Ÿà¯ மறà¯à®±à¯à®®à¯ கரà¯à®µà®¿ சேரà¯à®•à¯à®•ை"
+
+#~ msgid ""
+#~ "\n"
+#~ "\n"
+#~ "File not saved."
+#~ msgstr ""
+#~ "\n"
+#~ "\n"
+#~ "கோபà¯à®ªà®¿à®©à¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ"
+
+#~ msgid "Out of memory while preparing to save."
+#~ msgstr "சேமிகà¯à®•à¯à®®à¯ தறà¯à®µà®¾à®¯à®¿à®²à¯ நினைவ௠தவறியதà¯"
+
+#~ msgid "Delete (If Exists)"
+#~ msgstr "நீகà¯à®•à¯(இரà¯à®¨à¯à®¤à®¾à®²à¯)"
+
+#~ msgid "Delete A and B"
+#~ msgstr "A மறà¯à®±à¯à®®à¯ B நீகà¯à®•௠"
+
+#~ msgid "Merge to A and B"
+#~ msgstr " A மறà¯à®±à¯à®®à¯Bகà¯à®•ான ஒனà¯à®±à®¿à®£à¯ˆ "
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/po/tg.po	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2415 @@
+# translation of kdiff3.po to Tajik
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# 2004, infoDev, a World Bank organization
+# 2004, Khujand Computer Technologies, Inc.
+# 2004, Youth Opportunities, NGO
+# Akmal Vatanshoev <akmal_49@hotmail.com>, 2004.
+# Akbar Vatanshoev <vatanshoevAkbar@hotmail.com>, 2004.
+# Victor Ibragimov <youth_opportunities@tajik.net>, 2004.
+# Victor Ibragimov <youth_opportunities@tajikngo.org>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-09-17 13:29+0500\n"
+"Last-Translator: Victor Ibragimov <youth_opportunities@tajikngo.org>\n"
+"Language-Team: Tajik\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+"Tajik KDE Teams: Марина Колючева, Виктор Ибрагимов, Курбанова Гулноз Ðкмал "
+"Ватаншоев, Эркинҷон Пулатов, Довудӣ Гулшод"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "youth_opportunities@tajik.net erkin_pulatov@mail.ru"
+
+#: diff.cpp:245
+msgid "Writing clipboard data to temp file failed."
+msgstr "Дар Ñилули мухобиротӣ навиштани таърих ва Ñуръати файл."
+
+#: diff.cpp:249
+msgid "From Clipboard"
+msgstr "Ðз буфери иваз"
+
+#: diff.cpp:451
+msgid ""
+"Preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The preprocessing command will be disabled now."
+msgstr ""
+"Пеш-коркардкуни мумкин ,ки аз кор монд. Санҷед ин фармонро:\n"
+"\n"
+"  %1\n"
+"\n"
+"Фармони пеш-коркардкуни ҳоло аз кор мемонад."
+
+#: diff.cpp:486
+msgid ""
+"The line-matching-preprocessing possibly failed. Check this command:\n"
+"\n"
+"  %1\n"
+"\n"
+"The line-matching-preprocessing command will be disabled now."
+msgstr ""
+"Хати-ҷамъ кунии- пешкоркардкуни мумкин нашуд.Санҷед ин фармонро:\n"
+"\n"
+"  %1\n"
+"\n"
+"\n"
+"Хати-ҷамъ кунии- пешкоркардкунии фармон ҳоло аз кор мемонад."
+
+#: diff.cpp:1617 diff.cpp:1631
+msgid ""
+"Data loss error:\n"
+"If it is reproducable please contact the author.\n"
+msgstr ""
+"Маълумотҳои гумкарда:\n"
+"Ðгар ин зиёд карда шавад Ð¸Ð»Ñ‚Ð¸Ð¼Ð¾Ñ Ð±Ð¾ муаллиф алоқа кунед.\n"
+
+#: diff.cpp:1619 diff.cpp:1633
+msgid "Severe Internal Error"
+msgstr "Хатогии даруни"
+
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
+msgstr "Сатри Ñккум%1"
+
+#: difftextwindow.cpp:1600
+msgid "End"
+msgstr "Охир"
+
+#: directorymergewindow.cpp:142
+msgid "Mix of links and normal files."
+msgstr "Мувофиқкунии ишораҳо бо файлҳои оддӣ."
+
+#: directorymergewindow.cpp:149
+msgid "Link: "
+msgstr "Ðлоқа: "
+
+#: directorymergewindow.cpp:157
+msgid "Size. "
+msgstr "Ðндоза. "
+
+#: directorymergewindow.cpp:170
+msgid "Date & Size: "
+msgstr "Таърихи рӯз ва андоза: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
+msgid "Creating temp copy of %1 failed."
+msgstr "Ðаметавонам нуÑхаи Ñквақтаро Ñҷод кунам %1."
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
+msgid "Opening %1 failed."
+msgstr "Кушодан %1 нашуд."
+
+#: directorymergewindow.cpp:208
+#, fuzzy
+msgid "Comparing file..."
+msgstr "Ðигоҳ доштани файл ..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
+#, c-format
+msgid "Error reading from %1"
+msgstr "Хатогӣ дар вақти хониш аз %1"
+
+#: directorymergewindow.cpp:282
+msgid "Name"
+msgstr "Ðом"
+
+#: directorymergewindow.cpp:286
+msgid "Operation"
+msgstr "Ðмал"
+
+#: directorymergewindow.cpp:287
+msgid "Status"
+msgstr "ВазъиÑÑ‚"
+
+#: directorymergewindow.cpp:288
+msgid "Unsolved"
+msgstr "Иҷозат дода нашуд"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Иҷозат дода шуда"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Сиёҳ"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Сафед"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr ""
+"Ҳоло барнома дар тартиби Ñкҷошавии каталогҳо кор мекунад. Оё шумо дар ҳақиқат "
+"мехоҳед, ки ҳамаи тағйиротҳоро неÑÑ‚ кунед ва таркиби каталогро ан нав кунед?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
+msgid "Rescan"
+msgstr "Дигар кардан"
+
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
+msgid "Continue Merging"
+msgstr "Давом додан"
+
+#: directorymergewindow.cpp:462
+msgid "Opening of directories failed:"
+msgstr "Ðаметавонам каталогҳоро кушоÑм:"
+
+#: directorymergewindow.cpp:465
+msgid ""
+"Dir A \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Каталоги Р\"%1\" вуҷуд надорад.\n"
+
+#: directorymergewindow.cpp:468
+msgid ""
+"Dir B \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Каталоги В \"%1\" вуҷуд надорад.\n"
+
+#: directorymergewindow.cpp:471
+msgid ""
+"Dir C \"%1\" does not exist or is not a directory.\n"
+msgstr ""
+"Каталоги C \"%1\" вуҷуд надорад.\n"
+
+#: directorymergewindow.cpp:473
+msgid "Directory Open Error"
+msgstr "Хатогӣ дар вақти хониши каталог"
+
+#: directorymergewindow.cpp:481
+msgid ""
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
+"Check again before continuing."
+msgstr ""
+"ДиректориÑи муаёÑнкуни боÑд бошад миÑли Ð Ñ‘ Ð’ вақте,ки Ñе директориÑҳо Ñкҷо "
+"шуданд.\n"
+"Санҷед бори дигар пеш аз давомкуни."
+
+#: directorymergewindow.cpp:483
+msgid "Parameter Warning"
+msgstr "Параметри нодуруÑÑ‚"
+
+#: directorymergewindow.cpp:488
+#, fuzzy
+msgid "Scanning directories..."
+msgstr "Мушоҳидакунии каталогҳо..."
+
+#: directorymergewindow.cpp:537
+msgid "Reading Directory A"
+msgstr "Хониши каталоги Ð"
+
+#: directorymergewindow.cpp:559
+msgid "Reading Directory B"
+msgstr "Хониши каталоги В"
+
+#: directorymergewindow.cpp:581
+msgid "Reading Directory C"
+msgstr "Хониши каталоги С"
+
+#: directorymergewindow.cpp:607
+msgid "Some subdirectories were not readable in"
+msgstr "Ðаметавонам баъзе зеркаталогҳоро хонам дар"
+
+#: directorymergewindow.cpp:612
+msgid "Check the permissions of the subdirectories."
+msgstr "Ҳуқуқҳои ин каталогҳоро тафтиш кунед."
+
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
+msgid "Ready."
+msgstr "Тайёр аÑÑ‚."
+
+#: directorymergewindow.cpp:660
+msgid "Directory Comparison Status"
+msgstr "Ҳолати муқоиÑакунии каталогҳо"
+
+#: directorymergewindow.cpp:661
+msgid "Number of subdirectories:"
+msgstr "Миқдори зеркаталогҳо:"
+
+#: directorymergewindow.cpp:662
+msgid "Number of equal files:"
+msgstr "Миқдори файлҳои Ñкхела:"
+
+#: directorymergewindow.cpp:663
+msgid "Number of different files:"
+msgstr "Миқдори файлҳои ҳархела:"
+
+#: directorymergewindow.cpp:666
+msgid "Number of manual merges:"
+msgstr "Миқдори Ñкҷошавии даÑтӣ:"
+
+#: directorymergewindow.cpp:802
+msgid "This affects all merge operations."
+msgstr "Ин ба ҳамаи Ñкҷошавӣ таъÑир мераÑонад."
+
+#: directorymergewindow.cpp:803
+msgid "Changing All Merge Operations"
+msgstr "Тағйироти ҳамаи Ñкҷошавиҳо"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
+msgid "C&ontinue"
+msgstr "&Давом додан"
+
+#: directorymergewindow.cpp:1169
+msgid "Processing "
+msgstr "Коркард "
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
+msgid "To do."
+msgstr "Кардан."
+
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
+msgid "Copy A to B"
+msgstr "ÐуÑха кардан Рба Ð’"
+
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
+msgid "Copy B to A"
+msgstr "ÐуÑха кардан Ð’ ба Ð"
+
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
+msgid "Delete A"
+msgstr "ÐеÑÑ‚ кардани Ð"
+
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
+msgid "Delete B"
+msgstr "ÐеÑÑ‚ кардани Ð’"
+
+#: directorymergewindow.cpp:1756
+msgid "Delete A & B"
+msgstr "ÐеÑÑ‚ кардани Рва Ð’"
+
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
+msgid "Merge to A"
+msgstr "ПайваÑÑ‚ кардан ба A"
+
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
+msgid "Merge to B"
+msgstr "ПайваÑÑ‚ кардан ба Ð’"
+
+#: directorymergewindow.cpp:1759
+msgid "Merge to A & B"
+msgstr "ПайваÑÑ‚ кардан ба A & Ð’"
+
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
+msgid "Delete (if exists)"
+msgstr "ÐеÑÑ‚ кардан (агар вуҷуд дорад)"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
+msgid "Merge"
+msgstr "ПайваÑÑ‚ кардан"
+
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+msgid "Merge (manual)"
+msgstr "ПайваÑÑ‚ кардан (даÑтӣ)"
+
+#: directorymergewindow.cpp:1766
+msgid "Error: Conflicting File Types"
+msgstr "Хатогӣ: ЯкҷоÑнашавандаи шакли файлҳо"
+
+#: directorymergewindow.cpp:1767
+msgid "Error: Dates are equal but files are not."
+msgstr "Хатогӣ: Вақт мувофиқ аÑÑ‚, лекин файлҳо нет."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
+msgid "This operation is currently not possible."
+msgstr "Ҳоло номумкин аÑÑ‚."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
+msgid "Operation Not Possible"
+msgstr "ПайваÑÑ‚ кардан"
+
+#: directorymergewindow.cpp:1884
+msgid ""
+"This should never happen: \n"
+"\n"
+"mergeResultSaved: m_pMFI=0\n"
+"\n"
+"If you know how to reproduce this, please contact the program author."
+msgstr ""
+"mergeResultSaved: m_pMFI=0\n"
+"Ðгар шумо Ñабабро донед, ба муаллиф муроҷиат кунед."
+
+#: directorymergewindow.cpp:1884
+msgid "Program Error"
+msgstr "Хатогии барнома"
+
+#: directorymergewindow.cpp:1895
+msgid ""
+"An error occurred while copying.\n"
+msgstr ""
+"Хатогии нуÑхакунӣ.\n"
+
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
+msgid "Merge Error"
+msgstr "Хатогии ÑкҷоÑшавӣ"
+
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
+msgid "Error."
+msgstr "Хатогӣ."
+
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
+msgid "Done."
+msgstr "Тайёр аÑÑ‚."
+
+#: directorymergewindow.cpp:1929
+msgid "Not saved."
+msgstr "Захира нашуд."
+
+#: directorymergewindow.cpp:1964
+msgid "Unknown merge operation. (This must never happen!)"
+msgstr "ПайваÑтшавии номаълум"
+
+#: directorymergewindow.cpp:1996
+msgid "Unknown merge operation."
+msgstr "ПайваÑтшавии номаълум."
+
+#: directorymergewindow.cpp:2011
+msgid ""
+"The merge is about to begin.\n"
+"\n"
+"Choose \"Do it\" if you have read the instructions and know what you are "
+"doing.\n"
+"Choosing \"Simulate it\" will tell you what would happen.\n"
+"\n"
+"Be aware that this program still has beta status and there is NO WARRANTY "
+"whatsoever! Make backups of your vital data!"
+msgstr ""
+"Ҳоло ÑкҷоÑшавӣ Ñар мешавад.\n"
+"\n"
+"Баъди хондани даÑтур, \"Ҳал кардан\"-ро пахш кунед.\n"
+"Барои нигоҳ кардани воқеа, \"МоделÑозӣ\"-ро пахш кунед.\n"
+"\n"
+"Мо малиҳат медиҳем, ки доимо пеш аз ÑкҷоÑшавӣ нуÑхаҳои захиравиро кунед!"
+
+#: directorymergewindow.cpp:2016
+msgid "Starting Merge"
+msgstr "Оғози ÑкҷоÑшавӣ"
+
+#: directorymergewindow.cpp:2016
+msgid "Do It"
+msgstr "Ҳал кардан"
+
+#: directorymergewindow.cpp:2016
+msgid "Simulate It"
+msgstr "МоделÑозӣ"
+
+#: directorymergewindow.cpp:2042
+msgid ""
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
+msgstr ""
+"Файли интихобшуда дар ҳар каталог шкли гуногун дорад. Чӣ кор карданро интихоб "
+"кунед."
+
+#: directorymergewindow.cpp:2051
+msgid ""
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
+msgstr ""
+"Маълумотҳои охирини тағйироти файлҳо Ñкхела ҳаÑтанд, вале таркиб неÑÑ‚. Чӣ кор "
+"карданро интихоб кунед."
+
+#: directorymergewindow.cpp:2102
+msgid ""
+"This operation is currently not possible because directory merge is currently "
+"running."
+msgstr "Ҳоло ÑкҷоÑшавии каталогҳо ҳал карда мешавад."
+
+#: directorymergewindow.cpp:2162
+msgid ""
+"There was an error in the last step.\n"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
+msgstr ""
+"Дар Ñтапи ҷорӣ хатогие ба амал омад.\n"
+"Давом додан Ñ‘ Ñар додан?"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue merge after an error"
+msgstr "Давом додан баъди хатогӣ"
+
+#: directorymergewindow.cpp:2164
+msgid "Continue With Last Item"
+msgstr "Давом додан"
+
+#: directorymergewindow.cpp:2164
+msgid "Skip Item"
+msgstr "Сар додан"
+
+#: directorymergewindow.cpp:2198
+msgid "Skipped."
+msgstr "Са дода шуд."
+
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
+msgid "In progress..."
+msgstr "Кор рафта иÑтодааÑÑ‚..."
+
+#: directorymergewindow.cpp:2253
+msgid "Merge operation complete."
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид."
+
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
+msgid "Merge Complete"
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид"
+
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид. Оё шумо бо тағйиротҳои додашуда розӣ ҳаÑтед?"
+
+#: directorymergewindow.cpp:2301
+msgid ""
+"An error occurred. Press OK to see detailed information.\n"
+msgstr ""
+"Хатогӣ ба амал омад. Барои ахбороти илова OK-ро пахш кунед.\n"
+
+#: directorymergewindow.cpp:2344
+msgid "Error: While deleting %1: Creating backup failed."
+msgstr "Хатогӣ: Ðаметавонам нуÑхаи захираро Ñҷод кунам %1."
+
+#: directorymergewindow.cpp:2351
+msgid "delete directory recursively( %1 )"
+msgstr "неÑÑ‚ кардани каталог рекурÑивӣ( %1 )"
+
+#: directorymergewindow.cpp:2353
+msgid "delete( %1 )"
+msgstr "неÑÑ‚ кардан( %1 )"
+
+#: directorymergewindow.cpp:2368
+msgid "Error: delete dir operation failed while trying to read the directory."
+msgstr "Хатогӣ: наметавонам каталогро неÑÑ‚ кунам."
+
+#: directorymergewindow.cpp:2387
+msgid "Error: rmdir( %1 ) operation failed."
+msgstr "Хатогӣ: хатогии rmdir( %1 )."
+
+#: directorymergewindow.cpp:2397
+msgid "Error: delete operation failed."
+msgstr "Хатогӣ: наметавонам неÑÑ‚ кунам."
+
+#: directorymergewindow.cpp:2423
+msgid "manual merge( %1, %2, %3 -> %4)"
+msgstr "ÑкҷоÑшавии даÑтӣ( %1, %2, %3 -> %4)"
+
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr "     Қайд: Баъди анҷоми ÑкҷоÑшавии даÑтӣ F7-ро пахш кунед."
+
+#: directorymergewindow.cpp:2449
+msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
+msgstr ""
+"Хатогӣ: наметавонам( %1 -> %2 ) нуÑха кунам. ÐеÑÑ‚ кардани муайÑни вуҷулшуда "
+"муÑÑÑар карда нашуд."
+
+#: directorymergewindow.cpp:2459
+msgid "copyLink( %1 -> %2 )"
+msgstr "бадарғаи нишонавӣ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
+msgid "Error: copyLink failed: Remote links are not yet supported."
+msgstr "Хатогӣ: Бадарғаҳои неÑтшуда пуштибонӣ карда намешаванд."
+
+#: directorymergewindow.cpp:2476
+msgid "Error: copyLink failed."
+msgstr "Хатогӣ: наметавонам бадарғаро Ñҷод кунам."
+
+#: directorymergewindow.cpp:2496
+msgid "copy( %1 -> %2 )"
+msgstr "нуÑха кардани ( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2522
+msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
+msgstr ""
+"Хатогӣ дар вақти тағйири ном( %1 -> %2 ): Ðаметавонам муайÑни вуҷудшударо неÑÑ‚ "
+"кунам."
+
+#: directorymergewindow.cpp:2528
+msgid "rename( %1 -> %2 )"
+msgstr "тағйири ном( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2537
+msgid "Error: Rename failed."
+msgstr "Хатогӣ: Ðаметавонам тағйири номро кунам."
+
+#: directorymergewindow.cpp:2555
+msgid "Error during makeDir of %1. Cannot delete existing file."
+msgstr ""
+"Хатогӣ дар вақти Ñҷод кардани каталоги %1. Файли вуҷудшуда неÑÑ‚ карда "
+"намешавад."
+
+#: directorymergewindow.cpp:2571
+msgid "makeDir( %1 )"
+msgstr "Ñҷоди каталог( %1 )"
+
+#: directorymergewindow.cpp:2581
+msgid "Error while creating directory."
+msgstr "Хатогӣ дар вақти Ñҷод кардани каталог."
+
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
+msgid "Dest"
+msgstr "МуайÑншуда"
+
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
+msgid "Dir"
+msgstr "Каталог"
+
+#: directorymergewindow.cpp:2609
+msgid "Type"
+msgstr "Шакл"
+
+#: directorymergewindow.cpp:2610
+msgid "Size"
+msgstr "Ðндоза"
+
+#: directorymergewindow.cpp:2611
+msgid "Attr"
+msgstr "ХуÑуÑиÑтҳо"
+
+#: directorymergewindow.cpp:2612
+msgid "Last Modification"
+msgstr "Тағйироти охирон"
+
+#: directorymergewindow.cpp:2613
+msgid "Link-Destination"
+msgstr "Бадарғаи-объект"
+
+#: directorymergewindow.cpp:2663
+msgid "not available"
+msgstr "даÑÑ‚Ñ€Ð°Ñ Ð½ÐµÑÑ‚"
+
+#: directorymergewindow.cpp:2683
+msgid "A (Dest): "
+msgstr "A (муайÑншуда): "
+
+#: directorymergewindow.cpp:2686
+msgid "A (Base): "
+msgstr "A (баромад): "
+
+#: directorymergewindow.cpp:2692
+msgid "B (Dest): "
+msgstr "B (муайÑншуда): "
+
+#: directorymergewindow.cpp:2700
+msgid "C (Dest): "
+msgstr "C (муайÑншуда): "
+
+#: directorymergewindow.cpp:2706
+msgid "Dest: "
+msgstr "МуаÑйншуда: "
+
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Хатогӣ дар вақти хониши каталог"
+
+#: directorymergewindow.cpp:2853
+msgid "Start/Continue Directory Merge"
+msgstr "Сар кардан/давом додани ÑкҷоÑшаии каталогҳо"
+
+#: directorymergewindow.cpp:2854
+msgid "Run Operation for Current Item"
+msgstr "Ба кор даровардан барои нуқтаи ҷорӣ"
+
+#: directorymergewindow.cpp:2855
+msgid "Compare Selected File"
+msgstr "МуқоиÑаи файли интихобшуда"
+
+#: directorymergewindow.cpp:2856
+msgid "Merge Current File"
+msgstr "Ð¯ÐºÒ·Ð¾Ñ ÐºÐ°Ñ€Ð´Ð°Ð½Ð¸ файли ҷорӣ"
+
+#: directorymergewindow.cpp:2857
+msgid "Fold All Subdirs"
+msgstr "Дохили ҳамаи зеркаталогҳо"
+
+#: directorymergewindow.cpp:2858
+msgid "Unfold All Subdirs"
+msgstr "Дохилнашудаи ҳамаи зеркаталогҳо"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Хатогӣ дар вақти хониши каталог"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Хатогӣ дар вақти хониши каталог"
+
+#: directorymergewindow.cpp:2862
+msgid "Choose A for All Items"
+msgstr "Интихоби A барои ҳама"
+
+#: directorymergewindow.cpp:2863
+msgid "Choose B for All Items"
+msgstr "Интихоби B барои ҳама"
+
+#: directorymergewindow.cpp:2864
+msgid "Choose C for All Items"
+msgstr "Интихоби C барои ҳама"
+
+#: directorymergewindow.cpp:2865
+msgid "Auto-Choose Operation for All Items"
+msgstr "Худ-интихобкунии шакли амал барои ҳама"
+
+#: directorymergewindow.cpp:2866
+msgid "No Operation for All Items"
+msgstr "Гирифтани амалҳо барои ҳама"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Мушоҳидакунии каталогҳо..."
+
+#: directorymergewindow.cpp:2869
+msgid "Copy Newer Files Instead of Merging"
+msgstr ""
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Миқдори файлҳои ҳархела:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "МуқоиÑаи файли интихобшуда"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "МуқоиÑаи файли интихобшуда"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
+msgid "Do Nothing"
+msgstr "Ягон чиз"
+
+#: directorymergewindow.cpp:2881
+msgid "A"
+msgstr "A"
+
+#: directorymergewindow.cpp:2882
+msgid "B"
+msgstr "B"
+
+#: directorymergewindow.cpp:2883
+msgid "C"
+msgstr "C"
+
+#: directorymergewindow.cpp:2892
+#, fuzzy
+msgid "Delete A && B"
+msgstr "ÐеÑÑ‚ кардани Рва Ð’"
+
+#: directorymergewindow.cpp:2895
+#, fuzzy
+msgid "Merge to A && B"
+msgstr "ПайваÑÑ‚ кардан ба A & Ð’"
+
+#: fileaccess.cpp:563
+msgid ""
+"While trying to make a backup, deleting an older backup failed. \n"
+"Filename: "
+msgstr ""
+"Ðаметавонам нуÑхаи кӯҳнаи захираро неÑÑ‚ кунам. \n"
+"Ðоми файл: "
+
+#: fileaccess.cpp:570
+msgid ""
+"While trying to make a backup, renaming failed. \n"
+"Filenames: "
+msgstr ""
+"Ðаметавонам номгузориро ҳал кунам. \n"
+"Ðоми файлҳо: "
+
+#: fileaccess.cpp:592
+#, c-format
+msgid "Getting file status: %1"
+msgstr "Гирифтани ҳолати файл: %1"
+
+#: fileaccess.cpp:635
+#, c-format
+msgid "Reading file: %1"
+msgstr "Хониши файл: %1"
+
+#: fileaccess.cpp:671
+#, c-format
+msgid "Writing file: %1"
+msgstr "Ðавишти файл: %1"
+
+#: fileaccess.cpp:699
+msgid "Out of memory"
+msgstr "Ðз хотира"
+
+#: fileaccess.cpp:734
+#, c-format
+msgid "Making directory: %1"
+msgstr "Эҷоди каталогҳо : %1"
+
+#: fileaccess.cpp:754
+#, c-format
+msgid "Removing directory: %1"
+msgstr "Дур кардани директориÑ: %1"
+
+#: fileaccess.cpp:769
+#, c-format
+msgid "Removing file: %1"
+msgstr "Дур кардани файл: %1"
+
+#: fileaccess.cpp:785
+msgid "Creating symbolic link: %1 -> %2"
+msgstr "Сохтани пайваÑти рамзӣ: %1-> %2"
+
+#: fileaccess.cpp:811
+msgid "Renaming file: %1 -> %2"
+msgstr "Ðз нав номгузории файл: %1-> %2"
+
+#: fileaccess.cpp:847
+msgid "Copying file: %1 -> %2"
+msgstr "ÐуÑха бардошатани: %1-> %2"
+
+#: fileaccess.cpp:861
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
+msgstr ""
+"Хато дар вақти амалиёти нуÑхабардории файл: Кушодани файл барои хондан "
+"нашуд.Ðоми Файл: %1"
+
+#: fileaccess.cpp:867
+#, c-format
+msgid ""
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
+msgstr ""
+"Хато дар вақти амалиёти нуÑхабардории файл: Кушодани файл барои хондан "
+"нашуд.Ðоми Файл: %1"
+
+#: fileaccess.cpp:882
+#, c-format
+msgid "Error during file copy operation: Reading failed. Filename: %1"
+msgstr ""
+"Хато дар вақти амалиёти нуÑхабардории файл: Хондани нашуд.Ðоми Файл: %1"
+
+#: fileaccess.cpp:891
+#, c-format
+msgid "Error during file copy operation: Writing failed. Filename: %1"
+msgstr ""
+"Хато дар вақти амалиёти нуÑхабардории файл: Ðавиштан нашуд.Ðоми Файл: %1"
+
+#: fileaccess.cpp:1187
+msgid "Reading directory: "
+msgstr "Хондани директориÑ: "
+
+#: fileaccess.cpp:1316
+#, c-format
+msgid "Listing directory: %1"
+msgstr "Ðигоҳ кардани директориÑ: %1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "Тағйироти ҳамаи Ñкҷошавиҳо"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Хатогӣ дар кушодани файл"
+
+#: kdiff3.cpp:187
+msgid "Option --auto used, but no output file specified."
+msgstr "Интихоб --худ иÑтифода шуда, аммо Ñгон файли хуруҷ муайÑн карда нашуд."
+
+#: kdiff3.cpp:318
+msgid "Option --auto ignored for directory comparison."
+msgstr "Интихоб --худ аҳамиÑÑ‚ надиҳи барои муқоиÑаи директориÑ."
+
+#: kdiff3.cpp:354
+msgid "Saving failed."
+msgstr "Ðигоҳ куни нашуд."
+
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
+msgid "Opening of these files failed:"
+msgstr "Кушодани ин файлҳо нашуд:"
+
+#: kdiff3.cpp:390
+msgid "File Open Error"
+msgstr "Хатогӣ дар кушодани файл"
+
+#: kdiff3.cpp:413
+msgid "Opens documents for comparison..."
+msgstr "МекушоÑд документҳоро барои муқоиÑа..."
+
+#: kdiff3.cpp:418
+msgid "Saves the merge result. All conflicts must be solved!"
+msgstr ""
+"Ðигоҳ медорад натиҷаи Ñкҷошавиро. Ҳамаи ҷанҷолҳо боÑд ҳал карда шаванд!"
+
+#: kdiff3.cpp:420
+msgid "Saves the current document as..."
+msgstr "Ðигоҳ медорад документи ҷориро миÑли..."
+
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
+msgid "Quits the application"
+msgstr "Маҳкам мекунад аризаро"
+
+#: kdiff3.cpp:426
+msgid "Cuts the selected section and puts it to the clipboard"
+msgstr "Мебурад қиÑми интихоб карда шударо ва меандозад онро ба клипборд"
+
+#: kdiff3.cpp:428
+msgid "Copies the selected section to the clipboard"
+msgstr "ÐуÑха мебардорад қиÑми интихоб карда шударо ба клипборд"
+
+#: kdiff3.cpp:430
+msgid "Pastes the clipboard contents to actual position"
+msgstr "МечаÑпонад таркиботҳои клибордро ба ҷойгиршавии амалӣ"
+
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
+msgid "Search for a string"
+msgstr "Ковтукови ришта"
+
+#: kdiff3.cpp:436
+msgid "Search again for the string"
+msgstr "Бори дигар ковтуков барои ришта"
+
+#: kdiff3.cpp:438
+msgid "Enables/disables the toolbar"
+msgstr "Пайраҳаи аÑбоби фаъол/ғайри фаъолро Ñозед"
+
+#: kdiff3.cpp:440
+msgid "Enables/disables the statusbar"
+msgstr "Пайраҳаи ҳолати фаъол/ғайри фаъолро Ñозед"
+
+#: kdiff3.cpp:444
+msgid "Configure KDiff3..."
+msgstr "Танзимоти KDiff3..."
+
+#: kdiff3.cpp:465
+msgid "Go to Current Delta"
+msgstr "Равед ба Делтаи Ҷори"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "Равед ба Делтаи Ðввала"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Равед ба Делтаи Охирон"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr ""
+
+#: kdiff3.cpp:470
+msgid "Go to Previous Delta"
+msgstr "Равед ба Делтаи Пешангӣ"
+
+#: kdiff3.cpp:472
+msgid "Go to Next Delta"
+msgstr "Равед ба Делтаи Дар пеш интизор"
+
+#: kdiff3.cpp:474
+msgid "Go to Previous Conflict"
+msgstr "Равед ба Ҷанҷоли Пешангӣ"
+
+#: kdiff3.cpp:476
+msgid "Go to Next Conflict"
+msgstr "Равед ба Ҷанҷоли Дар пеш интизор "
+
+#: kdiff3.cpp:478
+msgid "Go to Previous Unsolved Conflict"
+msgstr "Равед ба Ҷанҷоли Пешангии Ҳалнашуда"
+
+#: kdiff3.cpp:480
+msgid "Go to Next Unsolved Conflict"
+msgstr "Равед ба Ҷанҷоли Дар пеш интизори Ҳалнашуда"
+
+#: kdiff3.cpp:482
+msgid "Select Line(s) From A"
+msgstr "Интихоб кунед Рах(ҳо)-ро Ðз Ð"
+
+#: kdiff3.cpp:483
+msgid "Select Line(s) From B"
+msgstr "Интихоб кунед Рах(ҳо)-ро Ðз Ð’"
+
+#: kdiff3.cpp:484
+msgid "Select Line(s) From C"
+msgstr "Интихоб кунед Рах(ҳо)-ро Ðз С"
+
+#: kdiff3.cpp:485
+msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
+msgstr "Зуд равед ба ҷанҷоли пешангии ҳалнашуда баъди интихоби Ñарчашма"
+
+#: kdiff3.cpp:487
+msgid "Show Space && Tabulator Characters for Differences"
+msgstr "Ðишон диҳед фоÑиларо && Феълҳои табулÑтори барои гуногуниҳо"
+
+#: kdiff3.cpp:488
+msgid "Show White Space"
+msgstr "Ðишон диҳед фоÑиларо"
+
+#: kdiff3.cpp:490
+msgid "Show Line Numbers"
+msgstr "Ðишон диҳед рахи рақамҳоро"
+
+#: kdiff3.cpp:491
+msgid "Choose A Everywhere"
+msgstr "Интихоб кунед Ð-ро дар ҳамаҷой"
+
+#: kdiff3.cpp:492
+msgid "Choose B Everywhere"
+msgstr "Интихоб кунед В-ро дар ҳамаҷой"
+
+#: kdiff3.cpp:493
+msgid "Choose C Everywhere"
+msgstr "Интихоб кунед В-ро дар ҳамаҷой"
+
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "Интихоб кунед Ð-ро барои ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "Интихоб кунед В-ро барои ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "Интихоб кунед С-ро барои ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "Интихоб кунед Ð-ро барои фоÑилаи ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "Интихоб кунед Ð’-ро барои фоÑилаи ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "Интихоб кунед С-ро барои фоÑилаи ҳамаи ҷанҷолҳои ҳалнашуда"
+
+#: kdiff3.cpp:500
+msgid "Automatically Solve Simple Conflicts"
+msgstr "Зуд ҳал мекунад ҷанҷолҳои оддиро"
+
+#: kdiff3.cpp:501
+msgid "Set Deltas to Conflicts"
+msgstr "Танзим кунед делтаҳоро ба ҷанҷолҳо"
+
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Зуд ҳал мекунад ҷанҷолҳои оддиро"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
+msgid "Show Window A"
+msgstr "Ðишон диҳед Тирезаи Ð-ро"
+
+#: kdiff3.cpp:507
+msgid "Show Window B"
+msgstr "Ðишон диҳед Тирезаи Ð’-ро"
+
+#: kdiff3.cpp:508
+msgid "Show Window C"
+msgstr "Ðишон диҳед Тирезаи С-ро"
+
+#: kdiff3.cpp:509 kdiff3.cpp:520
+msgid "Focus Next Window"
+msgstr "ÐÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ€Ð´Ð°Ð½Ð¸ дигар тиреза"
+
+#: kdiff3.cpp:511
+msgid "Normal Overview"
+msgstr "Оддӣ аз назар гузарондан"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "Ðз назар гузарондани A vs. B "
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "Ðз назар гузарондани A vs. C"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "Ðз назар гузарондани B vs. C"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "Калимаи печидаи тирезаҳои гуногун"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
+msgid "Focus Prev Window"
+msgstr "ÐÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ€Ð´Ð°Ð½Ð¸ тирезаи гузашта"
+
+#: kdiff3.cpp:523
+msgid "Toggle Split Orientation"
+msgstr "Дигаркунӣ ва тақÑимкунии ҷои иÑти худ"
+
+#: kdiff3.cpp:525
+msgid "Dir && Text Split Screen View"
+msgstr "аппп"
+
+#: kdiff3.cpp:527
+msgid "Toggle Between Dir && Text View"
+msgstr "Дигаркунӣ байни феҳриÑтҳо && намоиши матн"
+
+#: kdiff3.cpp:572 pdiff.cpp:1684
+msgid "The merge result hasn't been saved."
+msgstr "Ðатиҷаи Ð¸Ñ‚Ñ‚Ð¸Ò³Ð¾Ð´Ð¸Ñ Ð½Ð¸Ð³Ð¾Ò³ надоштагӣ."
+
+#: kdiff3.cpp:573
+msgid "Save && Quit"
+msgstr "Ðигоҳ доштан && баромадан"
+
+#: kdiff3.cpp:573
+msgid "Quit Without Saving"
+msgstr "Бе нигоҳдорӣ баромадан"
+
+#: kdiff3.cpp:581 pdiff.cpp:1693
+msgid "Saving the merge result failed."
+msgstr "Ðатиҷаи ÑÐºÒ·Ð¾Ñ ÐºÐ°Ñ€Ð´Ð°Ð½,нигоҳ дошта нашуд."
+
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
+msgstr "ЯкҷоÑшавии каталогро нигоҳ дорем.Оё,шумо дилпур мехоҳед, баровардан?"
+
+#: kdiff3.cpp:615
+msgid "Saving file..."
+msgstr "Ðигоҳ доштани файл..."
+
+#: kdiff3.cpp:632
+msgid "Saving file with a new filename..."
+msgstr "Бо номи нав нигоҳ доштани файл..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Баромад..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид."
+
+#: kdiff3.cpp:895
+msgid "Exiting..."
+msgstr "Баромад..."
+
+#: kdiff3.cpp:907
+msgid "Toggling toolbar..."
+msgstr "ТаÑвир кардан/панели аÑбобҳои пинҳонӣ..."
+
+#: kdiff3.cpp:928
+msgid "Toggle the statusbar..."
+msgstr "ТаÑвир кардан/вазъиÑти панели пинҳонӣ..."
+
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
+msgid "Couldn't find files for comparison."
+msgstr "Файл барои муқоиÑа ёфт нашуд."
+
+#: kdiff3_part.cpp:290
+msgid "KDiff3Part"
+msgstr "KDiff3Part"
+
+#: kdiff3_shell.cpp:78
+msgid ""
+"Could not find our part!\n"
+"This usually happens due to an installation problem. Please read the "
+"README-file in the source package for details."
+msgstr ""
+"ҚиÑми мо ёфт нашуд!\n"
+"Ин маÑъала одатан дар вақти аниқ рӯй медиҳад.Файли README-ро хонед, ҷой ва "
+"калидро ба тафÑил баён кунед."
+
+#: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
+msgid "Merge the input."
+msgstr "Ð¯ÐºÒ·Ð¾Ñ Ð´Ð°Ñ€Ð¾Ð²Ð°Ñ€Ð´Ð°Ð½."
+
+#: main.cpp:42
+msgid "Explicit base file. For compatibility with certain tools."
+msgstr ""
+"Эзоҳ додани маълумоти файл.Барои мутобиқ будан бо аÑбобҳои муқаррар- шуда."
+
+#: main.cpp:44
+msgid "Output file. Implies -m. E.g.: -o newfile.txt"
+msgstr "Баромади файл.Тахмин кардани мавҷуд ҳамчун-m. МиÑли: -o newfile.txt"
+
+#: main.cpp:45
+msgid "Output file, again. (For compatibility with certain tools.)"
+msgstr "Барориши файл.(Барои мутобиқ бо аÑбобҳои монанд.)"
+
+#: main.cpp:46
+msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
+msgstr ""
+
+#: main.cpp:47
+msgid "Don't solve conflicts automatically. (For compatibility...)"
+msgstr ""
+
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr ""
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr ""
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr ""
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr ""
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
+#, fuzzy
+msgid "Use a different config file."
+msgstr "Миқдори файлҳои ҳархела:"
+
+#: main.cpp:59
+msgid "file1 to open (base, if not specified via --base)"
+msgstr ""
+
+#: main.cpp:60
+msgid "file2 to open"
+msgstr ""
+
+#: main.cpp:61
+msgid "file3 to open"
+msgstr ""
+
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, fuzzy, no-c-format
+msgid "KDiff3"
+msgstr "KDiff3Part"
+
+#: main.cpp:184
+msgid "+ Many thanks to those who reported bugs and contributed ideas!"
+msgstr ""
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+
+#: mergeresultwindow.cpp:282
+msgid ""
+"The output has been modified.\n"
+"If you continue your changes will be lost."
+msgstr ""
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
+msgid "All input files are binary equal."
+msgstr ""
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
+msgid "All input files contain the same text."
+msgstr ""
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
+msgid ""
+"Files A and B are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
+msgid ""
+"Files A and B have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
+msgid ""
+"Files A and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
+msgid ""
+"Files A and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
+msgid ""
+"Files B and C are binary equal.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
+msgid ""
+"Files B and C have equal text. \n"
+msgstr ""
+
+#: mergeresultwindow.cpp:809
+msgid "Total number of conflicts: "
+msgstr ""
+
+#: mergeresultwindow.cpp:810
+#, fuzzy
+msgid ""
+"\n"
+"Nr of automatically solved conflicts: "
+msgstr "Зуд ҳал мекунад ҷанҷолҳои оддиро"
+
+#: mergeresultwindow.cpp:811
+#, fuzzy
+msgid ""
+"\n"
+"Nr of unsolved conflicts: "
+msgstr "Равед ба Ҷанҷоли Дар пеш интизори Ҳалнашуда"
+
+#: mergeresultwindow.cpp:813
+msgid "Conflicts"
+msgstr ""
+
+#: mergeresultwindow.cpp:1506
+msgid "<No src line>"
+msgstr ""
+
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
+#, fuzzy
+msgid "<Merge Conflict>"
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид"
+
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
+msgid "Output"
+msgstr ""
+
+#: mergeresultwindow.cpp:1588
+msgid "[Modified]"
+msgstr ""
+
+#: mergeresultwindow.cpp:2512
+msgid ""
+"Not all conflicts are solved yet.\n"
+"File not saved.\n"
+msgstr ""
+
+#: mergeresultwindow.cpp:2514
+msgid "Conflicts Left"
+msgstr ""
+
+#: mergeresultwindow.cpp:2526
+msgid ""
+"\n"
+"\n"
+"Creating backup failed. File not saved."
+msgstr ""
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
+#, fuzzy
+msgid "File Save Error"
+msgstr "Хатогӣ дар кушодани файл"
+
+#: mergeresultwindow.cpp:2566
+#, fuzzy
+msgid "Error while writing."
+msgstr "Хатогӣ дар вақти Ñҷод кардани каталог."
+
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
+msgid "Editor & Diff Output Font"
+msgstr ""
+
+#: optiondialog.cpp:525
+msgid "Italic font for deltas"
+msgstr ""
+
+#: optiondialog.cpp:528
+msgid ""
+"Selects the italic version of the font for differences.\n"
+"If the font doesn't support italic characters, then this does nothing."
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Color"
+msgstr ""
+
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
+msgid "Foreground color:"
+msgstr ""
+
+#: optiondialog.cpp:564
+msgid "Background color:"
+msgstr ""
+
+#: optiondialog.cpp:572
+msgid "Diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:579
+msgid "Color A:"
+msgstr ""
+
+#: optiondialog.cpp:586
+msgid "Color B:"
+msgstr ""
+
+#: optiondialog.cpp:593
+msgid "Color C:"
+msgstr ""
+
+#: optiondialog.cpp:599
+msgid "Conflict color:"
+msgstr ""
+
+#: optiondialog.cpp:606
+msgid "Current range background color:"
+msgstr ""
+
+#: optiondialog.cpp:613
+msgid "Current range diff background color:"
+msgstr ""
+
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Ҳолати муқоиÑакунии каталогҳо"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor"
+msgstr ""
+
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
+msgstr ""
+
+#: optiondialog.cpp:674
+msgid "Tab inserts spaces"
+msgstr ""
+
+#: optiondialog.cpp:677
+msgid ""
+"On: Pressing tab generates the appropriate number of spaces.\n"
+"Off: A Tab-character will be inserted."
+msgstr ""
+
+#: optiondialog.cpp:683
+msgid "Tab size:"
+msgstr ""
+
+#: optiondialog.cpp:688
+msgid "Auto indentation"
+msgstr ""
+
+#: optiondialog.cpp:691
+msgid ""
+"On: The indentation of the previous line is used for a new line.\n"
+msgstr ""
+
+#: optiondialog.cpp:695
+msgid "Auto copy selection"
+msgstr ""
+
+#: optiondialog.cpp:698
+msgid ""
+"On: Any selection is immediately written to the clipboard.\n"
+"Off: You must explicitely copy e.g. via Ctrl-C."
+msgstr ""
+
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr ""
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
+msgstr ""
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
+msgstr "ВоÑитаи муқоиÑа ва ÑÐºÒ·Ð¾Ñ ÐºÐ°Ñ€Ð´Ð°Ð½"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "ВоÑитаи муқоиÑа ва ÑÐºÒ·Ð¾Ñ ÐºÐ°Ñ€Ð´Ð°Ð½"
+
+#: optiondialog.cpp:737
+msgid "Preserve carriage return"
+msgstr ""
+
+#: optiondialog.cpp:740
+msgid ""
+"Show carriage return characters '\\r' if they exist.\n"
+"Helps to compare files that were modified under different operating systems."
+msgstr ""
+
+#: optiondialog.cpp:745
+msgid "Ignore numbers"
+msgstr ""
+
+#: optiondialog.cpp:748
+msgid ""
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
+"Might help to compare files with numeric data."
+msgstr ""
+
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
+msgstr ""
+
+#: optiondialog.cpp:755
+msgid "Treat C/C++ comments like white space."
+msgstr ""
+
+#: optiondialog.cpp:759
+msgid "Ignore case"
+msgstr ""
+
+#: optiondialog.cpp:762
+msgid "Treat case differences like white space changes. ('a'<=>'A')"
+msgstr ""
+
+#: optiondialog.cpp:766
+msgid "Preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:770
+msgid "User defined pre-processing. (See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:773
+msgid "Line-matching preprocessor command:"
+msgstr ""
+
+#: optiondialog.cpp:777
+msgid ""
+"This pre-processor is only used during line matching.\n"
+"(See the docs for details.)"
+msgstr ""
+
+#: optiondialog.cpp:780
+msgid "Try hard (slower)"
+msgstr ""
+
+#: optiondialog.cpp:783
+msgid ""
+"Enables the --minimal option for the external diff.\n"
+"The analysis of big files will be much slower."
+msgstr ""
+
+#: optiondialog.cpp:788
+msgid "Auto advance delay (ms):"
+msgstr ""
+
+#: optiondialog.cpp:793
+msgid ""
+"When in Auto-Advance mode the result of the current selection is shown \n"
+"for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr ""
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr ""
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr ""
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr ""
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.1  2006/04/10 08:33:34  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
+#, fuzzy
+msgid "Directory Merge"
+msgstr "Хатогӣ дар вақти хониши каталог"
+
+#: optiondialog.cpp:951
+#, fuzzy
+msgid "Recursive directories"
+msgstr "Мушоҳидакунии каталогҳо..."
+
+#: optiondialog.cpp:953
+#, fuzzy
+msgid "Whether to analyze subdirectories or not."
+msgstr "Ҳуқуқҳои ин каталогҳоро тафтиш кунед."
+
+#: optiondialog.cpp:955
+msgid "File pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:960
+msgid ""
+"Pattern(s) of files to be analyzed. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:966
+msgid "File-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:971
+msgid ""
+"Pattern(s) of files to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:977
+msgid "Dir-anti-pattern(s):"
+msgstr ""
+
+#: optiondialog.cpp:982
+msgid ""
+"Pattern(s) of directories to be excluded from analysis. \n"
+"Wildcards: '*' and '?'\n"
+"Several Patterns can be specified by using the separator: ';'"
+msgstr ""
+
+#: optiondialog.cpp:988
+msgid "Use .cvsignore"
+msgstr ""
+
+#: optiondialog.cpp:991
+msgid ""
+"Extends the antipattern to anything that would be ignored by CVS.\n"
+"Via local \".cvsignore\"-files this can be directory specific."
+msgstr ""
+
+#: optiondialog.cpp:996
+msgid "Find hidden files and directories"
+msgstr ""
+
+#: optiondialog.cpp:999
+msgid "Finds files and directories with the hidden attribute."
+msgstr ""
+
+#: optiondialog.cpp:1001
+msgid "Finds files and directories starting with '.'."
+msgstr ""
+
+#: optiondialog.cpp:1005
+msgid "Follow file links"
+msgstr ""
+
+#: optiondialog.cpp:1008
+msgid ""
+"On: Compare the file the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1013
+msgid "Follow directory links"
+msgstr ""
+
+#: optiondialog.cpp:1016
+msgid ""
+"On: Compare the directory the link points to.\n"
+"Off: Compare the links."
+msgstr ""
+
+#: optiondialog.cpp:1021
+msgid "List only deltas"
+msgstr ""
+
+#: optiondialog.cpp:1024
+msgid "Files and directories without change will not appear in the list."
+msgstr ""
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
+msgid "File Comparison Mode"
+msgstr ""
+
+#: optiondialog.cpp:1043
+#, fuzzy
+msgid "Binary comparison"
+msgstr "Ҳолати муқоиÑакунии каталогҳо"
+
+#: optiondialog.cpp:1044
+msgid "Binary comparison of each file. (Default)"
+msgstr ""
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr ""
+
+#: optiondialog.cpp:1047
+msgid ""
+"Do a full analysis and show statistics information in extra columns.\n"
+"(Slower than a binary comparison, much slower for binary files.)"
+msgstr ""
+
+#: optiondialog.cpp:1050
+msgid "Trust the modification date (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1051
+msgid ""
+"Assume that files are equal if the modification date and file length are "
+"equal.\n"
+"Useful for big directories or slow networks."
+msgstr ""
+
+#: optiondialog.cpp:1054
+msgid "Trust the size (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1055
+msgid ""
+"Assume that files are equal if their file lengths are equal.\n"
+"Useful for big directories or slow networks when the date is modified during "
+"download."
+msgstr ""
+
+#: optiondialog.cpp:1059
+#, fuzzy
+msgid "Synchronize directories"
+msgstr "Мушоҳидакунии каталогҳо..."
+
+#: optiondialog.cpp:1062
+msgid ""
+"Offers to store files in both directories so that\n"
+"both directories are the same afterwards.\n"
+"Works only when comparing two directories without specifying a destination."
+msgstr ""
+
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
+msgid "Copy newer instead of merging (unsafe)"
+msgstr ""
+
+#: optiondialog.cpp:1080
+msgid ""
+"Don't look inside, just take the newer file.\n"
+"(Use this only if you know what you are doing!)\n"
+"Only effective when comparing two directories."
+msgstr ""
+
+#: optiondialog.cpp:1085
+msgid "Backup files (.orig)"
+msgstr ""
+
+#: optiondialog.cpp:1088
+msgid ""
+"When a file would be saved over an old file, then the old file\n"
+"will be renamed with a '.orig'-extension instead of being deleted."
+msgstr ""
+
+#: optiondialog.cpp:1115
+msgid "Regional Settings"
+msgstr ""
+
+#: optiondialog.cpp:1208
+msgid "Language (restart required)"
+msgstr ""
+
+#: optiondialog.cpp:1240
+msgid ""
+"Choose the language of the GUI-strings or \"Auto\".\n"
+"For a change of language to take place, quit and restart KDiff3."
+msgstr ""
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "Ðмал"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
+msgid ""
+"You selected a variable width font.\n"
+"\n"
+"Because this program doesn't handle variable width fonts\n"
+"correctly, you might experience problems while editing.\n"
+"\n"
+"Do you want to continue or do you want to select another font."
+msgstr ""
+
+#: optiondialog.cpp:1384
+msgid "Incompatible Font"
+msgstr ""
+
+#: optiondialog.cpp:1385
+msgid "Continue at Own Risk"
+msgstr ""
+
+#: optiondialog.cpp:1385
+#, fuzzy
+msgid "Select Another Font"
+msgstr "Интихоб кунед Рах(ҳо)-ро Ðз С"
+
+#: optiondialog.cpp:1410
+msgid "This resets all options. Not only those of the current topic."
+msgstr ""
+
+#: pdiff.cpp:258
+msgid "PreprocessorCmd: "
+msgstr ""
+
+#: pdiff.cpp:263
+msgid ""
+"The following option(s) you selected might change data:\n"
+msgstr ""
+
+#: pdiff.cpp:264
+msgid ""
+"\n"
+"Most likely this is not wanted during a merge.\n"
+"Do you want to disable these settings or continue with these settings active?"
+msgstr ""
+
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr ""
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr ""
+
+#: pdiff.cpp:297
+msgid "Loading A"
+msgstr ""
+
+#: pdiff.cpp:301
+msgid "Loading B"
+msgstr ""
+
+#: pdiff.cpp:318 pdiff.cpp:344
+msgid "Diff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:324 pdiff.cpp:366
+msgid "Linediff: A <-> B"
+msgstr ""
+
+#: pdiff.cpp:335
+msgid "Loading C"
+msgstr ""
+
+#: pdiff.cpp:347
+msgid "Diff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:350
+msgid "Diff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:369
+msgid "Linediff: B <-> C"
+msgstr ""
+
+#: pdiff.cpp:372
+msgid "Linediff: A <-> C"
+msgstr ""
+
+#: pdiff.cpp:526
+msgid ""
+"Some inputfiles don't seem to be pure textfiles.\n"
+"Note that the KDiff3-merge was not meant for binary data.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr ""
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+#, fuzzy
+msgid "Opening files..."
+msgstr "Кушодан %1 нашуд."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+#, fuzzy
+msgid "File open error"
+msgstr "Хатогӣ дар кушодани файл"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+#, fuzzy
+msgid "Copying selection to clipboard..."
+msgstr "ÐуÑха мебардорад қиÑми интихоб карда шударо ба клипборд"
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+#, fuzzy
+msgid "Save && Continue"
+msgstr "Ðигоҳ доштан && баромадан"
+
+#: pdiff.cpp:1685
+#, fuzzy
+msgid "Continue Without Saving"
+msgstr "Бе нигоҳдорӣ баромадан"
+
+#: pdiff.cpp:1892
+#, fuzzy
+msgid "Search complete."
+msgstr "ҶуÑтуҷу дар ҷамъбаÑÑ‚"
+
+#: pdiff.cpp:1892
+#, fuzzy
+msgid "Search Complete"
+msgstr "ЯкҷоÑшавӣ ба анҷом раÑид"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Хатогӣ дар вақти Ñҷод кардани каталог."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, fuzzy, no-c-format
+msgid "&KDiff3"
+msgstr "KDiff3Part"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Configure KDiff3"
+msgstr "Танзимоти KDiff3..."
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, fuzzy, no-c-format
+msgid "&Directory"
+msgstr "Хониши каталоги Ð"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "Тағйироти ҳамаи Ñкҷошавиҳо"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, fuzzy, no-c-format
+msgid "&Merge"
+msgstr "ПайваÑÑ‚ кардан"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, fuzzy, no-c-format
+msgid "&Window"
+msgstr "Ðишон диҳед Тирезаи С-ро"
+
+#: smalldialogs.cpp:53
+#, fuzzy
+msgid "A (Base):"
+msgstr "A (баромад): "
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
+msgid "File..."
+msgstr ""
+
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
+#, fuzzy
+msgid "Dir..."
+msgstr "Каталог"
+
+#: smalldialogs.cpp:86
+msgid "C (Optional):"
+msgstr ""
+
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
+msgid "Output (optional):"
+msgstr ""
+
+#: smalldialogs.cpp:161
+#, fuzzy
+msgid "Configure..."
+msgstr "Танзимоти KDiff3..."
+
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "Пайдо кардан:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "Ба ҳиÑоб гирифтани рӯйхат"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "ҶуÑтуҷуи A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "ҶуÑтуҷуи B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "ҶуÑтуҷуи C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "ҶуÑтуҷу дар ҷамъбаÑÑ‚"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&ҶуÑтуҷӯ"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
+msgstr ""
+
+#: smalldialogs.cpp:396
+msgid "Manually match lines"
+msgstr ""
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
+msgstr ""
+
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
+#, fuzzy
+msgid "Match failed."
+msgstr "Ðигоҳ куни нашуд."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Эзоҳ додани маълумоти файл.Барои мутобиқ будан бо аÑбобҳои муқаррар- шуда."
+
+#, fuzzy
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Эзоҳ додани маълумоти файл.Барои мутобиқ будан бо аÑбобҳои муқаррар- шуда."
--- a/kdiff3/po/tr.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/tr.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,41 +1,46 @@
+# translation of kdiff3.po to
+# translation of kdiff3.po to turkish
 # translation of kdiff3.po to Türkçe
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
 # Görkem Çetin <gorkem@kde.org>, 2003.
 # Engin ÇAĞATAY <engincagatay@yahoo.com>, 2004.
+# Adem Alp YILDIZ <ademalp@kde.org.tr>, 2005.
+# Alper Åžen <aalpersen@gmail.com>, 2005.
+# Alper Sen <aalpersen@gmail.com>, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: kdiff3\n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-04-08 09:49+0300\n"
-"Last-Translator: Engin ÇAĞATAY <engincagatay@yahoo.com>\n"
-"Language-Team: Türkçe <tr@li.org>\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-07-12 10:50+0300\n"
+"Last-Translator: Alper Sen <aalpersen@gmail.com>\n"
+"Language-Team: Türkçe <yerellestirme@kde.org.tr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3\n"
+"X-Generator: KBabel 1.10\n"
 
 #: _translatorinfo.cpp:1
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr "Görkem ÇetinEngin ÇAĞATAY"
+msgstr "Görkem Çetin Engin ÇAĞATAY Alper Şen"
 
 #: _translatorinfo.cpp:3
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr "gorkem@kde.org engincagatay@yahoo.com"
-
-#: diff.cpp:241
+msgstr "gorkem@kde.org engincagatay@yahoo.com aalpersen@gmail.com"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr ""
-
-#: diff.cpp:245
+msgstr "Geçici dosyaya pano verisi yazma başarısız."
+
+#: diff.cpp:249
 msgid "From Clipboard"
 msgstr "Panodan"
 
-#: diff.cpp:404
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -43,8 +48,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:425
+"Önişleme başarısız oldu. Şu komutu inceleyin:\n"
+"\n"
+"  %1\n"
+"\n"
+"Önişleme komutu artık devre dışı bırakılacak."
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -52,8 +62,13 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"Satır-eşleme-önişleme başarısız oldu. Şu komutu inceleyin:\n"
+"\n"
+"  %1\n"
+"\n"
+"Satır-eşleme-önişleme komutu devre dışı bırakılacak."
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
@@ -61,269 +76,269 @@
 "Veri kaybı hatası:\n"
 "Bu durum tekrarlanabilir bir durumsa lütfen yazarla iletişim kurun.\n"
 
-#: diff.cpp:1270 diff.cpp:1284
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "Ciddi Dahili Hata"
 
-#: difftextwindow.cpp:829
-#, fuzzy, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "Üst satır %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "Son"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
 msgstr "Bağların ve normal dosyaların karışımı."
 
-#: directorymergewindow.cpp:121
+#: directorymergewindow.cpp:149
 msgid "Link: "
 msgstr "BaÄŸ: "
 
-#: directorymergewindow.cpp:129
+#: directorymergewindow.cpp:157
 msgid "Size. "
 msgstr "Boyut. "
 
-#: directorymergewindow.cpp:142
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
-msgstr "Veri & Boyut: "
-
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+msgstr "Tarih & Boyut: "
+
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
 msgstr "%1 dosyasının geçici kopyasının oluşturulmasında hata oluştu."
 
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "%1 açılamadı."
 
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "Dosya kaydediliyor..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "Dosya karşılaştırılıyor..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "%1 konumundan okunamıyor"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "İsim"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "İşlem"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "Durum"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
+msgstr "Çözülmemiş"
+
+#: directorymergewindow.cpp:289
+msgid "Solved"
+msgstr "Çözülmüş"
+
+#: directorymergewindow.cpp:290
+msgid "Nonwhite"
+msgstr "Beyaz deÄŸil"
+
+#: directorymergewindow.cpp:291
+msgid "White"
+msgstr "Beyaz"
+
+#: directorymergewindow.cpp:319
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
 msgstr ""
-
-#: directorymergewindow.cpp:259
-msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
-msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
-msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
-msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"Şu anda bir dizin birleştirmesi yapıyorsunuz. Birleştirmeden çıkmak ve "
-"dizini yeniden taramak istediÄŸinizden emin misiniz?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"Şu anda bir dizin birleştirmesi yapıyorsunuz. Birleştirmeden çıkmak ve dizini "
+"yeniden taramak istediÄŸinizden emin misiniz?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "Yeniden Tara"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "BirleÅŸtirmeye Devam Et"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "Dizinler açılamadı:"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "A Dizini \"%1\" mevcut deÄŸil ya da bu bir dizin deÄŸil.\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "B Dizini \"%1\" mevcut deÄŸil ya da bu bir dizin deÄŸil.\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "C Dizini \"%1\" mevcut deÄŸil ya da bu bir dizin deÄŸil.\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
 msgstr "Dizin Açma Hatası"
 
-#: directorymergewindow.cpp:440
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
 "3 dizin birleştirilirken hedef dizin A ya da B ile aynı olmamalıdır.\n"
 "Devam etmeden önce kontrol ediniz."
 
-#: directorymergewindow.cpp:442
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "Parametre Uyarısı"
 
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "Okuma dizini: "
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "Dizinler taranıyor..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "A Dizini Okunuyor"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "B Dizini Okunuyor"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "C Dizini Okunuyor"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
 msgstr "Bazı altdizinler okunabilir değildi"
 
-#: directorymergewindow.cpp:571
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "Altdizinlerin izinlerini kontrol ediniz."
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
 msgstr "Hazır."
 
-#: directorymergewindow.cpp:619
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
-msgstr "Dizin Karşılaştırması Durumu"
-
-#: directorymergewindow.cpp:620
+msgstr "Dizin Karşılaştırma Durumu"
+
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "Altdizinlerin sayısı:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "Eşit dosyaların sayısı:"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "Farklı dosyaların sayısı:"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "El ile birleştirmelerin sayısı:"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
 msgstr "Bu, tüm birleştirme işlemlerini etkiler."
 
-#: directorymergewindow.cpp:762
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
 msgstr "Tüm Birleştirme İşlemleri Değiştiriliyor"
 
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
 msgstr "D&evam Et"
 
-#: directorymergewindow.cpp:1057
+#: directorymergewindow.cpp:1169
 msgid "Processing "
-msgstr ""
-
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+msgstr "İşleniyor"
+
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "Yapılacak."
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "A'yı B'ye kopyala"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "B'yi A'ya kopyala"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "A'yı Sil"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "B'yi Sil"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "A ve B'yi Sil"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "A ile BirleÅŸtir"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "B ile BirleÅŸtir"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "A ve B ile BirleÅŸtir"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "(varsa) Sil"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "BirleÅŸtir"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "BirleÅŸtir (el ile)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "Hata: Çakışan Dosya Türleri"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "Hata: Tarihler aynı fakat dosyalar aynı değil."
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
-msgstr "Bu işlem şu anda yapılamıyor."
-
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+msgstr "Bu işlem şu anda yapılabilir değil."
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
-msgstr "İşlem Yapılamıyor"
-
-#: directorymergewindow.cpp:1554
+msgstr "İşlem Yapılabilir Değil"
+
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -335,45 +350,45 @@
 "\n"
 "mergeResultSaved: m_pMFI=0\n"
 "\n"
-"Bu durumun nasıl tekrarlanacağını biliyorsanız, lütfen uygulamanın "
-"yazarıyla iletişime geçin."
-
-#: directorymergewindow.cpp:1554
+"Bu durumun nasıl tekrarlanacağını biliyorsanız, lütfen uygulamanın yazarıyla "
+"iletişime geçin."
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "Uygulama Hatası"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "Koplayanırken hata oluştu.\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "Birleştirme Hatası"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "Hata."
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "Tamamlandı."
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "Kaydedilmedi."
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
 msgstr "Bilinmeyen birleştirme işlemi. (Bu, hiçbir zaman oluşmamalı!)"
 
-#: directorymergewindow.cpp:1666
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "Bilinmeyen birleÅŸtirme iÅŸlemi."
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -386,302 +401,355 @@
 msgstr ""
 "Birleştirme başlamak üzere.\n"
 "\n"
-"Açıklamaları okuduysanız ve ne yaptığınızı biliyorsanız \"Yap\"ı "
-"seçin.\n"
+"Açıklamaları okuduysanız ve ne yaptığınızı biliyorsanız \"Yap\"ı seçin.\n"
 "\"Dene\"yi seçmek size ne olabileceğini gösterir.\n"
 "\n"
-"Bu uygulama hala beta durumundadır ve ne olursa olsun hiçbir GARANTİSİ "
-"YOKTUR! Önemli verilerinizin yedeğini alın!!"
-
-#: directorymergewindow.cpp:1686
+"Bu uygulama hala beta durumundadır ve ne olursa olsun hiçbir GARANTİSİ YOKTUR! "
+"Önemli verilerinizin yedeğini alın!!"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "Birleştirme Başlıyor"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "Yap"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "Dene"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr ""
-"Renklendirilmiş nesne, değişik dizinlerde değişik dosya türüne sahip. "
-"Ne yapılacağını seçiniz."
-
-#: directorymergewindow.cpp:1721
+"Renklendirilmiş nesne, değişik dizinlerde değişik dosya türüne sahip. Ne "
+"yapılacağını seçiniz."
+
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr ""
 "Dosyaların değiştirilme tarihleri aynı fakat dosyalar aynı değil. Ne "
 "yapılacağını seçiniz."
 
-#: directorymergewindow.cpp:1778
+#: directorymergewindow.cpp:2102
 #, fuzzy
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr "Bu işlem şu anda yapılamıyor, çünkü birleştirme hala devam ediyor."
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "Son adımda bir hata oluştu.\n"
 "Hata oluşturan nesne ile devam etmek mi yoksa bu nesneyi atlamak mı "
 "istiyorsunuz?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "Bir hatadan sonra birleÅŸtirmeye devam et"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "Son Nesne ile Devam Et"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "Nesneyi Atla"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "Atlandı"
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
-msgstr "uygulanıyor..."
-
-#: directorymergewindow.cpp:1929
+msgstr "Uygulanıyor..."
+
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "Birleştirme işlemi tamamlandı."
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "Birleştirme Tamamlandı"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr ""
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "Bir hata oluştu. Detaylı bilgi görmek için TAMAM'a basınız.\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "Hata: %1 silinirken oluştu: Yedek alınamadı."
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr ""
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "sil( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "Hata: dizin okunmaya çalışırken dizini silme işlemi başarısız oldu."
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "Hata: rmdir( %1 ) işlemi başarısız oldu."
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "Hata: silme işlemi başarısız oldu."
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "el ile birleÅŸtir( %1, %2, %3 -> %4)"
 
-#: directorymergewindow.cpp:2102
+#: directorymergewindow.cpp:2426
 #, fuzzy
-msgid "     Note: After a manual merge the user should continue by pressing F7."
-msgstr "     Not: El ile birleştirmeden sonra kullanıcı F7 ile devam etmelidir."
-
-#: directorymergewindow.cpp:2125
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
+msgstr ""
+"     Not: El ile birleştirmeden sonra kullanıcı F7 ile devam etmelidir."
+
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr ""
-"Hata: kopyala( %1 -> %2) başarısız oldu. Mevcut hedefin silinmesi "
-"başarısız oldu."
-
-#: directorymergewindow.cpp:2135
+"Hata: kopyala( %1 -> %2) başarısız oldu. Mevcut hedefin silinmesi başarısız "
+"oldu."
+
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
-msgstr ""
-
-#: directorymergewindow.cpp:2146
+msgstr "BağıKopyala( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
-msgstr ""
-
-#: directorymergewindow.cpp:2152
+msgstr "Hata: BağıKopyala başarısız oldu: Uzak bağlar henüz desteklenmiyor."
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
-msgstr ""
-
-#: directorymergewindow.cpp:2172
+msgstr "Hata: BağıKopyala başarısız oldu."
+
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "kopyala( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr ""
-"Yeniden isimlendirilirken ( %1 -> %2 ) hata oluÅŸtu: Mevcut hedef "
-"silinemiyor."
-
-#: directorymergewindow.cpp:2204
+"Yeniden isimlendirilirken ( %1 -> %2 ) hata oluÅŸtu: Mevcut hedef silinemiyor."
+
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "yeniden isimlendir( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "Hata: Yeniden isimlendirme başarısız oldu."
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
-msgstr ""
-
-#: directorymergewindow.cpp:2247
+msgstr "%1 klasörü oluşturulurken hata: Mevcut dosya silinemiyor."
+
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "dizin oluÅŸtur( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "Dizin oluşturulması sırasında hata oluştu."
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "Hedef"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "Dizin"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "Tür"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "Boyut"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "Özellikler"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "Son DeÄŸiÅŸtirme"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "BaÄŸ-Hedefi"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "mümkün değil"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (Hedef):"
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
-msgstr ""
-
-#: directorymergewindow.cpp:2359
+msgstr "A (Temel): "
+
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
-msgstr "B (Hedef):"
-
-#: directorymergewindow.cpp:2367
+msgstr "B (Hedef): "
+
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
-msgstr "C (Hedef):"
-
-#: directorymergewindow.cpp:2373
+msgstr "C (Hedef): "
+
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "Hedef: "
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "Dizin BirleÅŸtirmesi"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
-msgstr ""
-
-#: directorymergewindow.cpp:2399
+msgstr "Dizin BirleÅŸtirmesini BaÅŸlat/Devam Et"
+
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "Mevcut Nesne için İşlem Başlat"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "Seçili Dosyayı Karşılaştır"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "Mevcut Dosyayı Birleştir"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
-msgstr ""
-
-#: directorymergewindow.cpp:2403
+msgstr "Tüm Alt Dizinleri Kapat"
+
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
-msgstr ""
-
-#: directorymergewindow.cpp:2405
+msgstr "Tüm Alt Dizinleri Aç"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "Dizin BirleÅŸtirmesi"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "Dizin BirleÅŸtirmesi"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
 msgstr "Tüm Nesneler için A'yı Seç"
 
-#: directorymergewindow.cpp:2406
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
 msgstr "Tüm Nesneler için B'yi Seç"
 
-#: directorymergewindow.cpp:2407
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
 msgstr "Tüm Nesneler için C'yi Seç"
 
-#: directorymergewindow.cpp:2408
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
 msgstr "Tüm Nesneler için Atomatik-Seçim İşlemi"
 
-#: directorymergewindow.cpp:2409
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
+msgstr "Tüm Nesneler için Hiçbir Seçim"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "Dizinler taranıyor..."
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "Birleştirmek yerine daha yeni olanı kopyala (güvenli değil)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
 msgstr ""
 
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "Farklı dosyaların sayısı:"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "Seçili Dosyayı Karşılaştır"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "Seçili Dosyayı Karşılaştır"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "Bir Åžey Yapma"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "Sil (varsa)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
-msgstr "A ve B'yi Sil"
-
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
-msgstr "A ve B ile BirleÅŸtir"
-
-#: fileaccess.cpp:540
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
+msgstr "A && B'yi Sil"
+
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
+msgstr "A && B ile BirleÅŸtir"
+
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -689,7 +757,7 @@
 "Yedekleme yapılırken, eski bir yedeğin silinmesi başarısız oldu.\n"
 "Dosya adı: "
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -697,478 +765,543 @@
 "Yedekleme yapılırken, yeniden isimlendirme başarısız oldu.\n"
 "Dosya adları: "
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
 msgstr "Dosya durumu okunuyor: %1"
 
-#: fileaccess.cpp:612
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
 msgstr "Dosya okunuyor: %1"
 
-#: fileaccess.cpp:648
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
 msgstr "Dosya yazılıyor: %1"
 
-#: fileaccess.cpp:676
+#: fileaccess.cpp:699
 msgid "Out of memory"
-msgstr "Hafıza dışı"
-
-#: fileaccess.cpp:711
+msgstr "Hafıza yetersizliği"
+
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
 msgstr "Dizin oluÅŸturuluyor: %1"
 
-#: fileaccess.cpp:731
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
 msgstr "Dizin siliniyor: %1"
 
-#: fileaccess.cpp:746
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
 msgstr "Dosya siliniyor: %1"
 
-#: fileaccess.cpp:762
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
 msgstr "Sembolik baÄŸ oluÅŸturuluyor: %1 -> %2"
 
-#: fileaccess.cpp:788
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
 msgstr "Dosya yeniden isimlendiriliyor: %1 -> %2"
 
-#: fileaccess.cpp:824
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
 msgstr "Dosya kopyalanıyor: %1 -> %2"
 
-#: fileaccess.cpp:838
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr ""
-"Dosya kopyalanırken hata oluştu: Dosya okunmak için açılamadı. Dosya "
-"adı: %1"
-
-#: fileaccess.cpp:844
+"Dosya kopyalanırken hata oluştu: Dosya okunmak için açılamadı. Dosya adı: %1"
+
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr ""
-"Dosya kopyalanırken hata oluştu: Dosya yazılmak için açılamadı. Dosya "
-"adı: %1"
-
-#: fileaccess.cpp:859
+"Dosya kopyalanırken hata oluştu: Dosya yazılmak için açılamadı. Dosya adı: %1"
+
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
 msgstr "Dosya kopyalanırken hata oluştu: Okunamadı. Dosya adı: %1"
 
-#: fileaccess.cpp:868
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
 msgstr "Dosya kopyalanırken hata oluştu: Yazılamadı. Dosya adı: %1"
 
-#: fileaccess.cpp:1171
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "Okuma dizini: "
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
 msgstr "Listeleme dizini: %1"
 
-#: kdiff3.cpp:135
+#: kdiff3.cpp:142
+msgid "Current Configuration:"
+msgstr ""
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "Dosya Açma Hatası"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "--auto seçeneği kullanıldı, fakat çıktı dosyası belirtilmedi."
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
-msgstr ""
-
-#: kdiff3.cpp:277
+msgstr "--auto seçeneği dizin karşılaştırmasını reddetti."
+
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "Kaydetme başarısız oldu."
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "Şu dosyaların açılması başarısız oldu:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "Dosya Açma Hatası"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "Karşılaştırmak için belge açar..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
 msgstr "Birleştirme sonuçlarını kaydeder. Tüm çakışmalar çözülmelidir!"
 
-#: kdiff3.cpp:333
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "Mevcut belgeyi farklı kaydeder..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "Uygulamadan çıkar"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "Seçili bölümü keser ve panoya koyar"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "Seçili bölümü panoya kopyalar"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "Pano içeriklerini mevcut alana yapıştırır"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "Bir satırı ara"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "Satırı tekrar ara"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "Araç çubuğunu açar/kapatır"
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "Durum çubuğunu açar/kapatır"
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "KDiff3 Uygulamasını Yapılandır..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
+msgstr "Mevcut Delta'ya Git"
+
+#: kdiff3.cpp:466
+msgid "Go to First Delta"
+msgstr "İlk Delta'ya Git"
+
+#: kdiff3.cpp:467
+msgid "Go to Last Delta"
+msgstr "Son Delta'ya Git"
+
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
 msgstr ""
-
-#: kdiff3.cpp:375
-msgid "Go to First Delta"
+"(\"Boşluk Karakterini Göster\" seçeneği kapalı iken boşluk farklarını göz ardı "
+"eder.)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
 msgstr ""
-
-#: kdiff3.cpp:376
-msgid "Go to Last Delta"
-msgstr ""
-
-#: kdiff3.cpp:377
+"(\"Boşluk Karakterini Göster\" seçeneği kapalı iken boşluk farklarını göz ardı "
+"etmez.)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
-msgstr ""
-
-#: kdiff3.cpp:378
+msgstr "Önceki Delta'ya Git"
+
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
-msgstr ""
-
-#: kdiff3.cpp:379
+msgstr "Sonraki Delta'ya Git"
+
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
 msgstr "Bir Önceki Çakışmaya Git"
 
-#: kdiff3.cpp:380
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "Bir Sonraki Çakışmaya Git"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
 msgstr "Bir Önceki Çözülmeyen Çakışmaya Git"
 
-#: kdiff3.cpp:382
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "Bir Sonraki Çözülmeyen Çakışmaya Git"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "A'dan Satır(lar) Seç"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "B'den Satır(lar) Seç"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "C'den Satır(lar) Seç"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr ""
-"Kaynak Seçiminden Sonra Otomatik Olarak Bir Sonraki Çözülmeyen "
-"Çakışmaya Git"
-
-#: kdiff3.cpp:388
+"Kaynak Seçiminden Sonra Otomatik Olarak Bir Sonraki Çözülmeyen Çakışmaya Git"
+
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
-msgstr ""
-
-#: kdiff3.cpp:389
+msgstr "Farklar için Boşluk && Sekme Karakterlerini Göster"
+
+#: kdiff3.cpp:488
 msgid "Show White Space"
 msgstr "Boşluğu Göster"
 
-#: kdiff3.cpp:391
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "Satır Numaralarını Göster"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
 msgstr "A'yı Heryerde Seç"
 
-#: kdiff3.cpp:393
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
 msgstr "B'yi Heryerde Seç"
 
-#: kdiff3.cpp:394
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
 msgstr "C'yi Heryerde Seç"
 
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
+#: kdiff3.cpp:494
+#, fuzzy
+msgid "Choose A for All Unsolved Conflicts"
 msgstr "A'yı Tüm Çözülmemiş Çakışmalar için Seç"
 
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
+#: kdiff3.cpp:495
+#, fuzzy
+msgid "Choose B for All Unsolved Conflicts"
 msgstr "B'yi Tüm Çözülmemiş Çakışmalar için Seç"
 
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
+#: kdiff3.cpp:496
+#, fuzzy
+msgid "Choose C for All Unsolved Conflicts"
 msgstr "C'yi Tüm Çözülmemiş Çakışmalar için Seç"
 
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr ""
-
-#: kdiff3.cpp:401
+#: kdiff3.cpp:497
+#, fuzzy
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "A'yı Tüm Çözülmemiş Çakışmalar için Seç"
+
+#: kdiff3.cpp:498
+#, fuzzy
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "B'yi Tüm Çözülmemiş Çakışmalar için Seç"
+
+#: kdiff3.cpp:499
+#, fuzzy
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "C'yi Tüm Çözülmemiş Çakışmalar için Seç"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "Basit Çakışmaları Otomatik Olarak Çöz"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr ""
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "Basit Çakışmaları Otomatik Olarak Çöz"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "A Penceresini Göster"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "B Penceresini Göster"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "C Penceresini Göster"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "Bir Sonraki Pencereye Odaklan"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
-msgstr ""
-
-#: kdiff3.cpp:410
+msgstr "Normal Öngörünüm"
+
+#: kdiff3.cpp:512
 msgid "A vs. B Overview"
-msgstr ""
-
-#: kdiff3.cpp:411
+msgstr "A - B Karşılaştırılması Öngörünümü"
+
+#: kdiff3.cpp:513
 msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
+msgstr "A - C Karşılaştırılması Öngörünümü"
+
+#: kdiff3.cpp:514
 msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
+msgstr "B - C Karşılaştırılması Öngörünümü"
+
+#: kdiff3.cpp:515
 msgid "Word Wrap Diff Windows"
 msgstr ""
 
-#: kdiff3.cpp:418
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
+msgstr ""
+
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
+msgstr ""
+
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
 msgstr "Bir Önceki Pencereye Odaklan"
 
-#: kdiff3.cpp:419
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr ""
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr ""
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr ""
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "BirleÅŸtirme sonucu kaydedilmedi."
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "Kaydet ve Çık"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "Kaydetmeden Çık"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "Birleştirme sonucunun kaydedilmesi başarısız oldu."
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr ""
-"Şu anda bir dizin birleştirmesi gerçekleştiriyorsunuz. Çıkmak "
-"istediÄŸinizden emin misiniz?"
-
-#: kdiff3.cpp:547
+"Şu anda bir dizin birleştirmesi gerçekleştiriyorsunuz. Çıkmak istediğinizden "
+"emin misiniz?"
+
+#: kdiff3.cpp:615
 msgid "Saving file..."
 msgstr "Dosya kaydediliyor..."
 
-#: kdiff3.cpp:563
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
 msgstr "Dosya yeni bir isimle kaydediliyor..."
 
-#: kdiff3.cpp:587
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "Çıkılıyor..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "Birleştirme işlemi tamamlandı."
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
 msgstr "Çıkılıyor..."
 
-#: kdiff3.cpp:599
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr ""
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr ""
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "Metin Ara:"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr ""
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "A'yı Ara"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "B'yi Ara"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "C'yi Ara"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "Çıktıyı Ara"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "&Ara"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "Karşılaştırılacak dosya bulunamadı."
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "Metin Karşılaştırma ve Birleştirme Aracı"
-
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr ""
+
+#: main.cpp:40
 msgid "Merge the input."
 msgstr "Girdiyi birleÅŸtir."
 
-#: main.cpp:37
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr ""
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr ""
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr ""
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
 msgstr ""
 
-#: main.cpp:42
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "Çakışmaları otomatik çözme. (Uyumluluk için...)"
 
-#: main.cpp:43
+#: main.cpp:48
 msgid "Visible name replacement for input file 1 (base)."
 msgstr ""
 
-#: main.cpp:44
+#: main.cpp:49
 msgid "Visible name replacement for input file 2."
 msgstr ""
 
-#: main.cpp:45
+#: main.cpp:50
 msgid "Visible name replacement for input file 3."
 msgstr ""
 
-#: main.cpp:47
+#: main.cpp:52
 msgid "Alternative visible name replacement. Supply this once for every input."
 msgstr ""
 
-#: main.cpp:48
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
 #, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "Bazı araçlarla uyumluluk için."
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "Bazı araçlarla uyumluluk için."
-
-#: main.cpp:52
+msgid "Use a different config file."
+msgstr "Farklı dosyaların sayısı:"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr ""
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr ""
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr ""
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
 msgstr ""
 
-#: mergeresultwindow.cpp:254
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+#, fuzzy
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr ""
+"\n"
+"Çözülmeyen çakışmaların sayısı: "
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
@@ -1176,52 +1309,52 @@
 "Çıktı üzerinde değişiklik yapıldı.\n"
 "Devam ederseniz deÄŸiÅŸiklikleri kaybedeceksiniz."
 
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
 msgstr ""
 
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
 msgstr "Tüm girdi dosyaları aynı metni içeriyor."
 
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "A ve B dosyaları aynı metne sahip. \n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "A ve C dosyaları aynı metne sahip. \n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "B ve C dosyaları aynı metne sahip. \n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "Toplam çakışma sayısı: "
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
@@ -1229,7 +1362,7 @@
 "\n"
 "Otomatik çözülen çakışmaların sayısı: "
 
-#: mergeresultwindow.cpp:740
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1237,27 +1370,32 @@
 "\n"
 "Çözülmeyen çakışmaların sayısı: "
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "Çakışmalar"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<Kaynak Satır Yok>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+#, fuzzy
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<Birleştirme Çakışması>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<Birleştirme Çakışması>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
 msgstr ""
 
-#: mergeresultwindow.cpp:1157
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[Değişiklik Yapıldı]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
@@ -1265,322 +1403,466 @@
 "Daha tüm çakışmalar çözülmedi.\n"
 "Dosya kaydedilmedi.\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
 msgstr "Çakışmalar Var"
 
-#: mergeresultwindow.cpp:2081
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
-"\n"
-"\n"
-"Dosya kaydedilmedi."
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
 msgstr "Dosya Kaydetme Hatası"
 
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "Kaydedilmeye hazırlanırken hafıza aşımı."
-
-#: mergeresultwindow.cpp:2142
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "Yazılırken hata oluştu."
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr ""
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr ""
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr ""
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr ""
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
 msgstr "Düzenleyici ve Karşılaştırıcı Çıktısı Yazıtipi"
 
-#: optiondialog.cpp:342
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr ""
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
 
-#: optiondialog.cpp:353
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "Renk"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "Düzenleyici ve Karşılaştırıcı Çıktısındaki Renkler"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+msgid "Colors Settings"
+msgstr ""
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr ""
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "Arka alan rengi:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
 msgstr "Karşılaştırıcı arka alanı rengi:"
 
-#: optiondialog.cpp:387
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "A'nın rengi:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "B'nin rengi:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "C'nin rengi:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "Çakışma rengi:"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr ""
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr ""
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "Dizin Karşılaştırma Durumu"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "Düzenleyici"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+#, fuzzy
+msgid "Editor Behavior"
 msgstr "Düzenleyici Davranışı"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
 msgstr "Tab tuÅŸu boÅŸluk yerleÅŸtirir"
 
-#: optiondialog.cpp:444
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
 
-#: optiondialog.cpp:450
+#: optiondialog.cpp:683
 msgid "Tab size:"
 msgstr "Tab boyutu:"
 
-#: optiondialog.cpp:455
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr ""
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr ""
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
 msgstr ""
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
 msgstr ""
 
-#: optiondialog.cpp:482
+#: optiondialog.cpp:715
 msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
 
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr ""
-
-#: optiondialog.cpp:490
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr ""
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge"
 msgstr "Karşılaştırma ve Birleştirme"
 
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
 msgstr "Karşılaştırma ve Birleştirme Ayarları"
 
-#: optiondialog.cpp:510
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr ""
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 
-#: optiondialog.cpp:518
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr ""
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+#, fuzzy
+msgid "Ignore C/C++ comments"
 msgstr "C/C++ Yorumlarını Yoksay"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
 msgstr "C/C++ yorumlarına boşluk olarak davran."
 
-#: optiondialog.cpp:532
+#: optiondialog.cpp:759
 msgid "Ignore case"
 msgstr ""
 
-#: optiondialog.cpp:535
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
 msgstr ""
 
-#: optiondialog.cpp:539
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr ""
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
 msgstr ""
 
-#: optiondialog.cpp:546
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr ""
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
 
-#: optiondialog.cpp:553
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr ""
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr ""
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
 msgstr ""
 
-#: optiondialog.cpp:571
+#: optiondialog.cpp:798
 msgid "White space 2-file merge default:"
 msgstr ""
 
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
+#: optiondialog.cpp:802 optiondialog.cpp:815
+#, fuzzy
+msgid "Manual Choice"
 msgstr "El ile seçim"
 
-#: optiondialog.cpp:579 optiondialog.cpp:593
+#: optiondialog.cpp:806 optiondialog.cpp:820
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
 msgstr ""
 
-#: optiondialog.cpp:584
+#: optiondialog.cpp:811
 msgid "White space 3-file merge default:"
 msgstr ""
 
-#: optiondialog.cpp:603
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
+msgstr ""
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
+msgid ""
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.2  2006/04/10 08:33:35  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "Dizin BirleÅŸtirmesi"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
 msgstr ""
 
-#: optiondialog.cpp:613
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "Altdizinlerin analiz edilip edilmeyeceÄŸi."
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
 msgstr "Dosya Türleri:"
 
-#: optiondialog.cpp:620
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:626
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
 msgstr ""
 
-#: optiondialog.cpp:631
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:637
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
 msgstr ""
 
-#: optiondialog.cpp:642
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
 
-#: optiondialog.cpp:648
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr ".cvsignore kullan"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "Gizli dosya ve dizinleri bul"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "Gizli özelliğine sahip tüm dosya ve dizinleri bulur."
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "'.' ile baÅŸlayan dosya ve dizinleri bulur."
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "Dosya bağlarını takip et"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1588,11 +1870,11 @@
 "Açık: Bağın işaret ettiği dosyayı karşılaştır.\n"
 "Kapalı: Bağları karşılaştır."
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "Dizin bağlarını takip et"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1600,81 +1882,103 @@
 "Açık: Bağın işaret ettiğin dizini karşılaştır.\n"
 "Kapalı: Bağları karşılaştır."
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
 msgstr ""
 
-#: optiondialog.cpp:684
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
 msgstr ""
 
-#: optiondialog.cpp:687
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
 msgstr ""
 
-#: optiondialog.cpp:691
+#: optiondialog.cpp:1043
 #, fuzzy
-msgid "Binary Comparison"
+msgid "Binary comparison"
 msgstr "Dizin Karşılaştırması Durumu"
 
-#: optiondialog.cpp:692
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
 msgstr ""
 
-#: optiondialog.cpp:694
-msgid "Full Analysis"
+#: optiondialog.cpp:1046
+msgid "Full analysis"
 msgstr ""
 
-#: optiondialog.cpp:695
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
 
-#: optiondialog.cpp:698
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "Değiştirme tarihine güven (güvenilir değil)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"Değiştirilme tarihleri ve dosya uzunluklukları aynıysa dosyaların aynı "
-"olduÄŸunu varsay.\n"
+"Değiştirilme tarihleri ve dosya uzunluklukları aynıysa dosyaların aynı olduğunu "
+"varsay.\n"
 "Büyük dizinler ve yavaş ağlar için kullanışlıdır."
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "Boyuta güven (güvenilir değil)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "Dosya uzunlukları eşitse dosyaların aynı olduğunu varsay.\n"
-"Tarih, indirme sırasında değiştirildiğinde büyük dizinler ve yavaş "
-"ağlar için kullanışlıdır."
-
-#: optiondialog.cpp:707
+"Tarih, indirme sırasında değiştirildiğinde büyük dizinler ve yavaş ağlar için "
+"kullanışlıdır."
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr ""
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
 "Works only when comparing two directories without specifying a destination."
 msgstr ""
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr ""
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "Birleştirmek yerine daha yeni olanı kopyala (güvenli değil)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
@@ -1684,11 +1988,11 @@
 "(Bu seçeneği sadece ne yaptığınızı biliyorsanız kullanın!)\n"
 "Sadece iki dizini karşılaştırırken etkilidir."
 
-#: optiondialog.cpp:723
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "Dosyaları yedekle (.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
@@ -1696,25 +2000,86 @@
 "Bir dosya eski bir dosyanın üzerine kaydedileceği zaman,\n"
 "eski dosya silinmek yerine '.orig' uzantısıyla kaydedilir."
 
-#: optiondialog.cpp:753
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
 msgstr ""
 
-#: optiondialog.cpp:762
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
 msgstr ""
 
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
 
-#: optiondialog.cpp:825
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr ""
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr ""
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr ""
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr ""
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr ""
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr ""
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr ""
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr ""
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "İşlem"
+
+#: optiondialog.cpp:1312
+msgid "Integration Settings"
+msgstr ""
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1724,206 +2089,339 @@
 "Do you want to continue or do you want to select another font."
 msgstr ""
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "Uyumsuz Yazıtipi"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "Riski Göze Alarak Devam Et"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "Başka Bir Yazıtipi Seç"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
 msgstr "Bu, sadece bu bölümdekileri değil, tüm seçenekleri sıfırlar."
 
-#: pdiff.cpp:257
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr ""
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
 
-#: pdiff.cpp:263
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
 
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
+#: pdiff.cpp:266
+msgid "Option Unsafe for Merging"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Use these options during the merge"
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
 msgstr ""
 
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
 msgstr ""
 
-#: pdiff.cpp:293
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr ""
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr ""
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
 msgstr ""
 
-#: pdiff.cpp:312 pdiff.cpp:349
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
 msgstr ""
 
-#: pdiff.cpp:321
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr ""
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
 msgstr ""
 
-#: pdiff.cpp:335
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
 msgstr ""
 
-#: pdiff.cpp:352
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
 msgstr ""
 
-#: pdiff.cpp:355
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
 msgstr ""
 
-#: pdiff.cpp:502
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
 "Continue at your own risk."
 msgstr ""
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "Çık"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr ""
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "Dosya açma hatası"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr ""
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr ""
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr ""
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "Kaydet ve Devam Et"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "Kaydetmeden Devam Et"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "Arama tamamlandı."
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "Arama Tamamlandı"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "Dizin oluşturulması sırasında hata oluştu."
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "KDiff3 Uygulamasını Yapılandır"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "&Dizin"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr ""
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "&Hareket"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, fuzzy, no-c-format
+msgid "D&iffview"
+msgstr "KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "&BirleÅŸtir"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "&Pencere"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
 msgstr ""
 
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "Dosya..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "Dizin..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (İsteğe Bağlı):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "Çıktı (İsteğe Bağlı):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "Yapılandır..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "Çık"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
+#: smalldialogs.cpp:332
+#, fuzzy
+msgid "Search text:"
+msgstr "Metin Ara:"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
 msgstr ""
 
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "Dosya açma hatası"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "A'yı Ara"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "B'yi Ara"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "C'yi Ara"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "Çıktıyı Ara"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "&Ara"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+msgid "no selection"
 msgstr ""
 
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "El ile seçim"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
 
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
 msgstr ""
 
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "Kaydet ve Devam Et"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "Kaydetmeden Devam Et"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "Arama tamamlandı."
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "Arama Tamamlandı"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "KDiff3 Uygulamasını Yapılandır"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "&Dizin"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
 msgstr ""
 
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
 msgstr ""
 
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "&Hareket"
-
-#: rc.cpp:9
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
 #, fuzzy
-msgid "D&iffview"
-msgstr "KDiff3"
-
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "&BirleÅŸtir"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "&Pencere"
+msgid "Match failed."
+msgstr "Kaydetme başarısız oldu."
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
 
 #, fuzzy
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "Dosya yazılıyor: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Büyük harfe dönüştür"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr ""
-#~ "Tüm küçük harfleri okuma sırasında büyük harfe dönüştür. (ör: 'a' -> 'A')"
-
-#, fuzzy
-#~ msgid "Convert to upper case\n"
-#~ msgstr "Büyük harfe dönüştür"
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "Bazı araçlarla uyumluluk için."
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "Bazı araçlarla uyumluluk için."
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "Düzenleyici ve Karşılaştırıcı Çıktısındaki Renkler"
--- a/kdiff3/po/zh_CN.po	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/po/zh_CN.po	Mon Apr 10 08:40:51 2006 +0000
@@ -1,13 +1,14 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) 2004 Free Software Foundation, Inc.
-# zhu-zhy <sp_xym@hotmail.com, 2004.
+# zhu-zhy <sp_xym@hotmail.com>, 2004.
+# Mai Haohui <mhh@ricetons.com>, 2004.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: 2004-05-31 02:07+0200\n"
-"PO-Revision-Date: 2004-02-14 15:52+0800\n"
-"Last-Translator: zhu-zhy <sp_xym@hotmail.com>\n"
+"Project-Id-Version: kdiff3\n"
+"POT-Creation-Date: 2006-03-27 11:45+0200\n"
+"PO-Revision-Date: 2005-02-07 10:03+0800\n"
+"Last-Translator: Mai Hao Hui <mhh@ricetons.com>\n"
 "Language-Team: zh_CN <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,23 +18,23 @@
 msgid ""
 "_: NAME OF TRANSLATORS\n"
 "Your names"
-msgstr "å¼€æºè½¯ä»¶å›½é™…化简体中文组(http://i18n.linux.net.cn),朱鸷勇"
+msgstr "å¼€æºè½¯ä»¶å›½é™…化简体中文组(http://i18n.linux.net.cn)"
 
 #: _translatorinfo.cpp:3
 msgid ""
 "_: EMAIL OF TRANSLATORS\n"
 "Your emails"
-msgstr "i18n-translation@list.linux.net.cn,sp_xym@hotmail.com"
-
-#: diff.cpp:241
+msgstr "i18n-translation@list.linux.net.cn"
+
+#: diff.cpp:245
 msgid "Writing clipboard data to temp file failed."
-msgstr ""
-
-#: diff.cpp:245
+msgstr "å°†å‰ªè´´æ¿æ•°æ®å†™å…¥ä¸´æ—¶æ–‡ä»¶å¤±è´¥ã€‚"
+
+#: diff.cpp:249
 msgid "From Clipboard"
-msgstr "从粘贴æ¿"
-
-#: diff.cpp:404
+msgstr "从剪贴æ¿"
+
+#: diff.cpp:451
 msgid ""
 "Preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -41,8 +42,13 @@
 "\n"
 "The preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:425
+"预处ç†å¯èƒ½å¤±è´¥äº†ã€‚请检查这个命令:\n"
+"\n"
+"  %1\n"
+"\n"
+"现在预处ç†å‘½ä»¤ä¼šè¢«ç¦ç”¨ã€‚"
+
+#: diff.cpp:486
 msgid ""
 "The line-matching-preprocessing possibly failed. Check this command:\n"
 "\n"
@@ -50,278 +56,281 @@
 "\n"
 "The line-matching-preprocessing command will be disabled now."
 msgstr ""
-
-#: diff.cpp:1268 diff.cpp:1282
+"行匹é…处ç†å¯èƒ½å¤±è´¥ã€‚请检查这个命令:\n"
+"\n"
+"  %1\n"
+"\n"
+"现在行匹é…处ç†å‘½ä»¤ä¼šè¢«ç¦ç”¨ã€‚"
+
+#: diff.cpp:1617 diff.cpp:1631
 msgid ""
 "Data loss error:\n"
 "If it is reproducable please contact the author.\n"
 msgstr ""
 "æ•°æ®ä¸¢å¤±é”™è¯¯ï¼š\n"
-"如果它是å¯å¤åˆ¶çš„请è”系作者。\n"
-
-#: diff.cpp:1270 diff.cpp:1284
+"如果它是å¯å¤åˆ¶çš„,请è”系作者。\n"
+
+#: diff.cpp:1619 diff.cpp:1633
 msgid "Severe Internal Error"
 msgstr "严é‡å†…部错误"
 
-#: difftextwindow.cpp:829
-#, fuzzy, c-format
-msgid "Top line %1"
+#: difftextwindow.cpp:1590 kdiff3.cpp:742
+#, fuzzy
+msgid "Top line"
 msgstr "顶端行数 %1"
 
-#: difftextwindow.cpp:831
+#: difftextwindow.cpp:1600
 msgid "End"
 msgstr "末尾"
 
-#: directorymergewindow.cpp:114
+#: directorymergewindow.cpp:142
 msgid "Mix of links and normal files."
-msgstr "链结和普通文件混åˆ"
-
-#: directorymergewindow.cpp:121
+msgstr "链接和普通文件混åˆ"
+
+#: directorymergewindow.cpp:149
 msgid "Link: "
-msgstr "链结:"
-
-#: directorymergewindow.cpp:129
+msgstr "链接:"
+
+#: directorymergewindow.cpp:157
 msgid "Size. "
-msgstr "大å°ï¼š"
-
-#: directorymergewindow.cpp:142
+msgstr "大å°ã€‚"
+
+#: directorymergewindow.cpp:170
 msgid "Date & Size: "
 msgstr "日期和大å°ï¼š"
 
-#: directorymergewindow.cpp:151 directorymergewindow.cpp:157
+#: directorymergewindow.cpp:179 directorymergewindow.cpp:185
 msgid "Creating temp copy of %1 failed."
-msgstr "创建临时 %1 夿œ¬å¤±è´¥ã€‚"
-
-#: directorymergewindow.cpp:168 directorymergewindow.cpp:176
+msgstr "创建临时 %1 副本失败。"
+
+#: directorymergewindow.cpp:196 directorymergewindow.cpp:204
 msgid "Opening %1 failed."
 msgstr "打开 %1 失败。"
 
-#: directorymergewindow.cpp:180
-#, fuzzy
-msgid "Comparing file ..."
-msgstr "ä¿å­˜æ–‡ä»¶..."
-
-#: directorymergewindow.cpp:194 directorymergewindow.cpp:200
+#: directorymergewindow.cpp:208
+msgid "Comparing file..."
+msgstr "正在比较文件..."
+
+#: directorymergewindow.cpp:218 directorymergewindow.cpp:224
 #, c-format
 msgid "Error reading from %1"
 msgstr "è¯»å– %1 时错误"
 
-#: directorymergewindow.cpp:252
+#: directorymergewindow.cpp:282
 msgid "Name"
 msgstr "åç§°"
 
-#: directorymergewindow.cpp:256
+#: directorymergewindow.cpp:286
 msgid "Operation"
 msgstr "æ“作"
 
-#: directorymergewindow.cpp:257
+#: directorymergewindow.cpp:287
 msgid "Status"
 msgstr "状æ€"
 
-#: directorymergewindow.cpp:258
+#: directorymergewindow.cpp:288
 msgid "Unsolved"
-msgstr ""
-
-#: directorymergewindow.cpp:259
+msgstr "未解决的"
+
+#: directorymergewindow.cpp:289
 msgid "Solved"
-msgstr ""
-
-#: directorymergewindow.cpp:260
+msgstr "已解决的"
+
+#: directorymergewindow.cpp:290
 msgid "Nonwhite"
-msgstr ""
-
-#: directorymergewindow.cpp:261
+msgstr "éžç©ºç™½"
+
+#: directorymergewindow.cpp:291
 msgid "White"
-msgstr ""
-
-#: directorymergewindow.cpp:289
+msgstr "空白"
+
+#: directorymergewindow.cpp:319
 msgid ""
-"You are currently doing a directory merge. Are you sure, you want to abort "
-"the merge and rescan the directory?"
-msgstr ""
-"æ‚¨å½“å‰æ­£åœ¨åˆå¹¶ç›®å½•ã€‚æ‚¨ç¡®å®šè¦æ”¾å¼ƒåˆå¹¶ï¼Œé‡æ–°æ‰«æç›®å½•"
-"å—?"
-
-#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404
+"You are currently doing a directory merge. Are you sure, you want to abort the "
+"merge and rescan the directory?"
+msgstr "æ‚¨å½“å‰æ­£åœ¨åˆå¹¶ç›®å½•ã€‚æ‚¨ç¡®å®šè¦æ”¾å¼ƒåˆå¹¶ï¼Œé‡æ–°æ‰«æç›®å½•å—?"
+
+#: directorymergewindow.cpp:320 directorymergewindow.cpp:2859
 msgid "Rescan"
 msgstr "釿–°æ‰«æ"
 
-#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151
+#: directorymergewindow.cpp:320 kdiff3.cpp:593 pdiff.cpp:965
 msgid "Continue Merging"
 msgstr "ç»§ç»­åˆå¹¶"
 
-#: directorymergewindow.cpp:421
+#: directorymergewindow.cpp:462
 msgid "Opening of directories failed:"
 msgstr "打开目录失败"
 
-#: directorymergewindow.cpp:424
+#: directorymergewindow.cpp:465
 msgid ""
 "Dir A \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "目录 A “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n"
 
-#: directorymergewindow.cpp:427
+#: directorymergewindow.cpp:468
 msgid ""
 "Dir B \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "目录 B “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n"
 
-#: directorymergewindow.cpp:430
+#: directorymergewindow.cpp:471
 msgid ""
 "Dir C \"%1\" does not exist or is not a directory.\n"
 msgstr ""
 "目录 C “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n"
 
-#: directorymergewindow.cpp:432
+#: directorymergewindow.cpp:473
 msgid "Directory Open Error"
-msgstr "目录打开错误"
-
-#: directorymergewindow.cpp:440
+msgstr "打开目录错误"
+
+#: directorymergewindow.cpp:481
 msgid ""
-"The destination directory must not be the same as A or B when three "
-"directories are merged.\n"
+"The destination directory must not be the same as A or B when three directories "
+"are merged.\n"
 "Check again before continuing."
 msgstr ""
 "当三个目录åˆå¹¶æ—¶ï¼Œç›®æ ‡ç›®å½•ä¸èƒ½æ˜¯ A 或者 B。\n"
-"继续进行å‰å†æ ¸å¯¹ä¸€é。"
-
-#: directorymergewindow.cpp:442
+"在继续进行å‰ï¼Œè¯·å†æ ¸å¯¹ä¸€é。"
+
+#: directorymergewindow.cpp:483
 msgid "Parameter Warning"
 msgstr "傿•°è­¦å‘Š"
 
-#: directorymergewindow.cpp:447
-#, fuzzy
-msgid "Scanning directories ..."
-msgstr "åŒæ­¥ç›®å½•"
-
-#: directorymergewindow.cpp:496
+#: directorymergewindow.cpp:488
+msgid "Scanning directories..."
+msgstr "正在扫æç›®å½•..."
+
+#: directorymergewindow.cpp:537
 msgid "Reading Directory A"
 msgstr "读å–目录 A"
 
-#: directorymergewindow.cpp:518
+#: directorymergewindow.cpp:559
 msgid "Reading Directory B"
 msgstr "读å–目录 B"
 
-#: directorymergewindow.cpp:540
+#: directorymergewindow.cpp:581
 msgid "Reading Directory C"
 msgstr "读å–目录 C"
 
-#: directorymergewindow.cpp:566
+#: directorymergewindow.cpp:607
 msgid "Some subdirectories were not readable in"
-msgstr "一些å­ç›®å½•ä¸èƒ½è¿›å…¥è¯»å–"
-
-#: directorymergewindow.cpp:571
+msgstr "ä¸èƒ½è¿›å…¥è¯»å–一些å­ç›®å½•"
+
+#: directorymergewindow.cpp:612
 msgid "Check the permissions of the subdirectories."
 msgstr "检查å­ç›®å½•æƒé™ã€‚"
 
-#: directorymergewindow.cpp:605 kdiff3.cpp:442 kdiff3.cpp:557 kdiff3.cpp:581
-#: kdiff3.cpp:614 kdiff3.cpp:634 pdiff.cpp:1228 pdiff.cpp:1293 pdiff.cpp:1314
-#: pdiff.cpp:1330 pdiff.cpp:1360
+#: directorymergewindow.cpp:646 kdiff3.cpp:546 kdiff3.cpp:626 kdiff3.cpp:650
+#: kdiff3.cpp:923 kdiff3.cpp:944 pdiff.cpp:1045 pdiff.cpp:1117 pdiff.cpp:1155
+#: pdiff.cpp:1171 pdiff.cpp:1201 pdiff.cpp:1212
 msgid "Ready."
-msgstr "就绪"
-
-#: directorymergewindow.cpp:619
+msgstr "就绪。"
+
+#: directorymergewindow.cpp:660
 msgid "Directory Comparison Status"
 msgstr "目录比较状æ€"
 
-#: directorymergewindow.cpp:620
+#: directorymergewindow.cpp:661
 msgid "Number of subdirectories:"
 msgstr "å­ç›®å½•数:"
 
-#: directorymergewindow.cpp:621
+#: directorymergewindow.cpp:662
 msgid "Number of equal files:"
 msgstr "ç›¸åŒæ–‡ä»¶æ•°ï¼š"
 
-#: directorymergewindow.cpp:622
+#: directorymergewindow.cpp:663
 msgid "Number of different files:"
 msgstr "ä¸åŒæ–‡ä»¶æ•°ï¼š"
 
-#: directorymergewindow.cpp:625
+#: directorymergewindow.cpp:666
 msgid "Number of manual merges:"
 msgstr "手动åˆå¹¶æ•°ï¼š"
 
-#: directorymergewindow.cpp:761
+#: directorymergewindow.cpp:802
 msgid "This affects all merge operations."
-msgstr "è¿™å°†å½±å“æ‰€æœ‰åˆå¹¶æ“作。"
-
-#: directorymergewindow.cpp:762
+msgstr "这将影å“全部åˆå¹¶æ“作。"
+
+#: directorymergewindow.cpp:803
 msgid "Changing All Merge Operations"
-msgstr "æ”¹å˜æ‰€æœ‰åˆå¹¶æ“作"
-
-#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256
+msgstr "更改全部åˆå¹¶æ“作"
+
+#: directorymergewindow.cpp:803 mergeresultwindow.cpp:284
 msgid "C&ontinue"
-msgstr "ç»§ç»­(&O)"
-
-#: directorymergewindow.cpp:1057
+msgstr "ç»§ç»­(&o)"
+
+#: directorymergewindow.cpp:1169
 msgid "Processing "
 msgstr "å¤„ç† "
 
-#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411
+#: directorymergewindow.cpp:1644 directorymergewindow.cpp:1650
 msgid "To do."
 msgstr "执行。"
 
-#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419
+#: directorymergewindow.cpp:1752 directorymergewindow.cpp:2888
 msgid "Copy A to B"
 msgstr "å¤åˆ¶ A 到 B"
 
-#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420
+#: directorymergewindow.cpp:1753 directorymergewindow.cpp:2889
 msgid "Copy B to A"
 msgstr "å¤åˆ¶ B 到 A"
 
-#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421
+#: directorymergewindow.cpp:1754 directorymergewindow.cpp:2890
 msgid "Delete A"
 msgstr "删除 A"
 
-#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422
+#: directorymergewindow.cpp:1755 directorymergewindow.cpp:2891
 msgid "Delete B"
 msgstr "删除 B"
 
-#: directorymergewindow.cpp:1476
+#: directorymergewindow.cpp:1756
 msgid "Delete A & B"
 msgstr "删除 A 和 B"
 
-#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424
+#: directorymergewindow.cpp:1757 directorymergewindow.cpp:2893
 msgid "Merge to A"
 msgstr "åˆå¹¶åˆ° A"
 
-#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425
+#: directorymergewindow.cpp:1758 directorymergewindow.cpp:2894
 msgid "Merge to B"
 msgstr "åˆå¹¶åˆ° B"
 
-#: directorymergewindow.cpp:1479
+#: directorymergewindow.cpp:1759
 msgid "Merge to A & B"
 msgstr "åˆå¹¶åˆ° A å’Œ B"
 
-#: directorymergewindow.cpp:1483
+#: directorymergewindow.cpp:1763 directorymergewindow.cpp:2885
 msgid "Delete (if exists)"
 msgstr "删除(如果存在)"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
-#: directorymergewindow.cpp:2415 pdiff.cpp:978
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
+#: directorymergewindow.cpp:2884 smalldialogs.cpp:102
 msgid "Merge"
 msgstr "åˆå¹¶"
 
-#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485
+#: directorymergewindow.cpp:1764 directorymergewindow.cpp:1765
 msgid "Merge (manual)"
 msgstr "åˆå¹¶(手动)"
 
-#: directorymergewindow.cpp:1486
+#: directorymergewindow.cpp:1766
 msgid "Error: Conflicting File Types"
 msgstr "错误:文件类型冲çª"
 
-#: directorymergewindow.cpp:1487
+#: directorymergewindow.cpp:1767
 msgid "Error: Dates are equal but files are not."
 msgstr "错误:日期相åŒä½†æ˜¯æ–‡ä»¶ä¸åŒã€‚"
 
-#: directorymergewindow.cpp:1511
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845
 msgid "This operation is currently not possible."
-msgstr "æ­¤æ“作当å‰ä¸å¯è¡Œã€‚"
-
-#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778
+msgstr "现在ä¸èƒ½æ‰§è¡Œæ­¤æ“作。"
+
+#: directorymergewindow.cpp:1791 directorymergewindow.cpp:1820
+#: directorymergewindow.cpp:1845 directorymergewindow.cpp:2102
 msgid "Operation Not Possible"
 msgstr "æ“作ä¸å¯è¡Œ"
 
-#: directorymergewindow.cpp:1554
+#: directorymergewindow.cpp:1884
 msgid ""
 "This should never happen: \n"
 "\n"
@@ -333,44 +342,44 @@
 "\n"
 "åˆå¹¶ç»“æžœä¿å­˜ï¼šm_pMFI=0\n"
 "\n"
-"如果您知é“如何å¤åˆ¶æ­¤ç¨‹åºï¼Œè¯·è”系程åºä½œè€…。"
-
-#: directorymergewindow.cpp:1554
+"如果您知é“如何é‡çŽ°é”™è¯¯ï¼Œè¯·è”系程åºä½œè€…。"
+
+#: directorymergewindow.cpp:1884
 msgid "Program Error"
 msgstr "程åºé”™è¯¯"
 
-#: directorymergewindow.cpp:1565
+#: directorymergewindow.cpp:1895
 msgid ""
 "An error occurred while copying.\n"
 msgstr ""
 "å¤åˆ¶æ—¶å‘生错误。\n"
 
-#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978
+#: directorymergewindow.cpp:1896 directorymergewindow.cpp:2302
 msgid "Merge Error"
 msgstr "åˆå¹¶é”™è¯¯"
 
-#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983
+#: directorymergewindow.cpp:1901 directorymergewindow.cpp:2307
 msgid "Error."
 msgstr "错误。"
 
-#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874
-#: directorymergewindow.cpp:1914
+#: directorymergewindow.cpp:1906 directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2238
 msgid "Done."
 msgstr "完æˆã€‚"
 
-#: directorymergewindow.cpp:1599
+#: directorymergewindow.cpp:1929
 msgid "Not saved."
 msgstr "未ä¿å­˜ã€‚"
 
-#: directorymergewindow.cpp:1634
+#: directorymergewindow.cpp:1964
 msgid "Unknown merge operation. (This must never happen!)"
-msgstr "未知åˆå¹¶æ“作。(ç»ä¸å¯ä»¥å†å‘生ï¼)"
-
-#: directorymergewindow.cpp:1666
+msgstr "未知åˆå¹¶æ“作。(ç»ä¸å¯ä»¥å‘生ï¼)"
+
+#: directorymergewindow.cpp:1996
 msgid "Unknown merge operation."
 msgstr "未知åˆå¹¶æ“作。"
 
-#: directorymergewindow.cpp:1681
+#: directorymergewindow.cpp:2011
 msgid ""
 "The merge is about to begin.\n"
 "\n"
@@ -386,289 +395,340 @@
 "选择“执行â€å¦‚果您已ç»é˜…读了指å—å¹¶çŸ¥é“æ‚¨åœ¨åšä»€ä¹ˆã€‚\n"
 "选择“模拟â€å°†å‘Šè¯‰æ‚¨å°†å‘生什么。\n"
 "\n"
-"æ³¨æ„æ­¤ç¨‹åºä¾ç„¶å¤„于 beta "
-"状æ€ï¼Œæ²¡æœ‰ä»»ä½•ä¿è¯ï¼å¤‡ä»½æ‚¨çš„é‡è¦æ•°æ®ï¼"
-
-#: directorymergewindow.cpp:1686
+"æ³¨æ„æ­¤ç¨‹åºä¾ç„¶å¤„于 beta 状æ€ï¼Œæ²¡æœ‰ä»»ä½•ä¿è¯ï¼å¤‡ä»½æ‚¨çš„é‡è¦æ•°æ®ï¼"
+
+#: directorymergewindow.cpp:2016
 msgid "Starting Merge"
 msgstr "开始åˆå¹¶"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Do It"
 msgstr "执行"
 
-#: directorymergewindow.cpp:1686
+#: directorymergewindow.cpp:2016
 msgid "Simulate It"
 msgstr "模拟"
 
-#: directorymergewindow.cpp:1712
+#: directorymergewindow.cpp:2042
 msgid ""
-"The highlighted item has a different type in the different directories. "
-"Select what to do."
+"The highlighted item has a different type in the different directories. Select "
+"what to do."
 msgstr "高亮的项目在ä¸åŒçš„目录有ä¸åŒç±»åž‹ã€‚选择åšä»€ä¹ˆã€‚"
 
-#: directorymergewindow.cpp:1721
+#: directorymergewindow.cpp:2051
 msgid ""
-"The modification dates of the file are equal but the files are not. Select "
-"what to do."
+"The modification dates of the file are equal but the files are not. Select what "
+"to do."
 msgstr "文件的修改日期相åŒä½†æ˜¯æ–‡ä»¶ä¸åŒã€‚选择åšä»€ä¹ˆã€‚"
 
-#: directorymergewindow.cpp:1778
-#, fuzzy
+#: directorymergewindow.cpp:2102
 msgid ""
-"This operation is currently not possible because directory merge is "
-"currently running."
+"This operation is currently not possible because directory merge is currently "
+"running."
 msgstr "æ­¤æ“作当å‰ä¸å¯è¡Œï¼Œå› ä¸ºç›®å½•åˆå¹¶æ­£åœ¨è¿è¡Œã€‚"
 
-#: directorymergewindow.cpp:1838
+#: directorymergewindow.cpp:2162
 msgid ""
 "There was an error in the last step.\n"
-"Do you want to continue with the item that caused the error or do you want "
-"to skip this item?"
+"Do you want to continue with the item that caused the error or do you want to "
+"skip this item?"
 msgstr ""
 "最åŽä¸€æ­¥æœ‰é”™è¯¯ã€‚\n"
 "您è¦ç»§ç»­è¿›è¡Œå¯¼è‡´é”™è¯¯çš„项目还是跳过该项?"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue merge after an error"
 msgstr "出错åŽç»§ç»­åˆå¹¶"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Continue With Last Item"
 msgstr "继续进行上一项"
 
-#: directorymergewindow.cpp:1840
+#: directorymergewindow.cpp:2164
 msgid "Skip Item"
 msgstr "跳过项目"
 
-#: directorymergewindow.cpp:1874
+#: directorymergewindow.cpp:2198
 msgid "Skipped."
 msgstr "已跳过。"
 
-#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107
+#: directorymergewindow.cpp:2205 directorymergewindow.cpp:2431
 msgid "In progress..."
 msgstr "进行中..."
 
-#: directorymergewindow.cpp:1929
+#: directorymergewindow.cpp:2253
 msgid "Merge operation complete."
 msgstr "åˆå¹¶æ“作完æˆã€‚"
 
-#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932
+#: directorymergewindow.cpp:2253 directorymergewindow.cpp:2256
 msgid "Merge Complete"
 msgstr "åˆå¹¶å®Œæˆ"
 
-#: directorymergewindow.cpp:1941
-msgid "Simulated merge complete: Check if you agree with the proposed operations."
+#: directorymergewindow.cpp:2265
+msgid ""
+"Simulated merge complete: Check if you agree with the proposed operations."
 msgstr "模拟åˆå¹¶å®Œæˆï¼šæ ¸å¯¹æ‚¨æ˜¯å¦èµžåŒè¢«æè®®çš„æ“ä½œã€‚"
 
-#: directorymergewindow.cpp:1977
+#: directorymergewindow.cpp:2301
 msgid ""
 "An error occurred. Press OK to see detailed information.\n"
 msgstr ""
 "错误å‘生。按 OK 看详细信æ¯ã€‚\n"
 
-#: directorymergewindow.cpp:2020
+#: directorymergewindow.cpp:2344
 msgid "Error: While deleting %1: Creating backup failed."
 msgstr "错误:在删除 %1 时:创建备份失败。"
 
-#: directorymergewindow.cpp:2027
+#: directorymergewindow.cpp:2351
 msgid "delete directory recursively( %1 )"
 msgstr "递归删除目录( %1 )"
 
-#: directorymergewindow.cpp:2029
+#: directorymergewindow.cpp:2353
 msgid "delete( %1 )"
 msgstr "删除( %1 )"
 
-#: directorymergewindow.cpp:2044
+#: directorymergewindow.cpp:2368
 msgid "Error: delete dir operation failed while trying to read the directory."
 msgstr "错误:在试图读å–目录时删除目录æ“作失败。"
 
-#: directorymergewindow.cpp:2063
+#: directorymergewindow.cpp:2387
 msgid "Error: rmdir( %1 ) operation failed."
 msgstr "错误:rmdir( %1 )æ“作失败。"
 
-#: directorymergewindow.cpp:2073
+#: directorymergewindow.cpp:2397
 msgid "Error: delete operation failed."
 msgstr "错误:删除æ“作失败。"
 
-#: directorymergewindow.cpp:2099
+#: directorymergewindow.cpp:2423
 msgid "manual merge( %1, %2, %3 -> %4)"
 msgstr "手动åˆå¹¶( %1,%2,%3 -> %4)"
 
-#: directorymergewindow.cpp:2102
-#, fuzzy
-msgid "     Note: After a manual merge the user should continue by pressing F7."
+#: directorymergewindow.cpp:2426
+msgid ""
+"     Note: After a manual merge the user should continue by pressing F7."
 msgstr "     注æ„:在手动åˆå¹¶ä¹‹åŽç”¨æˆ·åº”该按 F7 继续。"
 
-#: directorymergewindow.cpp:2125
+#: directorymergewindow.cpp:2449
 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed."
 msgstr "错误:å¤åˆ¶( %1 -> %2 )失败。删除现存目标失败。"
 
-#: directorymergewindow.cpp:2135
+#: directorymergewindow.cpp:2459
 msgid "copyLink( %1 -> %2 )"
-msgstr "å¤åˆ¶é“¾ç»“( %1 -> %2 )"
-
-#: directorymergewindow.cpp:2146
+msgstr "å¤åˆ¶é“¾æŽ¥( %1 -> %2 )"
+
+#: directorymergewindow.cpp:2470
 msgid "Error: copyLink failed: Remote links are not yet supported."
-msgstr "错误:å¤åˆ¶é“¾ç»“失败:远程链结尚未支æŒã€‚"
-
-#: directorymergewindow.cpp:2152
+msgstr "错误:å¤åˆ¶é“¾æŽ¥å¤±è´¥ï¼šè¿œç¨‹é“¾æŽ¥å°šæœªæ”¯æŒã€‚"
+
+#: directorymergewindow.cpp:2476
 msgid "Error: copyLink failed."
-msgstr "错误:å¤åˆ¶é“¾ç»“失败。"
-
-#: directorymergewindow.cpp:2172
+msgstr "错误:å¤åˆ¶é“¾æŽ¥å¤±è´¥ã€‚"
+
+#: directorymergewindow.cpp:2496
 msgid "copy( %1 -> %2 )"
 msgstr "å¤åˆ¶(  %1 -> %2 )"
 
-#: directorymergewindow.cpp:2198
+#: directorymergewindow.cpp:2522
 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination."
 msgstr "é‡å‘½å( %1 -> %2 )错误:无法删除现存目标。"
 
-#: directorymergewindow.cpp:2204
+#: directorymergewindow.cpp:2528
 msgid "rename( %1 -> %2 )"
 msgstr "é‡å‘½å( %1 -> %2 )"
 
-#: directorymergewindow.cpp:2213
+#: directorymergewindow.cpp:2537
 msgid "Error: Rename failed."
 msgstr "错误:é‡å‘½å失败。"
 
-#: directorymergewindow.cpp:2231
+#: directorymergewindow.cpp:2555
 msgid "Error during makeDir of %1. Cannot delete existing file."
 msgstr "建立目录 %1 出错。无法删除现存文件。"
 
-#: directorymergewindow.cpp:2247
+#: directorymergewindow.cpp:2571
 msgid "makeDir( %1 )"
 msgstr "建立目录( %1 )"
 
-#: directorymergewindow.cpp:2257
+#: directorymergewindow.cpp:2581
 msgid "Error while creating directory."
 msgstr "创建目录时出错。"
 
-#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388
+#: directorymergewindow.cpp:2604 directorymergewindow.cpp:2721
 msgid "Dest"
 msgstr "目标"
 
-#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313
+#: directorymergewindow.cpp:2608 directorymergewindow.cpp:2646
 msgid "Dir"
 msgstr "目录"
 
-#: directorymergewindow.cpp:2285
+#: directorymergewindow.cpp:2609
 msgid "Type"
 msgstr "类型"
 
-#: directorymergewindow.cpp:2286
+#: directorymergewindow.cpp:2610
 msgid "Size"
 msgstr "大å°"
 
-#: directorymergewindow.cpp:2287
+#: directorymergewindow.cpp:2611
 msgid "Attr"
 msgstr "属性"
 
-#: directorymergewindow.cpp:2288
+#: directorymergewindow.cpp:2612
 msgid "Last Modification"
 msgstr "上次修改"
 
-#: directorymergewindow.cpp:2289
+#: directorymergewindow.cpp:2613
 msgid "Link-Destination"
 msgstr "链接目标"
 
-#: directorymergewindow.cpp:2330
+#: directorymergewindow.cpp:2663
 msgid "not available"
 msgstr "ä¸å¯ç”¨"
 
-#: directorymergewindow.cpp:2350
+#: directorymergewindow.cpp:2683
 msgid "A (Dest): "
 msgstr "A (目标):"
 
-#: directorymergewindow.cpp:2353
+#: directorymergewindow.cpp:2686
 msgid "A (Base): "
 msgstr "A 基准"
 
-#: directorymergewindow.cpp:2359
+#: directorymergewindow.cpp:2692
 msgid "B (Dest): "
 msgstr "B (目标):"
 
-#: directorymergewindow.cpp:2367
+#: directorymergewindow.cpp:2700
 msgid "C (Dest): "
 msgstr "C (目标):"
 
-#: directorymergewindow.cpp:2373
+#: directorymergewindow.cpp:2706
 msgid "Dest: "
 msgstr "目标:"
 
-#: directorymergewindow.cpp:2398
+#: directorymergewindow.cpp:2771
+#, fuzzy
+msgid "Save Directory Merge State As..."
+msgstr "目录åˆå¹¶"
+
+#: directorymergewindow.cpp:2853
 msgid "Start/Continue Directory Merge"
-msgstr "开始/ç»§ç»­ 目录åˆå¹¶"
-
-#: directorymergewindow.cpp:2399
+msgstr "开始/继续目录åˆå¹¶"
+
+#: directorymergewindow.cpp:2854
 msgid "Run Operation for Current Item"
 msgstr "开始当å‰é¡¹ç›®æ“作"
 
-#: directorymergewindow.cpp:2400
+#: directorymergewindow.cpp:2855
 msgid "Compare Selected File"
 msgstr "比较所选文件"
 
-#: directorymergewindow.cpp:2401
+#: directorymergewindow.cpp:2856
 msgid "Merge Current File"
 msgstr "åˆå¹¶å½“剿–‡ä»¶"
 
-#: directorymergewindow.cpp:2402
+#: directorymergewindow.cpp:2857
 msgid "Fold All Subdirs"
-msgstr "æŠ˜å æ‰€æœ‰å­æ–‡ä»¶å¤¹"
-
-#: directorymergewindow.cpp:2403
+msgstr "折å å…¨éƒ¨å­æ–‡ä»¶å¤¹"
+
+#: directorymergewindow.cpp:2858
 msgid "Unfold All Subdirs"
-msgstr "æ‰“å¼€æ‰€æœ‰å­æ–‡ä»¶å¤¹"
-
-#: directorymergewindow.cpp:2405
+msgstr "æ‰“å¼€å…¨éƒ¨å­æ–‡ä»¶å¤¹"
+
+#: directorymergewindow.cpp:2860
+#, fuzzy
+msgid "Save Directory Merge State ..."
+msgstr "目录åˆå¹¶"
+
+#: directorymergewindow.cpp:2861
+#, fuzzy
+msgid "Load Directory Merge State ..."
+msgstr "目录åˆå¹¶"
+
+#: directorymergewindow.cpp:2862
 msgid "Choose A for All Items"
-msgstr "选择 A 的所有项目"
-
-#: directorymergewindow.cpp:2406
+msgstr "选择 A 的全部项目"
+
+#: directorymergewindow.cpp:2863
 msgid "Choose B for All Items"
-msgstr "选择 B 的所有项目"
-
-#: directorymergewindow.cpp:2407
+msgstr "选择 B 的全部项目"
+
+#: directorymergewindow.cpp:2864
 msgid "Choose C for All Items"
-msgstr "选择 C 的所有项目"
-
-#: directorymergewindow.cpp:2408
+msgstr "选择 C 的全部项目"
+
+#: directorymergewindow.cpp:2865
 msgid "Auto-Choose Operation for All Items"
-msgstr "为所有项目自动选择æ“作"
-
-#: directorymergewindow.cpp:2409
+msgstr "为全部项目自动选择æ“作"
+
+#: directorymergewindow.cpp:2866
 msgid "No Operation for All Items"
-msgstr "所有项目无æ“作"
-
-#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418
+msgstr "全部项目无æ“作"
+
+#: directorymergewindow.cpp:2868
+#, fuzzy
+msgid "Synchronize Directories"
+msgstr "åŒæ­¥ç›®å½•"
+
+#: directorymergewindow.cpp:2869
+#, fuzzy
+msgid "Copy Newer Files Instead of Merging"
+msgstr "å¤åˆ¶è¾ƒæ–°è€Œä¸åˆå¹¶(ä¸å®‰å…¨)"
+
+#: directorymergewindow.cpp:2871
+msgid "Show Identical Files"
+msgstr ""
+
+#: directorymergewindow.cpp:2872
+#, fuzzy
+msgid "Show Different Files"
+msgstr "ä¸åŒæ–‡ä»¶æ•°ï¼š"
+
+#: directorymergewindow.cpp:2873
+msgid "Show Files only in A"
+msgstr ""
+
+#: directorymergewindow.cpp:2874
+msgid "Show Files only in B"
+msgstr ""
+
+#: directorymergewindow.cpp:2875
+msgid "Show Files only in C"
+msgstr ""
+
+#: directorymergewindow.cpp:2877
+#, fuzzy
+msgid "Compare Explicitly Selected Files"
+msgstr "比较所选文件"
+
+#: directorymergewindow.cpp:2878
+#, fuzzy
+msgid "Merge Explicitly Selected Files"
+msgstr "比较所选文件"
+
+#: directorymergewindow.cpp:2880 directorymergewindow.cpp:2887
 msgid "Do Nothing"
 msgstr "什么也ä¸åš"
 
-#: directorymergewindow.cpp:2412
+#: directorymergewindow.cpp:2881
 msgid "A"
 msgstr "A"
 
-#: directorymergewindow.cpp:2413
+#: directorymergewindow.cpp:2882
 msgid "B"
 msgstr "B"
 
-#: directorymergewindow.cpp:2414
+#: directorymergewindow.cpp:2883
 msgid "C"
 msgstr "C"
 
-#: directorymergewindow.cpp:2416
-msgid "Delete (If Exists)"
-msgstr "删除(如果存在)"
-
-#: directorymergewindow.cpp:2423
-msgid "Delete A and B"
+#: directorymergewindow.cpp:2892
+msgid "Delete A && B"
 msgstr "删除 A 和 B"
 
-#: directorymergewindow.cpp:2426
-msgid "Merge to A and B"
+#: directorymergewindow.cpp:2895
+msgid "Merge to A && B"
 msgstr "åˆå¹¶åˆ° A å’Œ B"
 
-#: fileaccess.cpp:540
+#: fileaccess.cpp:563
 msgid ""
 "While trying to make a backup, deleting an older backup failed. \n"
 "Filename: "
@@ -676,7 +736,7 @@
 "试图åšå¤‡ä»½æ—¶ï¼Œåˆ é™¤æ—§å¤‡ä»½å¤±è´¥ã€‚\n"
 "文件å:"
 
-#: fileaccess.cpp:547
+#: fileaccess.cpp:570
 msgid ""
 "While trying to make a backup, renaming failed. \n"
 "Filenames: "
@@ -684,541 +744,592 @@
 "试图备份时,é‡å‘½å失败。\n"
 "文件å:"
 
-#: fileaccess.cpp:569
+#: fileaccess.cpp:592
 #, c-format
 msgid "Getting file status: %1"
-msgstr "èŽ·å–æ–‡ä»¶çжæ€ï¼š %1"
-
-#: fileaccess.cpp:612
+msgstr "èŽ·å–æ–‡ä»¶çжæ€ï¼š%1"
+
+#: fileaccess.cpp:635
 #, c-format
 msgid "Reading file: %1"
-msgstr "è¯»å–æ–‡ä»¶ï¼š %1"
-
-#: fileaccess.cpp:648
+msgstr "è¯»å–æ–‡ä»¶ï¼š%1"
+
+#: fileaccess.cpp:671
 #, c-format
 msgid "Writing file: %1"
-msgstr "正在写文件: %1"
-
-#: fileaccess.cpp:676
+msgstr "写入文件:%1"
+
+#: fileaccess.cpp:699
 msgid "Out of memory"
 msgstr "内存溢出"
 
-#: fileaccess.cpp:711
+#: fileaccess.cpp:734
 #, c-format
 msgid "Making directory: %1"
-msgstr "建立目录: %1"
-
-#: fileaccess.cpp:731
+msgstr "建立目录:%1"
+
+#: fileaccess.cpp:754
 #, c-format
 msgid "Removing directory: %1"
-msgstr "删除目录: %1"
-
-#: fileaccess.cpp:746
+msgstr "删除目录:%1"
+
+#: fileaccess.cpp:769
 #, c-format
 msgid "Removing file: %1"
-msgstr "删除文件: %1"
-
-#: fileaccess.cpp:762
+msgstr "删除文件:%1"
+
+#: fileaccess.cpp:785
 msgid "Creating symbolic link: %1 -> %2"
-msgstr "创建符å·é“¾æŽ¥ï¼š %1 -> %2"
-
-#: fileaccess.cpp:788
+msgstr "创建符å·é“¾æŽ¥ï¼š%1 -> %2"
+
+#: fileaccess.cpp:811
 msgid "Renaming file: %1 -> %2"
-msgstr "é‡å‘½å文件: %1 -> %2"
-
-#: fileaccess.cpp:824
+msgstr "é‡å‘½å文件:%1 -> %2"
+
+#: fileaccess.cpp:847
 msgid "Copying file: %1 -> %2"
-msgstr "å¤åˆ¶æ–‡ä»¶ï¼š %1 -> %2"
-
-#: fileaccess.cpp:838
+msgstr "å¤åˆ¶æ–‡ä»¶ï¼š%1 -> %2"
+
+#: fileaccess.cpp:861
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for reading failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for reading failed. Filename: %1"
 msgstr "文件å¤åˆ¶æ“作出错:打开文件读å–失败。文件å:%1"
 
-#: fileaccess.cpp:844
+#: fileaccess.cpp:867
 #, c-format
 msgid ""
-"Error during file copy operation: Opening file for writing failed. Filename: "
-"%1"
+"Error during file copy operation: Opening file for writing failed. Filename: %1"
 msgstr "文件å¤åˆ¶æ“作出错:打开文件写入失败。文件å:%1"
 
-#: fileaccess.cpp:859
+#: fileaccess.cpp:882
 #, c-format
 msgid "Error during file copy operation: Reading failed. Filename: %1"
-msgstr "文件å¤åˆ¶æ“作出错:读å–失败。文件å: %1"
-
-#: fileaccess.cpp:868
+msgstr "文件å¤åˆ¶æ“作出错:读å–失败。文件å:%1"
+
+#: fileaccess.cpp:891
 #, c-format
 msgid "Error during file copy operation: Writing failed. Filename: %1"
-msgstr "文件å¤åˆ¶æ“作出错:写入失败。文件å: %1"
-
-#: fileaccess.cpp:1171
+msgstr "文件å¤åˆ¶æ“作出错:写入失败。文件å:%1"
+
+#: fileaccess.cpp:1187
 msgid "Reading directory: "
 msgstr "读å–目录:"
 
-#: fileaccess.cpp:1297
+#: fileaccess.cpp:1316
 #, c-format
 msgid "Listing directory: %1"
-msgstr "目录列表: %1"
-
-#: kdiff3.cpp:135
+msgstr "目录列表:%1"
+
+#: kdiff3.cpp:142
+#, fuzzy
+msgid "Current Configuration:"
+msgstr "当å‰é¡¹ç›®åŒæ­¥æ“作"
+
+#: kdiff3.cpp:147
+#, fuzzy
+msgid "Config Option Error:"
+msgstr "文件打开出错"
+
+#: kdiff3.cpp:187
 msgid "Option --auto used, but no output file specified."
 msgstr "选项 -- 自动使用,但没有指定输出文件。"
 
-#: kdiff3.cpp:241
+#: kdiff3.cpp:318
 msgid "Option --auto ignored for directory comparison."
 msgstr "选项 -- 自动忽略目录比较。"
 
-#: kdiff3.cpp:277
+#: kdiff3.cpp:354
 msgid "Saving failed."
 msgstr "ä¿å­˜å¤±è´¥ã€‚"
 
-#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274
+#: kdiff3.cpp:381 pdiff.cpp:1027 pdiff.cpp:1098
 msgid "Opening of these files failed:"
 msgstr "打开以下文件失败:"
 
-#: kdiff3.cpp:310
+#: kdiff3.cpp:390
 msgid "File Open Error"
 msgstr "文件打开出错"
 
-#: kdiff3.cpp:329
+#: kdiff3.cpp:413
 msgid "Opens documents for comparison..."
 msgstr "打开文档比较..."
 
-#: kdiff3.cpp:331
+#: kdiff3.cpp:418
 msgid "Saves the merge result. All conflicts must be solved!"
-msgstr "ä¿å­˜åˆå¹¶ç»“果。所有冲çªå¿…须解决ï¼"
-
-#: kdiff3.cpp:333
+msgstr "ä¿å­˜åˆå¹¶ç»“果。必须解决全部冲çªï¼"
+
+#: kdiff3.cpp:420
 msgid "Saves the current document as..."
 msgstr "ä¿å­˜å½“剿–‡æ¡£ä¸º..."
 
-#: kdiff3.cpp:335
+#: kdiff3.cpp:422
+msgid "Print the differences"
+msgstr ""
+
+#: kdiff3.cpp:424
 msgid "Quits the application"
 msgstr "退出程åº"
 
-#: kdiff3.cpp:337
+#: kdiff3.cpp:426
 msgid "Cuts the selected section and puts it to the clipboard"
 msgstr "剪切所选节,将其放入剪贴æ¿"
 
-#: kdiff3.cpp:339
+#: kdiff3.cpp:428
 msgid "Copies the selected section to the clipboard"
 msgstr "å¤åˆ¶æ‰€é€‰èŠ‚è‡³å‰ªè´´æ¿"
 
-#: kdiff3.cpp:341
+#: kdiff3.cpp:430
 msgid "Pastes the clipboard contents to actual position"
 msgstr "粘贴剪贴æ¿å†…容到实际ä½ç½®"
 
-#: kdiff3.cpp:343
+#: kdiff3.cpp:432
+msgid "Select everything in current window"
+msgstr ""
+
+#: kdiff3.cpp:434
 msgid "Search for a string"
 msgstr "æœç´¢å­—符串"
 
-#: kdiff3.cpp:345
+#: kdiff3.cpp:436
 msgid "Search again for the string"
 msgstr "冿¬¡æœç´¢è¯¥å­—符串"
 
-#: kdiff3.cpp:347
+#: kdiff3.cpp:438
 msgid "Enables/disables the toolbar"
 msgstr "å¯ç”¨/ç¦æ­¢å·¥å…·æ "
 
-#: kdiff3.cpp:349
+#: kdiff3.cpp:440
 msgid "Enables/disables the statusbar"
 msgstr "å¯ç”¨/ç¦æ­¢çŠ¶æ€æ "
 
-#: kdiff3.cpp:353
+#: kdiff3.cpp:444
 msgid "Configure KDiff3..."
 msgstr "é…ç½® KDiff3..."
 
-#: kdiff3.cpp:374
+#: kdiff3.cpp:465
 msgid "Go to Current Delta"
 msgstr "åˆ°å½“å‰ Delta"
 
-#: kdiff3.cpp:375
+#: kdiff3.cpp:466
 msgid "Go to First Delta"
 msgstr "到第一个 Delta"
 
-#: kdiff3.cpp:376
+#: kdiff3.cpp:467
 msgid "Go to Last Delta"
 msgstr "到最åŽä¸€ä¸ª Delta"
 
-#: kdiff3.cpp:377
+#: kdiff3.cpp:468
+msgid "(Skips white space differences when \"Show White Space\" is disabled.)"
+msgstr "(ç¦ç”¨â€œæ˜¾ç¤ºç©ºç™½å­—ç¬¦â€æ—¶è·³è¿‡ç©ºç™½å·®å¼‚。)"
+
+#: kdiff3.cpp:469
+msgid ""
+"(Does not skip white space differences even when \"Show White Space\" is "
+"disabled.)"
+msgstr "(ç¦ç”¨â€œæ˜¾ç¤ºç©ºç™½å­—ç¬¦â€æ—¶ä¹Ÿä¸è·³è¿‡ç©ºç™½å·®å¼‚。)"
+
+#: kdiff3.cpp:470
 msgid "Go to Previous Delta"
-msgstr "到å‰ä¸€ä¸ª Delta"
-
-#: kdiff3.cpp:378
+msgstr "到上一个 Delta"
+
+#: kdiff3.cpp:472
 msgid "Go to Next Delta"
 msgstr "到下一个 Delta"
 
-#: kdiff3.cpp:379
+#: kdiff3.cpp:474
 msgid "Go to Previous Conflict"
-msgstr "到å‰ä¸€ä¸ªå†²çª"
-
-#: kdiff3.cpp:380
+msgstr "到上一个冲çª"
+
+#: kdiff3.cpp:476
 msgid "Go to Next Conflict"
 msgstr "到下一个冲çª"
 
-#: kdiff3.cpp:381
+#: kdiff3.cpp:478
 msgid "Go to Previous Unsolved Conflict"
-msgstr "到å‰ä¸€ä¸ªæœªè§£å†³å†²çª"
-
-#: kdiff3.cpp:382
+msgstr "到上一个未解决冲çª"
+
+#: kdiff3.cpp:480
 msgid "Go to Next Unsolved Conflict"
 msgstr "到下一个未解决冲çª"
 
-#: kdiff3.cpp:383
+#: kdiff3.cpp:482
 msgid "Select Line(s) From A"
 msgstr "从 A 选择 行"
 
-#: kdiff3.cpp:384
+#: kdiff3.cpp:483
 msgid "Select Line(s) From B"
 msgstr "从 B 选择行"
 
-#: kdiff3.cpp:385
+#: kdiff3.cpp:484
 msgid "Select Line(s) From C"
 msgstr "从 C 选择行"
 
-#: kdiff3.cpp:386
+#: kdiff3.cpp:485
 msgid "Automatically Go to Next Unsolved Conflict After Source Selection"
 msgstr "æºç é€‰æ‹©åŽè‡ªåŠ¨åˆ°ä¸‹ä¸€ä¸ªæœªè§£å†³å†²çª"
 
-#: kdiff3.cpp:388
+#: kdiff3.cpp:487
 msgid "Show Space && Tabulator Characters for Differences"
 msgstr "显示间è·å’Œåˆ¶è¡¨ç¬¦çš„ä¸åŒ"
 
-#: kdiff3.cpp:389
+#: kdiff3.cpp:488
 msgid "Show White Space"
-msgstr "显示空白间è·"
-
-#: kdiff3.cpp:391
+msgstr "显示空白字符"
+
+#: kdiff3.cpp:490
 msgid "Show Line Numbers"
 msgstr "显示行数"
 
-#: kdiff3.cpp:392
+#: kdiff3.cpp:491
 msgid "Choose A Everywhere"
-msgstr "选择 A 所有"
-
-#: kdiff3.cpp:393
+msgstr "选择 A 全部"
+
+#: kdiff3.cpp:492
 msgid "Choose B Everywhere"
-msgstr "选择 B 所有"
-
-#: kdiff3.cpp:394
+msgstr "选择 B 全部"
+
+#: kdiff3.cpp:493
 msgid "Choose C Everywhere"
-msgstr "选择 C 所有"
-
-#: kdiff3.cpp:395
-msgid "Choose A For All Unsolved Conflicts"
-msgstr "选择 A 所有未解决冲çª"
-
-#: kdiff3.cpp:396
-msgid "Choose B For All Unsolved Conflicts"
-msgstr "选择 B 所有未解决冲çª"
-
-#: kdiff3.cpp:397
-msgid "Choose C For All Unsolved Conflicts"
-msgstr "选择 C 所有未解决冲çª"
-
-#: kdiff3.cpp:398
-msgid "Choose A For All Unsolved Whitespace Conflicts"
-msgstr "选择 A 所有未解决空白间è·å†²çª"
-
-#: kdiff3.cpp:399
-msgid "Choose B For All Unsolved Whitespace Conflicts"
-msgstr "选择 B 所有未解决空白间è·å†²çª"
-
-#: kdiff3.cpp:400
-msgid "Choose C For All Unsolved Whitespace Conflicts"
-msgstr "选择 C 所有未解决空白间è·å†²çª"
-
-#: kdiff3.cpp:401
+msgstr "选择 C 全部"
+
+#: kdiff3.cpp:494
+msgid "Choose A for All Unsolved Conflicts"
+msgstr "选择 A 全部未解决冲çª"
+
+#: kdiff3.cpp:495
+msgid "Choose B for All Unsolved Conflicts"
+msgstr "选择 B 全部未解决冲çª"
+
+#: kdiff3.cpp:496
+msgid "Choose C for All Unsolved Conflicts"
+msgstr "选择 C 全部未解决冲çª"
+
+#: kdiff3.cpp:497
+msgid "Choose A for All Unsolved Whitespace Conflicts"
+msgstr "选择 A 全部未解决空白字符冲çª"
+
+#: kdiff3.cpp:498
+msgid "Choose B for All Unsolved Whitespace Conflicts"
+msgstr "选择 B 全部未解决空白字符冲çª"
+
+#: kdiff3.cpp:499
+msgid "Choose C for All Unsolved Whitespace Conflicts"
+msgstr "选择 C 全部未解决空白字符冲çª"
+
+#: kdiff3.cpp:500
 msgid "Automatically Solve Simple Conflicts"
 msgstr "自动解决简å•冲çª"
 
-#: kdiff3.cpp:402
+#: kdiff3.cpp:501
 msgid "Set Deltas to Conflicts"
 msgstr "设置 Delta 为冲çª"
 
-#: kdiff3.cpp:404
+#: kdiff3.cpp:502
+msgid "Run Regular Expression Auto Merge"
+msgstr ""
+
+#: kdiff3.cpp:503
+#, fuzzy
+msgid "Automatically Solve History Conflicts"
+msgstr "自动解决简å•冲çª"
+
+#: kdiff3.cpp:504
+msgid "Split Diff At Selection"
+msgstr ""
+
+#: kdiff3.cpp:506
 msgid "Show Window A"
 msgstr "æ˜¾ç¤ºçª—å£ A"
 
-#: kdiff3.cpp:405
+#: kdiff3.cpp:507
 msgid "Show Window B"
 msgstr "æ˜¾ç¤ºçª—å£ B"
 
-#: kdiff3.cpp:406
+#: kdiff3.cpp:508
 msgid "Show Window C"
 msgstr "æ˜¾ç¤ºçª—å£ C"
 
-#: kdiff3.cpp:407 kdiff3.cpp:416
+#: kdiff3.cpp:509 kdiff3.cpp:520
 msgid "Focus Next Window"
 msgstr "èšç„¦äºŽä¸‹ä¸€ä¸ªçª—å£"
 
-#: kdiff3.cpp:409
+#: kdiff3.cpp:511
 msgid "Normal Overview"
+msgstr "普通概览"
+
+#: kdiff3.cpp:512
+msgid "A vs. B Overview"
+msgstr "A 和 B 概览"
+
+#: kdiff3.cpp:513
+msgid "A vs. C Overview"
+msgstr "A 和 C 概览"
+
+#: kdiff3.cpp:514
+msgid "B vs. C Overview"
+msgstr "B 和 C 概览"
+
+#: kdiff3.cpp:515
+msgid "Word Wrap Diff Windows"
+msgstr "在 Diff 窗å£è‡ªåЍæ¢è¡Œ"
+
+#: kdiff3.cpp:516
+msgid "Add Manual Diff Alignment"
 msgstr ""
 
-#: kdiff3.cpp:410
-msgid "A vs. B Overview"
+#: kdiff3.cpp:517
+msgid "Clear All Manual Diff Alignments"
 msgstr ""
 
-#: kdiff3.cpp:411
-msgid "A vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:412
-msgid "B vs. C Overview"
-msgstr ""
-
-#: kdiff3.cpp:413
-msgid "Word Wrap Diff Windows"
-msgstr ""
-
-#: kdiff3.cpp:418
+#: kdiff3.cpp:522
 msgid "Focus Prev Window"
-msgstr "èšç„¦äºŽå‰ä¸€ä¸ªçª—å£"
-
-#: kdiff3.cpp:419
+msgstr "èšç„¦äºŽä¸Šä¸€ä¸ªçª—å£"
+
+#: kdiff3.cpp:523
 msgid "Toggle Split Orientation"
 msgstr "切æ¢åˆ†é𔿖¹å‘"
 
-#: kdiff3.cpp:421
+#: kdiff3.cpp:525
 msgid "Dir && Text Split Screen View"
 msgstr "目录和文本分å±è§†å›¾"
 
-#: kdiff3.cpp:423
+#: kdiff3.cpp:527
 msgid "Toggle Between Dir && Text View"
 msgstr "切æ¢ç›®å½•和文本视图"
 
-#: kdiff3.cpp:504 pdiff.cpp:1754
+#: kdiff3.cpp:572 pdiff.cpp:1684
 msgid "The merge result hasn't been saved."
 msgstr "åˆå¹¶ç»“果未ä¿å­˜ã€‚"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Save && Quit"
 msgstr "ä¿å­˜å¹¶é€€å‡º"
 
-#: kdiff3.cpp:505
+#: kdiff3.cpp:573
 msgid "Quit Without Saving"
 msgstr "退出ä¸ä¿å­˜"
 
-#: kdiff3.cpp:513 pdiff.cpp:1763
+#: kdiff3.cpp:581 pdiff.cpp:1693
 msgid "Saving the merge result failed."
 msgstr "ä¿å­˜åˆå¹¶ç»“果失败。"
 
-#: kdiff3.cpp:524 pdiff.cpp:1150
-msgid "You are currently doing a directory merge. Are you sure, you want to abort?"
+#: kdiff3.cpp:592 pdiff.cpp:964
+msgid ""
+"You are currently doing a directory merge. Are you sure, you want to abort?"
 msgstr "æ‚¨å½“å‰æ­£åœ¨åˆå¹¶ç›®å½•ã€‚æ‚¨ç¡®è®¤è¦æ”¾å¼ƒå—?"
 
-#: kdiff3.cpp:547
+#: kdiff3.cpp:615
 msgid "Saving file..."
-msgstr "ä¿å­˜æ–‡ä»¶..."
-
-#: kdiff3.cpp:563
+msgstr "正在ä¿å­˜æ–‡ä»¶..."
+
+#: kdiff3.cpp:632
 msgid "Saving file with a new filename..."
-msgstr "用新文件åä¿å­˜æ–‡ä»¶..."
-
-#: kdiff3.cpp:587
+msgstr "正在用新文件åä¿å­˜æ–‡ä»¶..."
+
+#: kdiff3.cpp:721
+#, fuzzy
+msgid "Printing..."
+msgstr "正在退出..."
+
+#: kdiff3.cpp:727 kdiff3.cpp:889
+msgid "Printing aborted."
+msgstr ""
+
+#: kdiff3.cpp:859
+msgid "Selection"
+msgstr ""
+
+#: kdiff3.cpp:885
+#, fuzzy
+msgid "Printing completed."
+msgstr "åˆå¹¶æ“作完æˆã€‚"
+
+#: kdiff3.cpp:895
 msgid "Exiting..."
-msgstr "退出..."
-
-#: kdiff3.cpp:599
+msgstr "正在退出..."
+
+#: kdiff3.cpp:907
 msgid "Toggling toolbar..."
 msgstr "切æ¢å·¥å…·æ ..."
 
-#: kdiff3.cpp:619
+#: kdiff3.cpp:928
 msgid "Toggle the statusbar..."
 msgstr "切æ¢çŠ¶æ€æ ..."
 
-#: kdiff3.cpp:659
-msgid "Searchtext:"
-msgstr "æœç´¢æ–‡æœ¬ï¼š"
-
-#: kdiff3.cpp:666
-msgid "Case sensitive"
-msgstr "区分大å°å†™"
-
-#: kdiff3.cpp:669
-msgid "Search A"
-msgstr "æœç´¢ A"
-
-#: kdiff3.cpp:674
-msgid "Search B"
-msgstr "æœç´¢ B"
-
-#: kdiff3.cpp:679
-msgid "Search C"
-msgstr "æœç´¢ C"
-
-#: kdiff3.cpp:684
-msgid "Search output"
-msgstr "æœç´¢è¾“出"
-
-#: kdiff3.cpp:689
-msgid "&Search"
-msgstr "æœç´¢(&S)"
-
-#: kdiff3_part.cpp:134 kdiff3_part.cpp:199
+#: kdiff3_part.cpp:155 kdiff3_part.cpp:223
 msgid "Couldn't find files for comparison."
 msgstr "无法找到文件比较。"
 
-#: kdiff3_part.cpp:266
+#: kdiff3_part.cpp:290
 msgid "KDiff3Part"
 msgstr "KDiff3Part"
 
-#: kdiff3_shell.cpp:63
+#: kdiff3_shell.cpp:78
 msgid ""
 "Could not find our part!\n"
 "This usually happens due to an installation problem. Please read the "
 "README-file in the source package for details."
 msgstr ""
 "无法找到我们的组件ï¼\n"
-"å‘生此错误通常因为安装错误。详细内容请阅读æºç åŒ…内"
-"的 README 文件。"
-
-#: main.cpp:30
-msgid "Text Diff and Merge Tool"
-msgstr "文本比较åŠåˆå¹¶å·¥å…·"
+"å‘生此错误通常因为安装错误。详细内容请阅读æºç åŒ…内的 README 文件。"
 
 #: main.cpp:35
+msgid "Tool for Comparison and Merge of Files and Directories"
+msgstr "比较åŠåˆå¹¶æ–‡ä»¶å’Œç›®å½•的工具"
+
+#: main.cpp:40
 msgid "Merge the input."
-msgstr "åˆå¹¶è¾“å…¥"
-
-#: main.cpp:37
+msgstr "åˆå¹¶è¾“入。"
+
+#: main.cpp:42
 msgid "Explicit base file. For compatibility with certain tools."
 msgstr "明确基准文件,以便与æŸäº›å·¥å…·å…¼å®¹ã€‚"
 
-#: main.cpp:39
+#: main.cpp:44
 msgid "Output file. Implies -m. E.g.: -o newfile.txt"
 msgstr "输出文件。Implies -m。例如:-o newfile.txt"
 
-#: main.cpp:40
+#: main.cpp:45
 msgid "Output file, again. (For compatibility with certain tools.)"
 msgstr "冿¬¡è¾“出文件。(为与æŸäº›å·¥å…·å…¼å®¹ã€‚)"
 
-#: main.cpp:41
+#: main.cpp:46
 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)"
-msgstr "如果所有冲çªè‡ªåŠ¨è§£å†³æ— å›¾å½¢ç”¨æˆ·ç•Œé¢ã€‚(éœ€è¦ -o file)"
-
-#: main.cpp:42
+msgstr "如果全部冲çªè‡ªåŠ¨è§£å†³æ— å›¾å½¢ç”¨æˆ·ç•Œé¢ã€‚(éœ€è¦ -o file)"
+
+#: main.cpp:47
 msgid "Don't solve conflicts automatically. (For compatibility...)"
 msgstr "ä¸è‡ªåŠ¨è§£å†³å†²çªã€‚(为了兼容性...)"
 
-#: main.cpp:43
+#: main.cpp:48
+msgid "Visible name replacement for input file 1 (base)."
+msgstr "为输入文件1(基准文件)åšçš„å¯è§å替æ¢ã€‚"
+
+#: main.cpp:49
+msgid "Visible name replacement for input file 2."
+msgstr "为输入文件2åšçš„å¯è§å替æ¢ã€‚"
+
+#: main.cpp:50
+msgid "Visible name replacement for input file 3."
+msgstr "为输入文件3åšçš„å¯è§å替æ¢ã€‚"
+
+#: main.cpp:52
+msgid "Alternative visible name replacement. Supply this once for every input."
+msgstr "候选å¯è§å替æ¢ã€‚æ¯æ¬¡è¾“å…¥æä¾›ã€‚"
+
+#: main.cpp:53
+msgid ""
+"Override a config setting. Use once for every setting. E.g.: --cs "
+"\"AutoAdvance=1\""
+msgstr ""
+
+#: main.cpp:54
+msgid "Show list of config settings and current values."
+msgstr ""
+
+#: main.cpp:55
 #, fuzzy
-msgid "Visible name replacement for input file 1 (base)."
-msgstr "å¯è§å替æ¢ã€‚æ¯æ¬¡è¾“å…¥æä¾›ã€‚"
-
-#: main.cpp:44
-#, fuzzy
-msgid "Visible name replacement for input file 2."
-msgstr "å¯è§å替æ¢ã€‚æ¯æ¬¡è¾“å…¥æä¾›ã€‚"
-
-#: main.cpp:45
-#, fuzzy
-msgid "Visible name replacement for input file 3."
-msgstr "å¯è§å替æ¢ã€‚æ¯æ¬¡è¾“å…¥æä¾›ã€‚"
-
-#: main.cpp:47
-#, fuzzy
-msgid "Alternative visible name replacement. Supply this once for every input."
-msgstr "å¯è§å替æ¢ã€‚æ¯æ¬¡è¾“å…¥æä¾›ã€‚"
-
-#: main.cpp:48
-#, fuzzy
-msgid "Has no effect. For compatibility with certain tools."
-msgstr "为与æŸäº›å·¥å…·å…¼å®¹ã€‚"
-
-#: main.cpp:50
-msgid "For compatibility with certain tools."
-msgstr "为与æŸäº›å·¥å…·å…¼å®¹ã€‚"
-
-#: main.cpp:52
+msgid "Use a different config file."
+msgstr "ä¸åŒæ–‡ä»¶æ•°ï¼š"
+
+#: main.cpp:59
 msgid "file1 to open (base, if not specified via --base)"
 msgstr "è¦æ‰“开的文件(基准文件,如果未通过 --base 指定)"
 
-#: main.cpp:53
+#: main.cpp:60
 msgid "file2 to open"
 msgstr "è¦æ‰“开的文件 2"
 
-#: main.cpp:54
+#: main.cpp:61
 msgid "file3 to open"
 msgstr "è¦æ‰“开的文件 3"
 
-#: main.cpp:108 rc.cpp:3
+#: main.cpp:93
+msgid "Ignored. (User defined.)"
+msgstr ""
+
+#. i18n: file kdiff3_part.rc line 16
+#: main.cpp:171 rc.cpp:9
+#, no-c-format
 msgid "KDiff3"
 msgstr "KDiff3"
 
-#: main.cpp:120
+#: main.cpp:184
 msgid "+ Many thanks to those who reported bugs and contributed ideas!"
-msgstr ""
-
-#: mergeresultwindow.cpp:254
+msgstr "+ å分感谢报告错误和贡献想法的人们ï¼"
+
+#: mergeresultwindow.cpp:132 mergeresultwindow.cpp:936
+#: mergeresultwindow.cpp:950 mergeresultwindow.cpp:962
+#: mergeresultwindow.cpp:974
+msgid "Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)"
+msgstr "è¿˜æœªè§£å†³çš„å†²çªæ•°ç›®ï¼š%1(其中 %2 项为空白字符)"
+
+#: mergeresultwindow.cpp:282
 msgid ""
 "The output has been modified.\n"
 "If you continue your changes will be lost."
 msgstr ""
-"输出已被修改。\n"
-"如果您继续您的改å˜å°†ä¸¢å¤±ã€‚"
-
-#: mergeresultwindow.cpp:726 pdiff.cpp:483
+"已修改输出。\n"
+"如果您继续您的更改将丢失。"
+
+#: mergeresultwindow.cpp:794 pdiff.cpp:507
 msgid "All input files are binary equal."
-msgstr "所有输入文件二进制数æ®ç›¸åŒã€‚"
-
-#: mergeresultwindow.cpp:728 pdiff.cpp:485
+msgstr "全部输入文件二进制数æ®ç›¸åŒã€‚"
+
+#: mergeresultwindow.cpp:796 pdiff.cpp:509
 msgid "All input files contain the same text."
-msgstr "所有输入文件包å«ç›¸åŒæ–‡æœ¬ã€‚"
-
-#: mergeresultwindow.cpp:730 pdiff.cpp:487
+msgstr "全部输入文件包å«ç›¸åŒæ–‡æœ¬ã€‚"
+
+#: mergeresultwindow.cpp:798 pdiff.cpp:511
 msgid ""
 "Files A and B are binary equal.\n"
 msgstr ""
 "文件 A å’Œ B 二进制数æ®ç›¸åŒã€‚\n"
 
-#: mergeresultwindow.cpp:731 pdiff.cpp:488
+#: mergeresultwindow.cpp:799 pdiff.cpp:512
 msgid ""
 "Files A and B have equal text. \n"
 msgstr ""
 "文件 A å’Œ B 文本相åŒã€‚\n"
 
-#: mergeresultwindow.cpp:732 pdiff.cpp:489
+#: mergeresultwindow.cpp:800 pdiff.cpp:513
 msgid ""
 "Files A and C are binary equal.\n"
 msgstr ""
 "文件 A å’Œ C 二进制数æ®ç›¸åŒã€‚\n"
 
-#: mergeresultwindow.cpp:733 pdiff.cpp:490
+#: mergeresultwindow.cpp:801 pdiff.cpp:514
 msgid ""
 "Files A and C have equal text. \n"
 msgstr ""
 "文件 A å’Œ C 文本相åŒã€‚\n"
 
-#: mergeresultwindow.cpp:734 pdiff.cpp:491
+#: mergeresultwindow.cpp:802 pdiff.cpp:515
 msgid ""
 "Files B and C are binary equal.\n"
 msgstr ""
 "文件 B å’Œ C 二进制数æ®ç›¸åŒã€‚\n"
 
-#: mergeresultwindow.cpp:735 pdiff.cpp:492
+#: mergeresultwindow.cpp:803 pdiff.cpp:516
 msgid ""
 "Files B and C have equal text. \n"
 msgstr ""
 "文件 B å’Œ C 文本相åŒã€‚\n"
 
-#: mergeresultwindow.cpp:738
+#: mergeresultwindow.cpp:809
 msgid "Total number of conflicts: "
 msgstr "å†²çªæ€»æ•°ï¼š"
 
-#: mergeresultwindow.cpp:739
+#: mergeresultwindow.cpp:810
 msgid ""
 "\n"
 "Nr of automatically solved conflicts: "
 msgstr ""
 "\n"
-"è‡ªåŠ¨è§£å†³å†²çªæ•°ç›®ï¼š"
-
-#: mergeresultwindow.cpp:740
+"è‡ªåŠ¨è§£å†³çš„å†²çªæ•°ç›®ï¼š"
+
+#: mergeresultwindow.cpp:811
 msgid ""
 "\n"
 "Nr of unsolved conflicts: "
@@ -1226,159 +1337,211 @@
 "\n"
 "æœªè§£å†³å†²çªæ•°ç›®ï¼š"
 
-#: mergeresultwindow.cpp:742
+#: mergeresultwindow.cpp:813
 msgid "Conflicts"
 msgstr "冲çª"
 
-#: mergeresultwindow.cpp:1081
+#: mergeresultwindow.cpp:1506
 msgid "<No src line>"
 msgstr "<æ— æºè¡Œ>"
 
-#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853
+#: mergeresultwindow.cpp:1514
+msgid "<Merge Conflict (Whitespace only)>"
+msgstr "<åˆå¹¶å†²çª(åªæœ‰ç©ºç™½å­—符)>"
+
+#: mergeresultwindow.cpp:1516 mergeresultwindow.cpp:2302
 msgid "<Merge Conflict>"
 msgstr "<åˆå¹¶å†²çª>"
 
-#: mergeresultwindow.cpp:1155
+#: mergeresultwindow.cpp:1586 smalldialogs.cpp:115
 msgid "Output"
-msgstr ""
-
-#: mergeresultwindow.cpp:1157
+msgstr "输出"
+
+#: mergeresultwindow.cpp:1588
 msgid "[Modified]"
 msgstr "[已修改]"
 
-#: mergeresultwindow.cpp:2067
+#: mergeresultwindow.cpp:2512
 msgid ""
 "Not all conflicts are solved yet.\n"
 "File not saved.\n"
 msgstr ""
-"尚未解决所有冲çªã€‚\n"
+"尚未解决全部冲çªã€‚\n"
 "文件未ä¿å­˜ã€‚\n"
 
-#: mergeresultwindow.cpp:2069
+#: mergeresultwindow.cpp:2514
 msgid "Conflicts Left"
-msgstr "冲çªé—ç•™"
-
-#: mergeresultwindow.cpp:2081
+msgstr "é—留的冲çª"
+
+#: mergeresultwindow.cpp:2526
 msgid ""
 "\n"
 "\n"
-"File not saved."
+"Creating backup failed. File not saved."
 msgstr ""
 "\n"
 "\n"
-"文件未ä¿å­˜ã€‚"
-
-#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142
+"创建备份失败。文件未ä¿å­˜ã€‚"
+
+#: mergeresultwindow.cpp:2526 mergeresultwindow.cpp:2566
 msgid "File Save Error"
-msgstr "文件ä¿å­˜é”™è¯¯"
-
-#: mergeresultwindow.cpp:2097
-msgid "Out of memory while preparing to save."
-msgstr "准备ä¿å­˜æ—¶å†…存溢出。"
-
-#: mergeresultwindow.cpp:2142
+msgstr "ä¿å­˜æ–‡ä»¶é”™è¯¯"
+
+#: mergeresultwindow.cpp:2566
 msgid "Error while writing."
 msgstr "写入时出错。"
 
-#: optiondialog.cpp:330
+#: optiondialog.cpp:361
+msgid "Unicode, 8 bit"
+msgstr "8 ä½ Unicode"
+
+#: optiondialog.cpp:362
+msgid "Unicode"
+msgstr "Unicode"
+
+#: optiondialog.cpp:363
+msgid "Latin1"
+msgstr "Latin1"
+
+#: optiondialog.cpp:382
+msgid "Change this if non-ASCII characters are not displayed correctly."
+msgstr "å¦‚æžœéž ASCII 字符ä¸èƒ½æ­£ç¡®æ˜¾ç¤ºï¼Œè¯·æ›´æ”¹æ­¤é€‰é¡¹ã€‚"
+
+#: optiondialog.cpp:504
 msgid "Editor & Diff Output Font"
-msgstr "编辑器和差别输出字体"
-
-#: optiondialog.cpp:342
+msgstr "编辑器和 Diff 输出字体"
+
+#: optiondialog.cpp:525
 msgid "Italic font for deltas"
 msgstr "delta 使用斜体字"
 
-#: optiondialog.cpp:345
+#: optiondialog.cpp:528
 msgid ""
 "Selects the italic version of the font for differences.\n"
 "If the font doesn't support italic characters, then this does nothing."
 msgstr ""
 "选择斜体字表示差别。\n"
-"å¦‚æžœå­—ä½“ä¸æ”¯æŒæ–œä½“,那么无动作。"
-
-#: optiondialog.cpp:353
+"å¦‚æžœå­—ä½“ä¸æ”¯æŒæ–œä½“,那么这个选项无效。"
+
+#: optiondialog.cpp:536
 msgid "Color"
 msgstr "颜色"
 
-#: optiondialog.cpp:353
-msgid "Colors in Editor & Diff Output"
-msgstr "编辑器和差别输出颜色"
-
-#: optiondialog.cpp:367
+#: optiondialog.cpp:536
+#, fuzzy
+msgid "Colors Settings"
+msgstr "区域设置"
+
+#: optiondialog.cpp:550
+msgid "Editor and Diff Views:"
+msgstr ""
+
+#: optiondialog.cpp:558
 msgid "Foreground color:"
 msgstr "剿™¯é¢œè‰²ï¼š"
 
-#: optiondialog.cpp:373
+#: optiondialog.cpp:564
 msgid "Background color:"
 msgstr "背景颜色:"
 
-#: optiondialog.cpp:380
+#: optiondialog.cpp:572
 msgid "Diff background color:"
-msgstr "差别背景颜色:"
-
-#: optiondialog.cpp:387
+msgstr "Diff 背景颜色:"
+
+#: optiondialog.cpp:579
 msgid "Color A:"
 msgstr "颜色 A:"
 
-#: optiondialog.cpp:394
+#: optiondialog.cpp:586
 msgid "Color B:"
 msgstr "颜色 B:"
 
-#: optiondialog.cpp:401
+#: optiondialog.cpp:593
 msgid "Color C:"
 msgstr "颜色 C:"
 
-#: optiondialog.cpp:407
+#: optiondialog.cpp:599
 msgid "Conflict color:"
 msgstr "冲çªé¢œè‰²ï¼š"
 
-#: optiondialog.cpp:414
+#: optiondialog.cpp:606
 msgid "Current range background color:"
 msgstr "当å‰èŒƒå›´èƒŒæ™¯é¢œè‰²ï¼š"
 
-#: optiondialog.cpp:421
+#: optiondialog.cpp:613
 msgid "Current range diff background color:"
 msgstr "当å‰èŒƒå›´å·®åˆ«èƒŒæ™¯é¢œè‰²ï¼š"
 
-#: optiondialog.cpp:432
+#: optiondialog.cpp:619
+msgid "Color for manually selected difference ranges:"
+msgstr ""
+
+#: optiondialog.cpp:624
+#, fuzzy
+msgid "Directory Comparison View:"
+msgstr "目录比较状æ€"
+
+#: optiondialog.cpp:630
+msgid "Newest file color:"
+msgstr ""
+
+#: optiondialog.cpp:633
+msgid ""
+"Changing this color will only be effective when starting the next directory "
+"comparison."
+msgstr ""
+
+#: optiondialog.cpp:638
+msgid "Oldest file color:"
+msgstr ""
+
+#: optiondialog.cpp:645
+msgid "Middle age file color:"
+msgstr ""
+
+#: optiondialog.cpp:652
+msgid "Color for missing files:"
+msgstr ""
+
+#: optiondialog.cpp:664
 msgid "Editor"
 msgstr "编辑器"
 
-#: optiondialog.cpp:432
-msgid "Editor Behaviour"
+#: optiondialog.cpp:664
+msgid "Editor Behavior"
 msgstr "编辑器行为"
 
-#: optiondialog.cpp:441
+#: optiondialog.cpp:674
 msgid "Tab inserts spaces"
-msgstr "标签æ’入间è·"
-
-#: optiondialog.cpp:444
+msgstr "跳格æ’入空格"
+
+#: optiondialog.cpp:677
 msgid ""
 "On: Pressing tab generates the appropriate number of spaces.\n"
 "Off: A Tab-character will be inserted."
 msgstr ""
-"打开:按动标签则生æˆåˆé€‚çš„é—´è·æ•°ã€‚\n"
-"关闭:一个标签字符将被æ’入。"
-
-#: optiondialog.cpp:450
+"打开:按下 Tab 则生æˆç›¸åº”æ•°é‡çš„空格。\n"
+"关闭:将æ’入一个制表符。"
+
+#: optiondialog.cpp:683
 msgid "Tab size:"
-msgstr "标签大å°ï¼š"
-
-#: optiondialog.cpp:455
+msgstr "制表符大å°ï¼š"
+
+#: optiondialog.cpp:688
 msgid "Auto indentation"
 msgstr "自动缩进"
 
-#: optiondialog.cpp:458
+#: optiondialog.cpp:691
 msgid ""
 "On: The indentation of the previous line is used for a new line.\n"
 msgstr ""
 "打开:使用å‰ä¸€è¡Œçš„缩进于新一行。\n"
 
-#: optiondialog.cpp:462
+#: optiondialog.cpp:695
 msgid "Auto copy selection"
 msgstr "自动å¤åˆ¶é€‰æ‹©"
 
-#: optiondialog.cpp:465
+#: optiondialog.cpp:698
 msgid ""
 "On: Any selection is immediately written to the clipboard.\n"
 "Off: You must explicitely copy e.g. via Ctrl-C."
@@ -1386,220 +1549,315 @@
 "打开:任何选择将被自动写入剪贴æ¿ã€‚\n"
 "关闭:您必须明确å¤åˆ¶å†…容,如通过 Ctrl-C。"
 
-#: optiondialog.cpp:470
-msgid "Line End Style:"
+#: optiondialog.cpp:703
+msgid "Line end style:"
+msgstr "行尾风格:"
+
+#: optiondialog.cpp:715
+msgid ""
+"Sets the line endings for when an edited file is saved.\n"
+"DOS/Windows: CR+LF; UNIX: LF; with CR=0D, LF=0A"
 msgstr ""
-
-#: optiondialog.cpp:482
-msgid ""
-"Sets the line endings for when a edited file is saved.\n"
-"DOS/Windows: CR+LF; Unix: LF; with CR=0D, LF=0A"
-msgstr ""
-
-#: optiondialog.cpp:487
-msgid "Use locale encoding"
-msgstr "使用本地编ç "
-
-#: optiondialog.cpp:490
+"设置ä¿å­˜æ–‡ä»¶çš„行尾。\n"
+"DOS/Windows:CR+LF;Unix:LF;而 CR=0D,LF=0A"
+
+#: optiondialog.cpp:726
 #, fuzzy
-msgid "Change this if non-ASCII characters are not displayed correctly."
-msgstr "å¦‚æžœéž ascii 字符ä¸èƒ½æ­£ç¡®æ˜¾ç¤ºæ”¹å˜æ­¤é€‰é¡¹ã€‚"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge"
-msgstr "差别 & åˆå¹¶"
-
-#: optiondialog.cpp:500
-msgid "Diff & Merge Settings"
-msgstr "差别 & åˆå¹¶è®¾ç½®"
-
-#: optiondialog.cpp:510
+msgid "Diff and Merge"
+msgstr "Diff 和 Merge"
+
+#: optiondialog.cpp:726
+#, fuzzy
+msgid "Diff and Merge Settings"
+msgstr "Diff 和 Merge 设置"
+
+#: optiondialog.cpp:737
 msgid "Preserve carriage return"
 msgstr "ä¿ç•™å›žè½¦"
 
-#: optiondialog.cpp:513
+#: optiondialog.cpp:740
 msgid ""
 "Show carriage return characters '\\r' if they exist.\n"
 "Helps to compare files that were modified under different operating systems."
 msgstr ""
 "如果存在,显示回车字符“\\râ€ã€‚\n"
-"帮助比较在ä¸åŒæ“作系统下修改的文件。"
-
-#: optiondialog.cpp:518
+"这个选项帮助比较在ä¸åŒæ“作系统下修改的文件。"
+
+#: optiondialog.cpp:745
 msgid "Ignore numbers"
 msgstr "忽略数字"
 
-#: optiondialog.cpp:521
+#: optiondialog.cpp:748
 msgid ""
-"Ignore number characters during line matching phase. (Similar to Ignore "
-"white space.)\n"
+"Ignore number characters during line matching phase. (Similar to Ignore white "
+"space.)\n"
 "Might help to compare files with numeric data."
 msgstr ""
-"在行匹é…阶段,忽略数字字符。(与忽略空白间è·ç›¸ä¼¼ã€‚)\n"
+"在行匹é…阶段,忽略数字字符。(与忽略空白字符相似。)\n"
 "å¯èƒ½å¸®åŠ©æ¯”è¾ƒå¸¦æ•°å€¼æ•°æ®çš„æ–‡ä»¶ã€‚"
 
-#: optiondialog.cpp:526
-msgid "Ignore C/C++ Comments"
+#: optiondialog.cpp:753
+msgid "Ignore C/C++ comments"
 msgstr "忽略 C/C++ 注解"
 
-#: optiondialog.cpp:528
+#: optiondialog.cpp:755
 msgid "Treat C/C++ comments like white space."
-msgstr "按空白间è·å¤„ç† C/C++ 注解"
-
-#: optiondialog.cpp:532
-#, fuzzy
+msgstr "æŒ‰ç©ºç™½å­—ç¬¦å¤„ç† C/C++ 注解"
+
+#: optiondialog.cpp:759
 msgid "Ignore case"
-msgstr "忽略数字"
-
-#: optiondialog.cpp:535
+msgstr "忽略大å°å†™"
+
+#: optiondialog.cpp:762
 msgid "Treat case differences like white space changes. ('a'<=>'A')"
-msgstr ""
-
-#: optiondialog.cpp:539
+msgstr "按处ç†ç©ºæ ¼æ›´æ”¹çš„æ–¹æ³•处ç†å¤§å°å†™æ›´æ”¹ã€‚(“aâ€<=>“Aâ€)"
+
+#: optiondialog.cpp:766
 msgid "Preprocessor command:"
 msgstr "预处ç†ç¨‹åºå‘½ä»¤ï¼š"
 
-#: optiondialog.cpp:543
+#: optiondialog.cpp:770
 msgid "User defined pre-processing. (See the docs for details.)"
-msgstr "用户定义预处ç†ã€‚(è¯¦ç»†å†…å®¹è§ docs。)"
-
-#: optiondialog.cpp:546
+msgstr "用户定义预处ç†ã€‚(è¯¦ç»†å†…å®¹è§æ–‡æ¡£ã€‚)"
+
+#: optiondialog.cpp:773
 msgid "Line-matching preprocessor command:"
 msgstr "行匹é…预处ç†å‘½ä»¤ï¼š"
 
-#: optiondialog.cpp:550
+#: optiondialog.cpp:777
 msgid ""
 "This pre-processor is only used during line matching.\n"
 "(See the docs for details.)"
 msgstr ""
 "此预处ç†ä»…åœ¨è¡ŒåŒ¹é…æ—¶ä½¿ç”¨ã€‚\n"
-"(è¯¦ç»†å†…å®¹è§ docs。)"
-
-#: optiondialog.cpp:553
+"(è¯¦ç»†å†…å®¹è§æ–‡æ¡£ã€‚)"
+
+#: optiondialog.cpp:780
 msgid "Try hard (slower)"
 msgstr "å°½é‡ä»”细(较慢)"
 
-#: optiondialog.cpp:556
+#: optiondialog.cpp:783
 msgid ""
 "Enables the --minimal option for the external diff.\n"
 "The analysis of big files will be much slower."
 msgstr ""
-"为外部差别å¯ç”¨ --minimal 选项。\n"
+"为外部 diff 程åºå¯ç”¨ --minimal 选项。\n"
 "大文件的分æžä¼šæ…¢å¾—多。"
 
-#: optiondialog.cpp:561
+#: optiondialog.cpp:788
 msgid "Auto advance delay (ms):"
 msgstr "自动å‰è¿›å»¶è¿Ÿ(毫秒):"
 
-#: optiondialog.cpp:566
+#: optiondialog.cpp:793
 msgid ""
 "When in Auto-Advance mode the result of the current selection is shown \n"
 "for the specified time, before jumping to the next conflict. Range: 0-2000 ms"
+msgstr "在自动å‰è¿›æ¨¡å¼ï¼Œå½“å‰é€‰æ‹©ç»“果显示一定时间,æ‰ä¼šè·³åˆ°ä¸‹ä¸€ä¸ªå†²çªã€‚范围:0-2000 毫秒"
+
+#: optiondialog.cpp:798
+msgid "White space 2-file merge default:"
+msgstr "2 文件åˆå¹¶é»˜è®¤ç©ºç™½å­—符:"
+
+#: optiondialog.cpp:802 optiondialog.cpp:815
+msgid "Manual Choice"
+msgstr "手动选择"
+
+#: optiondialog.cpp:806 optiondialog.cpp:820
+msgid ""
+"Allow the merge algorithm to automatically select an input for white-space-only "
+"changes."
+msgstr "å…许åˆå¹¶ç®—法为仅有空白字符å˜åŒ–自动选择输入。"
+
+#: optiondialog.cpp:811
+msgid "White space 3-file merge default:"
+msgstr "默认 3 文件åˆå¹¶ç©ºç™½å­—符:"
+
+#: optiondialog.cpp:825
+msgid "Automatic Merge Regular Expression"
 msgstr ""
-"在自动å‰è¿›æ¨¡å¼ï¼Œå½“å‰é€‰æ‹©ç»“果显示一定时间,æ‰ä¼šè·³åˆ°"
-"下一个冲çªã€‚范围: 0-2000 毫秒"
-
-#: optiondialog.cpp:571
-msgid "White space 2-file merge default:"
-msgstr "2 文件åˆå¹¶é»˜è®¤ç©ºç™½é—´è·ï¼š"
-
-#: optiondialog.cpp:575 optiondialog.cpp:588
-msgid "Manual choice"
-msgstr "手动选择"
-
-#: optiondialog.cpp:579 optiondialog.cpp:593
+
+#: optiondialog.cpp:834 smalldialogs.cpp:501
+msgid "Auto merge regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:838
 msgid ""
-"Allow the merge algorithm to automatically select an input for "
-"white-space-only changes."
-msgstr "å…许åˆå¹¶ç®—法为仅有空白间è·å˜åŒ–自动选择输入。"
-
-#: optiondialog.cpp:584
-msgid "White space 3-file merge default:"
-msgstr "3 文件åˆå¹¶ç©ºç™½é—´è·é»˜è®¤ï¼š"
-
-#: optiondialog.cpp:603
+"Regular expression for lines where KDiff3 should automatically choose one "
+"source.\n"
+"When a line with a conflict matches the regular expression then/n- if available "
+"- C, otherwise B will be chosen."
+msgstr ""
+
+#: optiondialog.cpp:844
+msgid "Run regular expression auto merge on merge start"
+msgstr ""
+
+#: optiondialog.cpp:846
+msgid ""
+"Run the merge for auto merge regular expressions\n"
+"immediately when a merge starts.\n"
+msgstr ""
+
+#: optiondialog.cpp:851
+msgid "Version Control History Merging"
+msgstr ""
+
+#: optiondialog.cpp:860 smalldialogs.cpp:528
+msgid "History start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:864
+msgid ""
+"Regular expression for the start of the merge history entry.\n"
+"Usually this line contains the \"$Log$
+"Usually this line contains the \"Revision 1.2  2006/04/10 08:33:35  joachim99
+"Usually this line contains the \"KDiff3 0.9.89
+"Usually this line contains the \"\"-keyword.\n"
+"Default value: \".*\\$Log.*\\$.*\""
+msgstr ""
+
+#: optiondialog.cpp:870 smalldialogs.cpp:557
+msgid "History entry start regular expression:"
+msgstr ""
+
+#: optiondialog.cpp:882
+msgid ""
+"A merge history entry consists of several lines.\n"
+"Specify the regular expression to detect the first line (without the leading "
+"comment).\n"
+"Use parentheses to group the keys you want to use for sorting.\n"
+"If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:890
+msgid "History merge sorting"
+msgstr ""
+
+#: optiondialog.cpp:892
+msgid "Sort version control history by a key."
+msgstr ""
+
+#: optiondialog.cpp:902
+msgid "History entry start sort key order:"
+msgstr ""
+
+#: optiondialog.cpp:906
+msgid ""
+"Each parentheses used in the regular expression for the history start entry\n"
+"groups a key that can be used for sorting.\n"
+"Specify the list of keys (that are numbered in order of occurrence\n"
+"starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+"If left empty, then no sorting will be done.\n"
+"See the documentation for details."
+msgstr ""
+
+#: optiondialog.cpp:917
+msgid "Merge version control history on merge start"
+msgstr ""
+
+#: optiondialog.cpp:919
+msgid "Run version control history automerge on merge start."
+msgstr ""
+
+#: optiondialog.cpp:923
+msgid "Test your regular expressions"
+msgstr ""
+
+#: optiondialog.cpp:928
+msgid "Irrelevant merge command:"
+msgstr ""
+
+#: optiondialog.cpp:932
+msgid ""
+"If specified this script is run after automerge\n"
+"when no other relevant changes were detected.\n"
+"Called with the parameters: filename1 filename2 filename3"
+msgstr ""
+
+#: optiondialog.cpp:942
 msgid "Directory Merge"
 msgstr "目录åˆå¹¶"
 
-#: optiondialog.cpp:611
+#: optiondialog.cpp:951
 msgid "Recursive directories"
-msgstr "递归目录"
-
-#: optiondialog.cpp:613
+msgstr "包å«å­ç›®å½•"
+
+#: optiondialog.cpp:953
 msgid "Whether to analyze subdirectories or not."
 msgstr "是å¦åˆ†æžå­ç›®å½•。"
 
-#: optiondialog.cpp:615
+#: optiondialog.cpp:955
 msgid "File pattern(s):"
-msgstr "文件模æ¿ï¼š"
-
-#: optiondialog.cpp:620
+msgstr "文件模å¼ï¼š"
+
+#: optiondialog.cpp:960
 msgid ""
 "Pattern(s) of files to be analyzed. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"è¦åˆ†æžçš„æ–‡ä»¶æ¨¡æ¿ã€‚\n"
+"è¦åˆ†æžçš„æ–‡ä»¶æ¨¡å¼ã€‚\n"
 "通é…符:“*â€å’Œâ€œ?â€\n"
-"几个模æ¿å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
-
-#: optiondialog.cpp:626
+"几个模å¼å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
+
+#: optiondialog.cpp:966
 msgid "File-anti-pattern(s):"
-msgstr "排除文件模æ¿ï¼š"
-
-#: optiondialog.cpp:631
+msgstr "排除文件模å¼ï¼š"
+
+#: optiondialog.cpp:971
 msgid ""
 "Pattern(s) of files to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"排除分æžçš„æ–‡ä»¶æ¨¡æ¿ã€‚\n"
+"排除分æžçš„æ–‡ä»¶æ¨¡å¼ã€‚\n"
 "通é…符:“*â€å’Œâ€œ?â€\n"
-"几个模æ¿å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
-
-#: optiondialog.cpp:637
+"几个模å¼å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
+
+#: optiondialog.cpp:977
 msgid "Dir-anti-pattern(s):"
-msgstr "排除目录模æ¿ï¼š"
-
-#: optiondialog.cpp:642
+msgstr "排除目录模å¼ï¼š"
+
+#: optiondialog.cpp:982
 msgid ""
 "Pattern(s) of directories to be excluded from analysis. \n"
 "Wildcards: '*' and '?'\n"
 "Several Patterns can be specified by using the separator: ';'"
 msgstr ""
-"排除分æžçš„目录模æ¿ã€‚\n"
+"排除分æžçš„目录模å¼ã€‚\n"
 "通é…符:“*â€å’Œâ€œ?â€\n"
-"几个模æ¿å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
-
-#: optiondialog.cpp:648
+"几个模å¼å¯ä»¥ä½¿ç”¨åˆ†éš”符:“;â€æŒ‡å®š"
+
+#: optiondialog.cpp:988
 msgid "Use .cvsignore"
 msgstr "使用 .cvsignore"
 
-#: optiondialog.cpp:651
+#: optiondialog.cpp:991
 msgid ""
 "Extends the antipattern to anything that would be ignored by CVS.\n"
 "Via local \".cvsignore\"-files this can be directory specific."
 msgstr ""
-"扩展排除模æ¿è‡³ä»»ä½•被 CVS 忽略的类型。\n"
+"扩展排除模å¼è‡³ä»»ä½•被 CVS 忽略的类型。\n"
 "通过本地“.cvsignoreâ€æ–‡ä»¶ï¼Œå¯ä»¥æŒ‡å®šç›®å½•。"
 
-#: optiondialog.cpp:656
+#: optiondialog.cpp:996
 msgid "Find hidden files and directories"
 msgstr "查找éšè—目录和文件"
 
-#: optiondialog.cpp:659
+#: optiondialog.cpp:999
 msgid "Finds files and directories with the hidden attribute."
 msgstr "查找具有éšè—属性的文件和目录。"
 
-#: optiondialog.cpp:661
+#: optiondialog.cpp:1001
 msgid "Finds files and directories starting with '.'."
 msgstr "查找以“.â€å¼€å¤´çš„æ–‡ä»¶å’Œç›®å½•。"
 
-#: optiondialog.cpp:665
+#: optiondialog.cpp:1005
 msgid "Follow file links"
 msgstr "追踪文件链接"
 
-#: optiondialog.cpp:668
+#: optiondialog.cpp:1008
 msgid ""
 "On: Compare the file the link points to.\n"
 "Off: Compare the links."
@@ -1607,11 +1865,11 @@
 "打开:比较链接指å‘的文件。\n"
 "关闭:比较链接。"
 
-#: optiondialog.cpp:673
+#: optiondialog.cpp:1013
 msgid "Follow directory links"
 msgstr "追踪目录链接"
 
-#: optiondialog.cpp:676
+#: optiondialog.cpp:1016
 msgid ""
 "On: Compare the directory the link points to.\n"
 "Off: Compare the links."
@@ -1619,69 +1877,81 @@
 "打开:比较链接指å‘的目录。\n"
 "关闭:比较链接。"
 
-#: optiondialog.cpp:681
+#: optiondialog.cpp:1021
 msgid "List only deltas"
-msgstr "仅列表 delta"
-
-#: optiondialog.cpp:684
+msgstr "仅列出 delta"
+
+#: optiondialog.cpp:1024
 msgid "Files and directories without change will not appear in the list."
-msgstr "未改å˜çš„æ–‡ä»¶å’Œç›®å½•ä¸ä¼šåœ¨åˆ—表显示。"
-
-#: optiondialog.cpp:687
+msgstr "未更改的文件和目录ä¸ä¼šåœ¨åˆ—表显示。"
+
+#: optiondialog.cpp:1032
+msgid "Case sensitive filename comparison"
+msgstr ""
+
+#: optiondialog.cpp:1035
+msgid ""
+"The directory comparison will compare files or directories when their names "
+"match.\n"
+"Set this option if the case of the names must match. (Default for Windows is "
+"off, otherwise on.)"
+msgstr ""
+
+#: optiondialog.cpp:1039
 msgid "File Comparison Mode"
-msgstr ""
-
-#: optiondialog.cpp:691
-#, fuzzy
-msgid "Binary Comparison"
-msgstr "目录比较状æ€"
-
-#: optiondialog.cpp:692
+msgstr "文件比较模å¼"
+
+#: optiondialog.cpp:1043
+msgid "Binary comparison"
+msgstr "二进制比较"
+
+#: optiondialog.cpp:1044
 msgid "Binary comparison of each file. (Default)"
-msgstr ""
-
-#: optiondialog.cpp:694
-msgid "Full Analysis"
-msgstr ""
-
-#: optiondialog.cpp:695
+msgstr "ç”¨äºŒè¿›åˆ¶æ¯”è¾ƒæ¨¡å¼æ¯”较æ¯ä¸ªæ–‡ä»¶ã€‚"
+
+#: optiondialog.cpp:1046
+msgid "Full analysis"
+msgstr "完全分æž"
+
+#: optiondialog.cpp:1047
 msgid ""
 "Do a full analysis and show statistics information in extra columns.\n"
 "(Slower than a binary comparison, much slower for binary files.)"
 msgstr ""
-
-#: optiondialog.cpp:698
+"进行完全分æžå¹¶ä¸”在é¢å¤–的列里显示统计信æ¯ã€‚\n"
+"(æ¯”è¾ƒäºŒè¿›åˆ¶æ¯”è¾ƒæ¨¡å¼æ…¢ï¼Œæ¯”较二进制文件更慢。)"
+
+#: optiondialog.cpp:1050
 msgid "Trust the modification date (unsafe)"
 msgstr "信任修改日期(ä¸å®‰å…¨)"
 
-#: optiondialog.cpp:699
+#: optiondialog.cpp:1051
 msgid ""
 "Assume that files are equal if the modification date and file length are "
 "equal.\n"
 "Useful for big directories or slow networks."
 msgstr ""
-"å‡å®šå¦‚æžœä¿®æ”¹æ—¥æœŸå’Œæ–‡ä»¶é•¿åº¦ç›¸åŒæ–‡ä»¶ç›¸åŒã€‚\n"
+"å‡å®šå¦‚果修改日期和文件长度相åŒï¼Œåˆ™æ–‡ä»¶ç›¸åŒã€‚\n"
 "对于大目录或较慢的网络有用。"
 
-#: optiondialog.cpp:702
+#: optiondialog.cpp:1054
 msgid "Trust the size (unsafe)"
 msgstr "信任大å°(ä¸å®‰å…¨)"
 
-#: optiondialog.cpp:703
+#: optiondialog.cpp:1055
 msgid ""
 "Assume that files are equal if their file lengths are equal.\n"
 "Useful for big directories or slow networks when the date is modified during "
 "download."
 msgstr ""
 "å‡å®šæ–‡ä»¶é•¿åº¦ç›¸åŒæ–‡ä»¶ç›¸åŒã€‚\n"
-"当下载过程中日期被修改时,对于大目录或较慢网络有用"
-"。"
-
-#: optiondialog.cpp:707
+"当下载过程中日期被修改时,对于大目录或较慢网络有用。"
+
+#: optiondialog.cpp:1059
 msgid "Synchronize directories"
 msgstr "åŒæ­¥ç›®å½•"
 
-#: optiondialog.cpp:710
+#: optiondialog.cpp:1062
 msgid ""
 "Offers to store files in both directories so that\n"
 "both directories are the same afterwards.\n"
@@ -1690,51 +1960,129 @@
 "为了以åŽç›®å½•相åŒï¼Œæä¾›åœ¨ä¸¤ä¸ªç›®å½•里存储文件。\n"
 "仅在比较两个目录并未指定目标目录时有效。"
 
-#: optiondialog.cpp:715
+#: optiondialog.cpp:1068
+msgid "White space differences considered equal"
+msgstr "认为相åŒçš„空白字符数"
+
+#: optiondialog.cpp:1071
+msgid ""
+"If files differ only by white space consider them equal.\n"
+"This is only active when full analysis is chosen."
+msgstr ""
+"如果文件åªåœ¨ç©ºç™½å­—符上有差异,则认为它们相åŒã€‚\n"
+"ä»…å½“é€‰æ‹©å®Œå…¨æ¯”è¾ƒæ—¶æ­¤é€‰é¡¹æ‰æ¿€æ´»ã€‚"
+
+#: optiondialog.cpp:1077
 msgid "Copy newer instead of merging (unsafe)"
 msgstr "å¤åˆ¶è¾ƒæ–°è€Œä¸åˆå¹¶(ä¸å®‰å…¨)"
 
-#: optiondialog.cpp:718
+#: optiondialog.cpp:1080
 msgid ""
 "Don't look inside, just take the newer file.\n"
 "(Use this only if you know what you are doing!)\n"
 "Only effective when comparing two directories."
 msgstr ""
-"ä¸è¿›å…¥æŸ¥çœ‹ï¼Œä»…å–æ–°æ–‡ä»¶ã€‚\n"
-"(如果您知é“自己在åšä»€ä¹ˆå†é€‰æ­¤é¡¹ï¼)仅在比较两个目录时"
-"有效。"
-
-#: optiondialog.cpp:723
+"ä¸è¿›å…¥æŸ¥çœ‹ï¼Œä»…å–较新的文件。\n"
+"(如果您知é“自己在åšä»€ä¹ˆå†é€‰æ­¤é¡¹ï¼)\n"
+"仅在比较两个目录时有效。"
+
+#: optiondialog.cpp:1085
 msgid "Backup files (.orig)"
 msgstr "备份文件(.orig)"
 
-#: optiondialog.cpp:726
+#: optiondialog.cpp:1088
 msgid ""
 "When a file would be saved over an old file, then the old file\n"
 "will be renamed with a '.orig'-extension instead of being deleted."
-msgstr ""
-"在已有旧文件的文件ä¿å­˜æ—¶ï¼Œæ—§æ–‡ä»¶å°†è¢«é‡å‘½å为“.origâ€"
-"扩展åï¼Œè€Œä¸æ˜¯è¢«åˆ é™¤ã€‚"
-
-#: optiondialog.cpp:753
+msgstr "在已有旧文件的文件ä¿å­˜æ—¶ï¼Œæ—§æ–‡ä»¶å°†è¢«é‡å‘½å为“.origâ€æ‰©å±•åï¼Œè€Œä¸æ˜¯è¢«åˆ é™¤ã€‚"
+
+#: optiondialog.cpp:1115
 msgid "Regional Settings"
-msgstr ""
-
-#: optiondialog.cpp:762
+msgstr "区域设置"
+
+#: optiondialog.cpp:1208
 msgid "Language (restart required)"
-msgstr ""
-
-#: optiondialog.cpp:766
-msgid "Auto"
-msgstr ""
-
-#: optiondialog.cpp:783
+msgstr "语言(需è¦é‡å¯)"
+
+#: optiondialog.cpp:1240
 msgid ""
 "Choose the language of the GUI-strings or \"Auto\".\n"
 "For a change of language to take place, quit and restart KDiff3."
 msgstr ""
-
-#: optiondialog.cpp:825
+"选择 GUI 的语言或者选择“自动â€ã€‚\n"
+"è¦è®©æ›´æ”¹ç”Ÿæ•ˆï¼Œè¯·é€€å‡ºå¹¶é‡å¯ KDiff3。"
+
+#: optiondialog.cpp:1258
+msgid "Use the same encoding for everything:"
+msgstr "所有文件使用åŒä¸€ç¼–ç ï¼š"
+
+#: optiondialog.cpp:1261
+msgid ""
+"Enable this allows to change all encodings by changing the first only.\n"
+"Disable this if different individual settings are needed."
+msgstr ""
+"å¯ç”¨æ­¤é€‰é¡¹å°†ä½¿å¾—åªæ›´æ”¹ç¬¬ä¸€ä¸ªç¼–ç è®¾ç½®å³å¯æ›´æ”¹å…¨éƒ¨æ–‡ä»¶çš„ç¼–ç ã€‚\n"
+"如果需è¦ä¸ºæ¯ä¸ªæ–‡ä»¶è®¾ç½®ä¸åŒçš„ç¼–ç ï¼Œè¯·ç¦ç”¨æ­¤é€‰é¡¹ã€‚"
+
+#: optiondialog.cpp:1266
+msgid "Note: Local Encoding is "
+msgstr "注æ„:本地编ç ä¸º"
+
+#: optiondialog.cpp:1270
+msgid "File Encoding for A:"
+msgstr "A 的文件编ç ï¼š"
+
+#: optiondialog.cpp:1275
+msgid "File Encoding for B:"
+msgstr "B 的文件编ç ï¼š"
+
+#: optiondialog.cpp:1280
+msgid "File Encoding for C:"
+msgstr "C 的文件编ç ï¼š"
+
+#: optiondialog.cpp:1285
+msgid "File Encoding for Merge Output and Saving:"
+msgstr "åˆå¹¶è¾“出和ä¿å­˜çš„æ–‡ä»¶ç¼–ç ï¼š"
+
+#: optiondialog.cpp:1290
+msgid "File Encoding for Preprocessor Files:"
+msgstr "é¢„å¤„ç†æ–‡ä»¶çš„æ–‡ä»¶ç¼–ç ï¼š"
+
+#: optiondialog.cpp:1299
+msgid "Right To Left Language"
+msgstr "从å³è‡³å·¦è¯­è¨€"
+
+#: optiondialog.cpp:1302
+msgid ""
+"Some languages are read from right to left.\n"
+"This setting will change the viewer and editor accordingly."
+msgstr ""
+"æŸäº›è¯­è¨€æ˜¯ä»Žå³åˆ°å·¦ä¹¦å†™çš„。\n"
+"此设置将更改查看器和编辑器的设置。"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration"
+msgstr "æ“作"
+
+#: optiondialog.cpp:1312
+#, fuzzy
+msgid "Integration Settings"
+msgstr "区域设置"
+
+#: optiondialog.cpp:1322
+msgid "Command line options to ignore:"
+msgstr ""
+
+#: optiondialog.cpp:1327
+msgid ""
+"List of command line options that should be ignored when KDiff3 is used by "
+"other tools.\n"
+"Several values can be specified if separated via ';'\n"
+"This will suppress the \"Unknown option\"-error."
+msgstr ""
+
+#: optiondialog.cpp:1380
 msgid ""
 "You selected a variable width font.\n"
 "\n"
@@ -1750,88 +2098,91 @@
 "\n"
 "您è¦ç»§ç»­ï¼Œè¿˜æ˜¯å¦é€‰ä¸€ç§å­—体。"
 
-#: optiondialog.cpp:829
+#: optiondialog.cpp:1384
 msgid "Incompatible Font"
 msgstr "ä¸å…¼å®¹å­—体"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Continue at Own Risk"
 msgstr "自愿冒险继续"
 
-#: optiondialog.cpp:830
+#: optiondialog.cpp:1385
 msgid "Select Another Font"
 msgstr "选择å¦ä¸€ç§å­—体"
 
-#: optiondialog.cpp:858
+#: optiondialog.cpp:1410
 msgid "This resets all options. Not only those of the current topic."
-msgstr "这将é‡ç½®æ‰€æœ‰é€‰é¡¹ï¼Œä¸ä»…是当å‰å†…容。"
-
-#: pdiff.cpp:257
-#, fuzzy
+msgstr "这将é‡ç½®å…¨éƒ¨é€‰é¡¹ï¼Œè€Œä¸ä»…是当å‰ä¸»é¢˜çš„选项。"
+
+#: pdiff.cpp:258
 msgid "PreprocessorCmd: "
 msgstr "预处ç†ç¨‹åºå‘½ä»¤ï¼š"
 
-#: pdiff.cpp:262
+#: pdiff.cpp:263
 msgid ""
 "The following option(s) you selected might change data:\n"
 msgstr ""
-
-#: pdiff.cpp:263
+"你所选的以下选项å¯èƒ½ä¼šæ›´æ”¹æ•°æ®ï¼š\n"
+
+#: pdiff.cpp:264
 msgid ""
 "\n"
 "Most likely this is not wanted during a merge.\n"
 "Do you want to disable these settings or continue with these settings active?"
 msgstr ""
-
-#: pdiff.cpp:265
-msgid "Option unsafe for merging"
-msgstr ""
+"\n"
+"大多数情况下åˆå¹¶åº”该ä¸ä¼šç”¨åˆ°è¿™äº›é€‰é¡¹ã€‚\n"
+"您想ç¦ç”¨è¿™äº›è®¾ç½®è¿˜æ˜¯ç»§ç»­æ¿€æ´»è¿™äº›è®¾ç½®ï¼Ÿ"
 
 #: pdiff.cpp:266
-msgid "Use these options during the merge"
-msgstr ""
-
-#: pdiff.cpp:266
-msgid "Disable unsafe options"
-msgstr ""
-
-#: pdiff.cpp:293
+msgid "Option Unsafe for Merging"
+msgstr "åˆå¹¶æ—¶ä¼šé€ æˆä¸å®‰å…¨çš„选项"
+
+#: pdiff.cpp:267
+msgid "Use These Options During Merge"
+msgstr "在åˆå¹¶æ—¶ä½¿ç”¨è¿™äº›é€‰é¡¹"
+
+#: pdiff.cpp:267
+msgid "Disable Unsafe Options"
+msgstr "ç¦ç”¨ä¸å®‰å…¨çš„选项"
+
+#: pdiff.cpp:297
 msgid "Loading A"
 msgstr "加载 A"
 
-#: pdiff.cpp:297
+#: pdiff.cpp:301
 msgid "Loading B"
 msgstr "加载 B"
 
-#: pdiff.cpp:306 pdiff.cpp:329
+#: pdiff.cpp:318 pdiff.cpp:344
 msgid "Diff: A <-> B"
-msgstr "差别: A <-> B"
-
-#: pdiff.cpp:312 pdiff.cpp:349
+msgstr "Diff:A <-> B"
+
+#: pdiff.cpp:324 pdiff.cpp:366
 msgid "Linediff: A <-> B"
-msgstr "行差别: A <-> B"
-
-#: pdiff.cpp:321
+msgstr "Linediff:A <-> B"
+
+#: pdiff.cpp:335
 msgid "Loading C"
 msgstr "加载 C"
 
-#: pdiff.cpp:332
+#: pdiff.cpp:347
 msgid "Diff: B <-> C"
-msgstr "差别: B <-> C"
-
-#: pdiff.cpp:335
+msgstr "Diff:B <-> C"
+
+#: pdiff.cpp:350
 msgid "Diff: A <-> C"
-msgstr "差别: A <-> C"
-
-#: pdiff.cpp:352
+msgstr "Diff:A <-> C"
+
+#: pdiff.cpp:369
 msgid "Linediff: B <-> C"
-msgstr "行差别: B <-> C"
-
-#: pdiff.cpp:355
+msgstr "Linediff:B <-> C"
+
+#: pdiff.cpp:372
 msgid "Linediff: A <-> C"
-msgstr "行差别: A <-> C"
-
-#: pdiff.cpp:502
+msgstr "Linediff:A <-> C"
+
+#: pdiff.cpp:526
 msgid ""
 "Some inputfiles don't seem to be pure textfiles.\n"
 "Note that the KDiff3-merge was not meant for binary data.\n"
@@ -1841,128 +2192,251 @@
 "æ³¨æ„ KDiff3-merge 用于二进制数æ®ã€‚\n"
 "继续则您自己承担风险。"
 
-#: pdiff.cpp:929
+#: pdiff.cpp:965
+msgid "Abort"
+msgstr "放弃"
+
+#: pdiff.cpp:971 pdiff.cpp:1059
+msgid "Opening files..."
+msgstr "正在打开文件..."
+
+#: pdiff.cpp:1036 pdiff.cpp:1107
+msgid "File open error"
+msgstr "打开文件错误"
+
+#: pdiff.cpp:1139
+msgid "Cutting selection..."
+msgstr "剪切所选内容..."
+
+#: pdiff.cpp:1160
+msgid "Copying selection to clipboard..."
+msgstr "å¤åˆ¶æ‰€é€‰å†…容到剪贴æ¿..."
+
+#: pdiff.cpp:1176
+msgid "Inserting clipboard contents..."
+msgstr "æ’入剪贴æ¿å†…容..."
+
+#: pdiff.cpp:1685
+msgid "Save && Continue"
+msgstr "ä¿å­˜å¹¶ç»§ç»­"
+
+#: pdiff.cpp:1685
+msgid "Continue Without Saving"
+msgstr "ä¸ä¿å­˜ç»§ç»­"
+
+#: pdiff.cpp:1892
+msgid "Search complete."
+msgstr "æœç´¢å®Œæˆã€‚"
+
+#: pdiff.cpp:1892
+msgid "Search Complete"
+msgstr "æœç´¢å®Œæˆ"
+
+#: pdiff.cpp:2107
+msgid "Please click the lines that should match in all windows."
+msgstr ""
+
+#: pdiff.cpp:2116
+msgid "Nothing is selected in either diff input window."
+msgstr ""
+
+#: pdiff.cpp:2116
+#, fuzzy
+msgid "Error while adding manual diff range"
+msgstr "创建目录时出错。"
+
+#. i18n: file kdiff3_part.rc line 4
+#: rc.cpp:3
+#, no-c-format
+msgid "&KDiff3"
+msgstr "&KDiff3"
+
+#. i18n: file kdiff3_part.rc line 13
+#: rc.cpp:6
+#, no-c-format
+msgid "Configure KDiff3"
+msgstr "é…ç½® KDiff3"
+
+#. i18n: file kdiff3_shell.rc line 7
+#: rc.cpp:15
+#, no-c-format
+msgid "&Directory"
+msgstr "目录(&D)"
+
+#. i18n: file kdiff3_shell.rc line 30
+#: rc.cpp:18
+#, no-c-format
+msgid "Current Item Merge Operation"
+msgstr "当å‰é¡¹ç›®åˆå¹¶æ“作"
+
+#. i18n: file kdiff3_shell.rc line 38
+#: rc.cpp:21
+#, no-c-format
+msgid "Current Item Sync Operation"
+msgstr "当å‰é¡¹ç›®åŒæ­¥æ“作"
+
+#. i18n: file kdiff3_shell.rc line 50
+#: rc.cpp:24
+#, no-c-format
+msgid "&Movement"
+msgstr "移动(&M)"
+
+#. i18n: file kdiff3_shell.rc line 61
+#: rc.cpp:27
+#, no-c-format
+msgid "D&iffview"
+msgstr "查看 Diff(&I)"
+
+#. i18n: file kdiff3_shell.rc line 73
+#: rc.cpp:30
+#, no-c-format
+msgid "&Merge"
+msgstr "åˆå¹¶(&M)"
+
+#. i18n: file kdiff3_shell.rc line 94
+#: rc.cpp:33
+#, no-c-format
+msgid "&Window"
+msgstr "窗å£(&W)"
+
+#: smalldialogs.cpp:53
 msgid "A (Base):"
-msgstr "A (基文件):"
-
-#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986
+msgstr "A (基准文件):"
+
+#: smalldialogs.cpp:59 smalldialogs.cpp:75 smalldialogs.cpp:91
+#: smalldialogs.cpp:137
 msgid "File..."
 msgstr "文件..."
 
-#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988
+#: smalldialogs.cpp:61 smalldialogs.cpp:77 smalldialogs.cpp:93
+#: smalldialogs.cpp:139
 msgid "Dir..."
 msgstr "目录..."
 
-#: pdiff.cpp:962
+#: smalldialogs.cpp:86
 msgid "C (Optional):"
 msgstr "C (å¯é€‰):"
 
-#: pdiff.cpp:981
+#: smalldialogs.cpp:108
+msgid "Swap/Copy Names ..."
+msgstr ""
+
+#: smalldialogs.cpp:114
+msgid "Swap"
+msgstr ""
+
+#: smalldialogs.cpp:132
 msgid "Output (optional):"
 msgstr "输出(å¯é€‰):"
 
-#: pdiff.cpp:1010
+#: smalldialogs.cpp:161
 msgid "Configure..."
 msgstr "é…ç½®..."
 
-#: pdiff.cpp:1151
-msgid "Abort"
-msgstr "放弃"
-
-#: pdiff.cpp:1157 pdiff.cpp:1236
-msgid "Opening files..."
-msgstr "打开文件..."
-
-#: pdiff.cpp:1219 pdiff.cpp:1283
-msgid "File open error"
-msgstr "打开文件错误"
-
-#: pdiff.cpp:1298
-msgid "Cutting selection..."
-msgstr "剪切所选..."
-
-#: pdiff.cpp:1319
-msgid "Copying selection to clipboard..."
-msgstr "å¤åˆ¶æ‰€é€‰åˆ°å‰ªè´´æ¿..."
-
-#: pdiff.cpp:1335
-msgid "Inserting clipboard contents..."
-msgstr "æ’入剪贴æ¿å†…容..."
-
-#: pdiff.cpp:1755
-msgid "Save && Continue"
-msgstr "ä¿å­˜ && ç»§ç»­"
-
-#: pdiff.cpp:1755
-msgid "Continue Without Saving"
-msgstr "ä¸ä¿å­˜ç»§ç»­"
-
-#: pdiff.cpp:1962
-msgid "Search complete."
-msgstr "æœç´¢å®Œæ¯•。"
-
-#: pdiff.cpp:1962
-msgid "Search Complete"
-msgstr "æœç´¢å®Œæ¯•"
-
-#: rc.cpp:1
-msgid "&KDiff3"
-msgstr "&KDiff3"
-
-#: rc.cpp:2
-msgid "Configure KDiff3"
-msgstr "é…ç½® KDiff3"
-
-#: rc.cpp:5
-msgid "&Directory"
-msgstr "目录(&D)"
-
-#: rc.cpp:6
-msgid "Current Item Merge Operation"
-msgstr "当å‰é¡¹ç›®åˆå¹¶æ“作"
-
-#: rc.cpp:7
-msgid "Current Item Sync Operation"
-msgstr "当å‰é¡¹ç›®åŒæ­¥æ“作"
-
-#: rc.cpp:8
-msgid "&Movement"
-msgstr "移动(&M)"
-
-#: rc.cpp:9
-msgid "D&iffview"
+#: smalldialogs.cpp:332
+msgid "Search text:"
+msgstr "æœç´¢æ–‡æœ¬ï¼š"
+
+#: smalldialogs.cpp:339
+msgid "Case sensitive"
+msgstr "区分大å°å†™"
+
+#: smalldialogs.cpp:342
+msgid "Search A"
+msgstr "æœç´¢ A"
+
+#: smalldialogs.cpp:347
+msgid "Search B"
+msgstr "æœç´¢ B"
+
+#: smalldialogs.cpp:352
+msgid "Search C"
+msgstr "æœç´¢ C"
+
+#: smalldialogs.cpp:357
+msgid "Search output"
+msgstr "æœç´¢è¾“出"
+
+#: smalldialogs.cpp:362
+msgid "&Search"
+msgstr "æœç´¢(&S)"
+
+#: smalldialogs.cpp:382 smalldialogs.cpp:406
+#, fuzzy
+msgid "no selection"
+msgstr "自动å¤åˆ¶é€‰æ‹©"
+
+#: smalldialogs.cpp:396
+#, fuzzy
+msgid "Manually match lines"
+msgstr "手动选择"
+
+#: smalldialogs.cpp:498
+msgid "Regular Expression Tester"
 msgstr ""
 
-#: rc.cpp:10
-msgid "&Merge"
-msgstr "åˆå¹¶(&M)"
-
-#: rc.cpp:11
-msgid "&Window"
-msgstr "窗å£(&W)"
-
+#: smalldialogs.cpp:509
+msgid "Example auto merge start line:"
+msgstr ""
+
+#: smalldialogs.cpp:511
+msgid "For auto merge test copy a line as used in your files."
+msgstr ""
+
+#: smalldialogs.cpp:517 smalldialogs.cpp:546 smalldialogs.cpp:583
+msgid "Match result:"
+msgstr ""
+
+#: smalldialogs.cpp:536
+msgid "Example history start line (with leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:539
+msgid ""
+"Copy a history start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:565
+msgid "History sort key order:"
+msgstr ""
+
+#: smalldialogs.cpp:573
+msgid "Example history entry start line (without leading comment):"
+msgstr ""
+
+#: smalldialogs.cpp:575
+msgid ""
+"Copy a history entry start line as used in your files,\n"
+"but omit the leading comment."
+msgstr ""
+
+#: smalldialogs.cpp:590
+msgid "Sort key result:"
+msgstr ""
+
+#: smalldialogs.cpp:597
+msgid "Ok"
+msgstr ""
+
+#: smalldialogs.cpp:641 smalldialogs.cpp:651 smalldialogs.cpp:672
+msgid "Match success."
+msgstr ""
+
+#: smalldialogs.cpp:645 smalldialogs.cpp:655 smalldialogs.cpp:678
 #, fuzzy
-#~ msgid "Error writing temporary file: %1"
-#~ msgstr "正在写文件: %1"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "è½¬æ¢æˆå¤§å†™å­—符"
-
-#~ msgid ""
-#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')"
-#~ msgstr "è¯»å–æ—¶è½¬æ¢æ‰€æœ‰å°å†™å­—符为大写字符。(例如:“aâ€->“Aâ€)"
-
-#, fuzzy
-#~ msgid "Convert to upper case\n"
-#~ msgstr "è½¬æ¢æˆå¤§å†™å­—符"
-
-#~ msgid ""
-#~ "Running the external diff failed.\n"
-#~ "Check if the diff works, if the program can write in the temp folder or "
-#~ "if the disk is full.\n"
-#~ "The external diff option will be disabled now and the internal diff will "
-#~ "be used."
-#~ msgstr ""
-#~ "è¿è¡Œå¤–部比较失败。\n"
-#~ "检查比较是å¦å·¥ä½œï¼Œç¨‹åºèƒ½å¦å†™å…¥ä¸´æ—¶ç›®å½•或ç£ç›˜æ˜¯å¦å·²æ»¡ã€‚\n"
-#~ "外部比较选项暂时ç¦ç”¨ï¼Œä½¿ç”¨å†…部比较。"
+msgid "Match failed."
+msgstr "ä¿å­˜å¤±è´¥ã€‚"
+
+#: smalldialogs.cpp:663
+msgid "Opening and closing parentheses don't match in regular expression."
+msgstr ""
+
+#~ msgid "Has no effect. For compatibility with certain tools."
+#~ msgstr "没有效果。为与æŸäº›å·¥å…·å…¼å®¹è€Œè®¾ã€‚"
+
+#~ msgid "For compatibility with certain tools."
+#~ msgstr "为与æŸäº›å·¥å…·å…¼å®¹ã€‚"
+
+#~ msgid "Colors in Editor & Diff Output"
+#~ msgstr "编辑器和 Diff 输出颜色"
--- a/kdiff3/src/Makefile.am	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/Makefile.am	Mon Apr 10 08:40:51 2006 +0000
@@ -3,9 +3,9 @@
 INCLUDES = $(all_includes)
 
 # these are the headers for your project
-noinst_HEADERS = kdiff3_part.h kdiff3_shell.h                       \
-                 kdiff3.h common.h  diff.h  directorymergewindow.h  \
-                 merger.h optiondialog.h fileaccess.h version.h
+noinst_HEADERS = kdiff3_part.h kdiff3_shell.h kdiff3.h common.h diff.h \
+	directorymergewindow.h merger.h optiondialog.h fileaccess.h version.h \
+	smalldialogs.h difftextwindow.h mergeresultwindow.h
 
 # let automoc handle all of the meta source files (moc)
 METASOURCES = AUTO
@@ -43,11 +43,11 @@
 
 # the Part's source, library search path, and link libraries
 libkdiff3part_la_SOURCES = kdiff3_part.cpp kdiff3.cpp directorymergewindow.cpp \
-                           merger.cpp pdiff.cpp difftextwindow.cpp diff.cpp \
-                           optiondialog.cpp mergeresultwindow.cpp fileaccess.cpp \
-                           gnudiff_analyze.cpp gnudiff_io.cpp gnudiff_xmalloc.cpp
+		merger.cpp pdiff.cpp difftextwindow.cpp diff.cpp optiondialog.cpp \
+		mergeresultwindow.cpp fileaccess.cpp gnudiff_analyze.cpp gnudiff_io.cpp gnudiff_xmalloc.cpp \
+		common.cpp smalldialogs.cpp
 libkdiff3part_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
-libkdiff3part_la_LIBADD  = $(LIB_KPARTS) $(LIB_KFILE)
+libkdiff3part_la_LIBADD = $(LIB_KDEPRINT) $(LIB_KPARTS) $(LIB_KFILE)
 
 # this is where the desktop file will go
 partdesktopdir   = $(kde_servicesdir)
--- a/kdiff3/src/Makefile.qt	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/Makefile.qt	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 #############################################################################
 # Makefile for building: kdiff3
-# Generated by qmake (1.06c) (Qt 3.2.1) on: Sun Jan  4 12:48:04 2004
+# Generated by qmake (1.07a) (Qt 3.3.5) on: Sat Apr  8 20:11:51 2006
 # Project:  kdiff3.pro
 # Template: app
 # Command: $(QMAKE) -o Makefile kdiff3.pro
@@ -12,8 +12,8 @@
 CXX      = g++
 LEX      = flex
 YACC     = yacc
-CFLAGS   = -pipe -O2 -Wall -W -fmessage-length=0 -fPIC -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -D__USE_STD_IOSTREAM
-CXXFLAGS = -pipe -O2 -Wall -W -fmessage-length=0 -fPIC -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -D__USE_STD_IOSTREAM
+CFLAGS   = -pipe -O2 -Wall -W -fPIC -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -D__USE_STD_IOSTREAM
+CXXFLAGS = -pipe -O2 -Wall -W -fPIC -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -D__USE_STD_IOSTREAM
 LEXFLAGS = 
 YACCFLAGS= -d
 INCPATH  = -I$(QTDIR)/mkspecs/default -I. -Ikreplacements -I/usr/include -I$(QTDIR)/include
@@ -30,6 +30,8 @@
 COPY     = cp -f
 COPY_FILE= $(COPY)
 COPY_DIR = $(COPY) -r
+INSTALL_FILE= $(COPY_FILE)
+INSTALL_DIR = $(COPY_DIR)
 DEL_FILE = rm -f
 SYMLINK  = ln -sf
 DEL_DIR  = rmdir
@@ -45,6 +47,8 @@
 
 HEADERS = version.h \
 		diff.h \
+		difftextwindow.h \
+		mergeresultwindow.h \
 		kdiff3.h \
 		merger.h \
 		optiondialog.h \
@@ -52,58 +56,69 @@
 		directorymergewindow.h \
 		fileaccess.h \
 		kdiff3_shell.h \
-		kdiff3_part.h
-SOURCES = diff.cpp \
+		kdiff3_part.h \
+		smalldialogs.h
+SOURCES = main.cpp \
+		diff.cpp \
 		difftextwindow.cpp \
 		kdiff3.cpp \
-		main.cpp \
 		merger.cpp \
 		mergeresultwindow.cpp \
 		optiondialog.cpp \
 		pdiff.cpp \
 		directorymergewindow.cpp \
 		fileaccess.cpp \
+		smalldialogs.cpp \
 		kdiff3_shell.cpp \
 		kdiff3_part.cpp \
-		kreplacements/kreplacements.cpp \
 		gnudiff_analyze.cpp \
 		gnudiff_io.cpp \
-		gnudiff_xmalloc.cpp
-OBJECTS = diff.o \
+		gnudiff_xmalloc.cpp \
+		common.cpp \
+		kreplacements/kreplacements.cpp \
+		kreplacements/ShellContextMenu.cpp
+OBJECTS = main.o \
+		diff.o \
 		difftextwindow.o \
 		kdiff3.o \
-		main.o \
 		merger.o \
 		mergeresultwindow.o \
 		optiondialog.o \
 		pdiff.o \
 		directorymergewindow.o \
 		fileaccess.o \
+		smalldialogs.o \
 		kdiff3_shell.o \
 		kdiff3_part.o \
-		kreplacements.o \
 		gnudiff_analyze.o \
 		gnudiff_io.o \
-		gnudiff_xmalloc.o
+		gnudiff_xmalloc.o \
+		common.o \
+		kreplacements.o \
+		ShellContextMenu.o
 FORMS = 
 UICDECLS = 
 UICIMPLS = 
-SRCMOC   = moc_diff.cpp \
+SRCMOC   = moc_difftextwindow.cpp \
+		moc_mergeresultwindow.cpp \
 		moc_kdiff3.cpp \
 		moc_optiondialog.cpp \
 		kreplacements/moc_kreplacements.cpp \
 		moc_directorymergewindow.cpp \
 		moc_fileaccess.cpp \
 		moc_kdiff3_shell.cpp \
-		moc_kdiff3_part.cpp
-OBJMOC = moc_diff.o \
+		moc_kdiff3_part.cpp \
+		moc_smalldialogs.cpp
+OBJMOC = moc_difftextwindow.o \
+		moc_mergeresultwindow.o \
 		moc_kdiff3.o \
 		moc_optiondialog.o \
 		moc_kreplacements.o \
 		moc_directorymergewindow.o \
 		moc_fileaccess.o \
 		moc_kdiff3_shell.o \
-		moc_kdiff3_part.o
+		moc_kdiff3_part.o \
+		moc_smalldialogs.o
 DIST	   = kdiff3.pro
 QMAKE_TARGET = kdiff3
 DESTDIR  = 
@@ -134,13 +149,13 @@
 all: $(TARGET)
 
 $(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC)  
-	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) $(OBJCOMP)
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)
 
 mocables: $(SRCMOC)
 uicables: $(UICDECLS) $(UICIMPLS)
 
 $(MOC): 
-	( cd $(QTDIR)/src/moc ; $(MAKE) )
+	( cd $(QTDIR)/src/moc && $(MAKE) )
 
 dist: 
 	@mkdir -p .tmp/kdiff3 && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/kdiff3/ && ( cd `dirname .tmp/kdiff3` && $(TAR) kdiff3.tar kdiff3 && $(GZIP) kdiff3.tar ) && $(MOVE) `dirname .tmp/kdiff3`/kdiff3.tar.gz . && $(DEL_FILE) -r .tmp/kdiff3
@@ -168,22 +183,31 @@
 
 ####### Compile
 
+main.o: main.cpp kdiff3_shell.h \
+		version.h \
+		optiondialog.h \
+		common.h
+
 diff.o: diff.cpp diff.h \
 		fileaccess.h \
+		optiondialog.h \
 		common.h
 
-difftextwindow.o: difftextwindow.cpp diff.h \
+difftextwindow.o: difftextwindow.cpp difftextwindow.h \
 		merger.h \
 		optiondialog.h \
+		diff.h \
 		common.h \
 		fileaccess.h
 
-kdiff3.o: kdiff3.cpp diff.h \
+kdiff3.o: kdiff3.cpp difftextwindow.h \
+		mergeresultwindow.h \
 		kdiff3.h \
 		optiondialog.h \
 		fileaccess.h \
 		kdiff3_part.h \
 		directorymergewindow.h \
+		smalldialogs.h \
 		xpm/downend.xpm \
 		xpm/currentpos.xpm \
 		xpm/down1arrow.xpm \
@@ -198,61 +222,79 @@
 		xpm/iconC.xpm \
 		xpm/autoadvance.xpm \
 		xpm/showwhitespace.xpm \
+		xpm/showwhitespacechars.xpm \
 		xpm/showlinenumbers.xpm \
+		diff.h \
 		common.h
 
-main.o: main.cpp kdiff3_shell.h \
-		version.h
-
 merger.o: merger.cpp merger.h \
 		diff.h \
 		common.h \
-		fileaccess.h
+		fileaccess.h \
+		optiondialog.h
 
-mergeresultwindow.o: mergeresultwindow.cpp diff.h \
+mergeresultwindow.o: mergeresultwindow.cpp mergeresultwindow.h \
 		optiondialog.h \
+		diff.h \
 		common.h \
 		fileaccess.h
 
 optiondialog.o: optiondialog.cpp optiondialog.h \
 		diff.h \
+		smalldialogs.h \
 		common.h \
 		fileaccess.h
 
-pdiff.o: pdiff.cpp diff.h \
+pdiff.o: pdiff.cpp difftextwindow.h \
+		mergeresultwindow.h \
 		directorymergewindow.h \
+		smalldialogs.h \
 		kdiff3.h \
 		optiondialog.h \
 		fileaccess.h \
 		gnudiff_diff.h \
+		diff.h \
 		common.h \
 		gnudiff_system.h
 
 directorymergewindow.o: directorymergewindow.cpp directorymergewindow.h \
 		optiondialog.h \
+		xpm/link_arrow.xpm \
+		xpm/file.xpm \
+		xpm/folder.xpm \
 		xpm/startmerge.xpm \
+		xpm/showequalfiles.xpm \
+		xpm/showfilesonlyina.xpm \
+		xpm/showfilesonlyinb.xpm \
+		xpm/showfilesonlyinc.xpm \
 		common.h \
-		fileaccess.h
+		fileaccess.h \
+		diff.h
 
 fileaccess.o: fileaccess.cpp fileaccess.h \
 		optiondialog.h \
 		common.h
 
+smalldialogs.o: smalldialogs.cpp smalldialogs.h \
+		optiondialog.h \
+		diff.h \
+		common.h \
+		fileaccess.h
+
 kdiff3_shell.o: kdiff3_shell.cpp kdiff3_shell.h \
 		kdiff3.h \
 		diff.h \
 		common.h \
-		fileaccess.h
+		fileaccess.h \
+		optiondialog.h
 
 kdiff3_part.o: kdiff3_part.cpp kdiff3_part.h \
 		kdiff3.h \
 		fileaccess.h \
+		version.h \
 		diff.h \
-		common.h
-
-kreplacements.o: kreplacements/kreplacements.cpp kreplacements/kreplacements.h \
-		kreplacements/kreplacements.moc
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o kreplacements.o kreplacements/kreplacements.cpp
+		common.h \
+		optiondialog.h
 
 gnudiff_analyze.o: gnudiff_analyze.cpp gnudiff_diff.h \
 		gnudiff_system.h
@@ -263,29 +305,60 @@
 gnudiff_xmalloc.o: gnudiff_xmalloc.cpp gnudiff_diff.h \
 		gnudiff_system.h
 
-moc_diff.o: moc_diff.cpp diff.h common.h \
-		fileaccess.h
+common.o: common.cpp common.h
 
-moc_kdiff3.o: moc_kdiff3.cpp kdiff3.h diff.h \
+kreplacements.o: kreplacements/kreplacements.cpp kreplacements/kreplacements.h \
 		common.h \
-		fileaccess.h
+		xpm/fileopen.xpm \
+		xpm/filesave.xpm \
+		xpm/fileprint.xpm \
+		kreplacements/kreplacements.moc
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o kreplacements.o kreplacements/kreplacements.cpp
 
-moc_optiondialog.o: moc_optiondialog.cpp optiondialog.h 
+ShellContextMenu.o: kreplacements/ShellContextMenu.cpp kreplacements/ShellContextMenu.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ShellContextMenu.o kreplacements/ShellContextMenu.cpp
 
-moc_kreplacements.o: kreplacements/moc_kreplacements.cpp kreplacements/kreplacements.h 
+moc_difftextwindow.o: moc_difftextwindow.cpp  difftextwindow.h diff.h \
+		common.h \
+		fileaccess.h \
+		optiondialog.h
+
+moc_mergeresultwindow.o: moc_mergeresultwindow.cpp  mergeresultwindow.h diff.h \
+		common.h \
+		fileaccess.h \
+		optiondialog.h
+
+moc_kdiff3.o: moc_kdiff3.cpp  kdiff3.h diff.h \
+		common.h \
+		fileaccess.h \
+		optiondialog.h
+
+moc_optiondialog.o: moc_optiondialog.cpp  optiondialog.h 
+
+moc_kreplacements.o: kreplacements/moc_kreplacements.cpp  kreplacements/kreplacements.h common.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_kreplacements.o kreplacements/moc_kreplacements.cpp
 
-moc_directorymergewindow.o: moc_directorymergewindow.cpp directorymergewindow.h common.h \
-		fileaccess.h
+moc_directorymergewindow.o: moc_directorymergewindow.cpp  directorymergewindow.h common.h \
+		fileaccess.h \
+		diff.h \
+		optiondialog.h
 
-moc_fileaccess.o: moc_fileaccess.cpp fileaccess.h 
+moc_fileaccess.o: moc_fileaccess.cpp  fileaccess.h 
 
-moc_kdiff3_shell.o: moc_kdiff3_shell.cpp kdiff3_shell.h 
+moc_kdiff3_shell.o: moc_kdiff3_shell.cpp  kdiff3_shell.h 
 
-moc_kdiff3_part.o: moc_kdiff3_part.cpp kdiff3_part.h 
+moc_kdiff3_part.o: moc_kdiff3_part.cpp  kdiff3_part.h 
 
-moc_diff.cpp: $(MOC) diff.h
-	$(MOC) diff.h -o moc_diff.cpp
+moc_smalldialogs.o: moc_smalldialogs.cpp  smalldialogs.h diff.h \
+		common.h \
+		fileaccess.h \
+		optiondialog.h
+
+moc_difftextwindow.cpp: $(MOC) difftextwindow.h
+	$(MOC) difftextwindow.h -o moc_difftextwindow.cpp
+
+moc_mergeresultwindow.cpp: $(MOC) mergeresultwindow.h
+	$(MOC) mergeresultwindow.h -o moc_mergeresultwindow.cpp
 
 moc_kdiff3.cpp: $(MOC) kdiff3.h
 	$(MOC) kdiff3.h -o moc_kdiff3.cpp
@@ -308,27 +381,45 @@
 moc_kdiff3_part.cpp: $(MOC) kdiff3_part.h
 	$(MOC) kdiff3_part.h -o moc_kdiff3_part.cpp
 
+moc_smalldialogs.cpp: $(MOC) smalldialogs.h
+	$(MOC) smalldialogs.h -o moc_smalldialogs.cpp
+
 ####### Install
 
-install_documentation: 
+install_documentation: all 
 	@$(CHK_DIR_EXISTS) "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/" || $(MKDIR) "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
-	-$(COPY_DIR) "../doc/en" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3"
+	-$(INSTALL_DIR) "../doc/da" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/de" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/en" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/et" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/fr" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/it" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/pt" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+	-$(INSTALL_DIR) "../doc/sv" "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
+
 
 uninstall_documentation: 
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/da"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/de"
 	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/en"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/et"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/fr"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/it"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/pt"
+	-$(DEL_FILE) -r "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/sv"
 	-$(DEL_DIR) "$(INSTALL_ROOT)/usr/local/share/doc/kdiff3/"
 
 
-install_target: 
+install_target: all 
 	@$(CHK_DIR_EXISTS) "$(INSTALL_ROOT)/usr/local/bin/" || $(MKDIR) "$(INSTALL_ROOT)/usr/local/bin/"
-	-$(COPY) "$(QMAKE_TARGET)" "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"
+	-$(INSTALL_FILE) "$(QMAKE_TARGET)" "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"
 
 uninstall_target: 
 	-$(DEL_FILE) "$(INSTALL_ROOT)/usr/local/bin/$(QMAKE_TARGET)"
 	-$(DEL_DIR) "$(INSTALL_ROOT)/usr/local/bin/"
 
 
-install: all install_documentation install_target 
+install: install_documentation install_target  
 
-uninstall: uninstall_documentation uninstall_target 
+uninstall: uninstall_documentation uninstall_target  
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/common.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,341 @@
+/***************************************************************************
+ *   Copyright (C) 2004-2006 by Joachim Eibl                               *
+ *   joachim.eibl at gmx.de                                                   *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
+
+#include "common.h"
+#include <map>
+#include <qfont.h>
+#include <qcolor.h>
+#include <qsize.h>
+#include <qpoint.h>
+#include <qstringlist.h>
+#include <qtextstream.h>
+
+ValueMap::ValueMap()
+{
+}
+
+ValueMap::~ValueMap()
+{
+}
+
+void ValueMap::save( QTextStream& ts )
+{
+   std::map<QString,QString>::iterator i;
+   for( i=m_map.begin(); i!=m_map.end(); ++i)
+   {
+      QString key = i->first;
+      QString val = i->second;
+      ts << key << "=" << val << "\n";
+   }
+}
+
+QString ValueMap::getAsString()
+{
+   QString result;
+   std::map<QString,QString>::iterator i;
+   for( i=m_map.begin(); i!=m_map.end(); ++i)
+   {
+      QString key = i->first;
+      QString val = i->second;
+      result += key + "=" + val + "\n";
+   }
+   return result;
+}
+
+void ValueMap::load( QTextStream& ts )
+{
+   while ( !ts.eof() )
+   {                                 // until end of file...	   
+      QString s = ts.readLine();         // line of text excluding '\n'
+      int pos = s.find('=');
+      if( pos > 0 )                     // seems not to have a tag
+      {
+         QString key = s.left(pos);
+         QString val = s.mid(pos+1);
+         m_map[key] = val;
+      }
+   }
+}
+/*
+void ValueMap::load( const QString& s )
+{
+   int pos=0;
+   while ( pos<(int)s.length() )
+   {                                 // until end of file...
+      int pos2 = s.find('=', pos);
+      int pos3 = s.find('\n', pos2 );
+      if (pos3<0)
+         pos3=s.length();
+      if( pos2 > 0 )                     // seems not to have a tag
+      {
+         QString key = s.mid(pos, pos2-pos);
+         QString val = s.mid(pos2+1, pos3-pos2-1);
+         m_map[key] = val;
+      }
+      pos = pos3;
+   }
+}
+*/
+
+// safeStringJoin and safeStringSplit allow to convert a stringlist into a string and back
+// safely, even if the individual strings in the list contain the separator character.
+QString safeStringJoin(const QStringList& sl, char sepChar, char metaChar )
+{
+   // Join the strings in the list, using the separator ','
+   // If a string contains the separator character, it will be replaced with "\,".
+   // Any occurances of "\" (one backslash) will be replaced with "\\" (2 backslashes)
+   
+   assert(sepChar!=metaChar);
+   
+   QString sep;
+   sep += sepChar;
+   QString meta;
+   meta += metaChar;   
+   
+   QString safeString;
+   
+   QStringList::const_iterator i;
+   for (i=sl.begin(); i!=sl.end(); ++i)
+   {
+      QString s = *i;
+      s.replace(meta, meta+meta);   //  "\" -> "\\"
+      s.replace(sep, meta+sep);     //  "," -> "\,"
+      if ( i==sl.begin() )
+         safeString = s;
+      else
+         safeString += sep + s;
+   }
+   return safeString;
+}
+
+// Split a string that was joined with safeStringJoin
+QStringList safeStringSplit(const QString& s, char sepChar, char metaChar )
+{
+   assert(sepChar!=metaChar);
+   QStringList sl;
+   // Miniparser
+   int i=0;
+   int len=s.length();
+   QString b;
+   for(i=0;i<len;++i)
+   {
+      if      ( i+1<len && s[i]==metaChar && s[i+1]==metaChar ){ b+=metaChar; ++i; }
+      else if ( i+1<len && s[i]==metaChar && s[i+1]==sepChar ){ b+=sepChar; ++i; }
+      else if ( s[i]==sepChar )  // real separator
+      {
+         sl.push_back(b);
+         b="";
+      }
+      else { b+=s[i]; }
+   }
+   if ( !b.isEmpty() )
+      sl.push_back(b);
+
+   return sl;
+}
+
+
+
+static QString numStr(int n)
+{
+   QString s;
+   s.setNum( n );
+   return s;
+}
+
+static QString subSection( const QString& s, int idx, char sep )
+{
+   int pos=0;
+   while( idx>0 )
+   {
+      pos = s.find( sep, pos );
+      --idx;
+      if (pos<0) break;
+      ++pos;
+   }
+   if ( pos>=0 )
+   {
+      int pos2 = s.find( sep, pos );
+      if ( pos2>0 )
+         return s.mid(pos, pos2-pos);
+      else
+         return s.mid(pos);
+   }
+
+   return "";
+}
+
+static int num( QString& s, int idx )
+{
+   return subSection( s, idx, ',').toInt();
+}
+
+void ValueMap::writeEntry(const QString& k, const QFont& v )
+{
+   m_map[k] = v.family() + "," + QString::number(v.pointSize()) + "," + (v.bold() ? "bold" : "normal");
+}
+
+void ValueMap::writeEntry(const QString& k, const QColor& v )
+{
+   m_map[k] = numStr(v.red()) + "," + numStr(v.green()) + "," + numStr(v.blue());
+}
+
+void ValueMap::writeEntry(const QString& k, const QSize& v )
+{
+   m_map[k] = numStr(v.width()) + "," + numStr(v.height());
+}
+
+void ValueMap::writeEntry(const QString& k, const QPoint& v )
+{
+   m_map[k] = numStr(v.x()) + "," + numStr(v.y());
+}
+
+void ValueMap::writeEntry(const QString& k, int v )
+{
+   m_map[k] = numStr(v);
+}
+
+void ValueMap::writeEntry(const QString& k, bool v )
+{
+   m_map[k] = numStr(v);
+}
+
+void ValueMap::writeEntry(const QString& k, const QString& v )
+{
+   m_map[k] = v;
+}
+
+void ValueMap::writeEntry(const QString& k, const char* v )
+{
+   m_map[k] = v;
+}
+
+void ValueMap::writeEntry(const QString& k, const QStringList& v, char separator )
+{
+   m_map[k] = safeStringJoin(v, separator);
+}
+
+
+QFont ValueMap::readFontEntry(const QString& k, QFont* defaultVal )
+{
+   QFont f = *defaultVal;
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      f.setFamily( subSection( i->second, 0, ',' ) );
+      f.setPointSize( subSection( i->second, 1, ',' ).toInt() );
+      f.setBold( subSection( i->second, 2, ',' )=="bold" );
+      //f.fromString(i->second);
+   }
+
+   return f;
+}
+
+QColor ValueMap::readColorEntry(const QString& k, QColor* defaultVal )
+{
+   QColor c= *defaultVal;
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      QString s = i->second;
+      c = QColor( num(s,0),num(s,1),num(s,2) );
+   }
+
+   return c;
+}
+
+QSize ValueMap::readSizeEntry(const QString& k, QSize* defaultVal )
+{
+   QSize size = defaultVal ? *defaultVal : QSize(600,400);
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+
+      QString s = i->second;
+      size = QSize( num(s,0),num(s,1) );
+   }
+
+   return size;
+}
+
+QPoint ValueMap::readPointEntry(const QString& k, QPoint* defaultVal)
+{
+   QPoint point = defaultVal ? *defaultVal : QPoint(0,0);
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      QString s = i->second;
+      point = QPoint( num(s,0),num(s,1) );
+   }
+
+   return point;
+}
+
+bool ValueMap::readBoolEntry(const QString& k, bool bDefault )
+{
+   bool b = bDefault;
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      QString s = i->second;
+      b = (bool)num(s,0);
+   }
+
+   return b;
+}
+
+int ValueMap::readNumEntry(const QString& k, int iDefault )
+{
+   int ival = iDefault;
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      QString s = i->second;
+      ival = num(s,0);
+   }
+
+   return ival;
+}
+
+QString ValueMap::readEntry(const QString& k, const QString& sDefault )
+{
+   QString sval = sDefault;
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      sval = i->second;
+   }
+
+   return sval;
+}
+
+QStringList ValueMap::readListEntry(const QString& k, const QStringList& defaultVal, char separator )
+{
+   QStringList strList;
+
+   std::map<QString,QString>::iterator i = m_map.find( k );
+   if ( i!=m_map.end() )
+   {
+      strList = safeStringSplit( i->second, separator );
+      return strList;
+   }
+   else
+      return defaultVal;
+}
--- a/kdiff3/src/common.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/common.h	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           common.h  -  Things that are needed often
                              -------------------
     begin                : Mon Mar 18 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -65,4 +65,49 @@
    return d;
 }
 
+#include <map>
+#include <qstring.h>
+class QFont;
+class QColor;
+class QSize;
+class QPoint;
+class QStringList;
+class QTextStream;
+
+class ValueMap
+{
+private:
+   std::map<QString,QString> m_map;
+public:
+   ValueMap();
+   virtual ~ValueMap();
+
+   void save( QTextStream& ts );
+   void load( QTextStream& ts );
+   QString getAsString();
+   // void load( const QString& s );
+
+   virtual void writeEntry(const QString&, const QFont& );
+   virtual void writeEntry(const QString&, const QColor& );
+   virtual void writeEntry(const QString&, const QSize& );
+   virtual void writeEntry(const QString&, const QPoint& );
+   virtual void writeEntry(const QString&, int );
+   virtual void writeEntry(const QString&, bool );
+   virtual void writeEntry(const QString&, const QStringList&, char separator );
+   virtual void writeEntry(const QString&, const QString& );
+   virtual void writeEntry(const QString&, const char* );
+
+   virtual QFont       readFontEntry (const QString&, QFont* defaultVal );
+   virtual QColor      readColorEntry(const QString&, QColor* defaultVal );
+   virtual QSize       readSizeEntry (const QString&, QSize* defaultVal );
+   virtual QPoint      readPointEntry(const QString&, QPoint* defaultVal );
+   virtual bool        readBoolEntry (const QString&, bool bDefault );
+   virtual int         readNumEntry  (const QString&, int iDefault );
+   virtual QStringList readListEntry (const QString&, const QStringList& defaultVal, char separator );
+   virtual QString     readEntry     (const QString&, const QString& );
+};
+
+QStringList safeStringSplit(const QString& s, char sepChar=',', char metaChar='\\' );
+QString safeStringJoin(const QStringList& sl, char sepChar=',', char metaChar='\\' );
+
 #endif
--- a/kdiff3/src/diff.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/diff.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Mon Mar 18 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -34,7 +34,7 @@
 //using namespace std;
 
 
-int LineData::width() const
+int LineData::width(int tabSize) const
 {
    int w=0;
    int j=0;
@@ -42,7 +42,7 @@
    {
       if ( pLine[i]=='\t' )
       {
-         for(j %= g_tabSize; j<g_tabSize; ++j)
+         for(j %= tabSize; j<tabSize; ++j)
             ++w;
          j=0;
       }
@@ -64,7 +64,7 @@
 {
    if ( l1.pLine==0 || l2.pLine==0) return false;
 
-   if ( bStrict && g_bIgnoreTrivialMatches && (l1.occurances>=5 || l2.occurances>=5) )
+   if ( bStrict && g_bIgnoreTrivialMatches )//&& (l1.occurances>=5 || l2.occurances>=5) )
       return false;
 
    // Ignore white space diff
@@ -252,12 +252,15 @@
 
 const LineData* SourceData::getLineDataForDiff() const
 {
-   return m_lmppData.m_pBuf==0 ? &m_normalData.m_v[0] : &m_lmppData.m_v[0];
+   if ( m_lmppData.m_pBuf==0 )
+      return m_normalData.m_v.size()>0 ? &m_normalData.m_v[0] : 0;
+   else
+      return m_lmppData.m_v.size()>0   ? &m_lmppData.m_v[0]   : 0;
 }
 
 const LineData* SourceData::getLineDataForDisplay() const
 {
-   return &m_normalData.m_v[0];
+   return m_normalData.m_v.size()>0 ? &m_normalData.m_v[0] : 0;
 }
 
 int  SourceData::getSizeLines() const
@@ -294,7 +297,7 @@
 
 void SourceData::FileData::reset()
 {
-   delete (char*)m_pBuf;
+   delete[] (char*)m_pBuf;
    m_pBuf = 0;
    m_v.clear();
    m_size = 0;
@@ -866,8 +869,8 @@
       {
          // Find the corresponding lineA
          while( (*i3).lineA!=lineA )
+            ++i3;
 
-            ++i3;
          (*i3).lineC = lineC;
          (*i3).bAEqC = true;
          (*i3).bBEqC = (*i3).bAEqB;
@@ -892,7 +895,6 @@
          ++lineA;
       }
       else if ( d.diff2>0 )
-
       {
          d3l.lineC = lineC;
          d3ll.insert( i3, d3l );
@@ -953,14 +955,13 @@
             assert( (*i3b).lineC == lineC );
             (*i3b).bBEqC = true;
          }
-         else //if ( !(*i3b).bAEqB )
+         else
          {
             // Is it possible to move this line up?
             // Test if no other B's are used between i3c and i3b
 
             // First test which is before: i3c or i3b ?
             Diff3LineList::iterator i3c1 = i3c;
-
             Diff3LineList::iterator i3b1 = i3b;
             while( i3c1!=i3b  &&  i3b1!=i3c )
             {
@@ -974,18 +975,16 @@
                Diff3LineList::iterator i3 = i3c;
                int nofDisturbingLines = 0;
                while( i3 != i3b && i3!=d3ll.end() )
-
                {
                   if ( (*i3).lineB != -1 )
                      ++nofDisturbingLines;
                   ++i3;
                }
 
-               if ( nofDisturbingLines>0 && nofDisturbingLines < d.nofEquals )
+               if ( nofDisturbingLines>0 )//&& nofDisturbingLines < d.nofEquals*d.nofEquals+4 )
                {
                   // Move the disturbing lines up, out of sight.
                   i3 = i3c;
-
                   while( i3 != i3b )
                   {
                      if ( (*i3).lineB != -1 )
@@ -993,8 +992,6 @@
                         Diff3Line d3l;
                         d3l.lineB = (*i3).lineB;
                         (*i3).lineB = -1;
-
-
                         (*i3).bAEqB = false;
                         (*i3).bBEqC = false;
                         d3ll.insert( i3c, d3l );
@@ -1011,16 +1008,11 @@
                   (*i3b).bAEqB = false;
                   (*i3b).bAEqC = false;
                   (*i3b).bBEqC = false;
-                  //(*i3b).lineC = -1;
                   (*i3c).lineB = lineB;
-
                   (*i3c).bBEqC = true;
-
                }
-
             }
-
-            else if( i3b1==i3c  &&  !(*i3b).bAEqC)
+            else if( i3b1==i3c  &&  !(*i3c).bAEqC)
             {
                Diff3LineList::iterator i3 = i3b;
                int nofDisturbingLines = 0;
@@ -1031,9 +1023,9 @@
                   ++i3;
                }
 
-               if ( nofDisturbingLines>0 && nofDisturbingLines < d.nofEquals )
+               if ( nofDisturbingLines>0 )//&& nofDisturbingLines < d.nofEquals*d.nofEquals+4 )
                {
-                  // Move the disturbing lines up, out of sight.
+                  // Move the disturbing lines up.
                   i3 = i3b;
                   while( i3 != i3c )
                   {
@@ -1047,7 +1039,6 @@
                         d3ll.insert( i3b, d3l );
                      }
                      ++i3;
-
                   }
                   nofDisturbingLines=0;
                }
@@ -1058,7 +1049,6 @@
                   (*i3c).lineC = -1;   // This might leave an empty line: removed later.
                   (*i3c).bAEqC = false;
                   (*i3c).bBEqC = false;
-                  //(*i3c).lineB = -1;
                   (*i3b).lineC = lineC;
                   (*i3b).bBEqC = true;
                }
@@ -1078,7 +1068,7 @@
             ++i3;
          if( i3 != i3b  &&  (*i3).bAEqB==false )
          {
-            // Take this line and move it up as far as possible
+            // Take B from this line and move it up as far as possible
             d3l.lineB = lineB;
             d3ll.insert( i3b, d3l );
             (*i3).lineB = -1;
@@ -1091,7 +1081,6 @@
          ++lineB;
          ++i3b;
 
-
          if( d.diff2>0 )
          {
             --d.diff2;
@@ -1120,9 +1109,233 @@
 using ::equal;
 #endif
 
+// Test if the move would pass a barrier. Return true if not.
+static bool isValidMove( ManualDiffHelpList* pManualDiffHelpList, int line1, int line2, int winIdx1, int winIdx2 )
+{
+   if (line1>=0 && line2>=0)
+   {
+      ManualDiffHelpList::const_iterator i;
+      for( i = pManualDiffHelpList->begin(); i!=pManualDiffHelpList->end(); ++i )
+      {
+         const ManualDiffHelpEntry& mdhe = *i;
+
+         // Barrier
+         int l1 = winIdx1 == 1 ? mdhe.lineA1 : winIdx1==2 ? mdhe.lineB1 : mdhe.lineC1 ;
+         int l2 = winIdx2 == 1 ? mdhe.lineA1 : winIdx2==2 ? mdhe.lineB1 : mdhe.lineC1 ;
+
+         if ( l1>=0 && l2>=0 )
+         {
+            if ( line1>=l1 && line2<l2 || line1<l1 && line2>=l2 )
+               return false;
+            l1 = winIdx1 == 1 ? mdhe.lineA2 : winIdx1==2 ? mdhe.lineB2 : mdhe.lineC2 ;
+            l2 = winIdx2 == 1 ? mdhe.lineA2 : winIdx2==2 ? mdhe.lineB2 : mdhe.lineC2 ;
+            ++l1;
+            ++l2;
+            if ( line1>=l1 && line2<l2 || line1<l1 && line2>=l2 )
+               return false;
+         }
+      }
+   }
+   return true; // no barrier passed.
+}
+
+void correctManualDiffAlignment( Diff3LineList& d3ll, ManualDiffHelpList* pManualDiffHelpList )
+{
+   if ( pManualDiffHelpList->empty() )
+      return;
+
+   // If a line appears unaligned in comparison to the manual alignment, correct this.
+
+   ManualDiffHelpList::iterator iMDHL;
+   for( iMDHL =  pManualDiffHelpList->begin(); iMDHL != pManualDiffHelpList->end(); ++iMDHL )
+   {
+      Diff3LineList::iterator i3 = d3ll.begin();
+      int winIdxPreferred = 0;
+      int missingWinIdx = 0;
+      int alignedSum = (iMDHL->lineA1<0?0:1) + (iMDHL->lineB1<0?0:1) + (iMDHL->lineC1<0?0:1);
+      if (alignedSum==2)
+      {
+         // If only A & B are aligned then let C rather be aligned with A
+         // If only A & C are aligned then let B rather be aligned with A
+         // If only B & C are aligned then let A rather be aligned with B
+         missingWinIdx = iMDHL->lineA1<0 ? 1 : (iMDHL->lineB1<0 ? 2 : 3 );
+         winIdxPreferred = missingWinIdx == 1 ? 2 : 1; 
+      }
+      else if (alignedSum<=1)
+      {
+         return;
+      }
+
+      // At the first aligned line, move up the two other lines into new d3ls until the second input is aligned
+      // Then move up the third input until all three lines are aligned.
+      int wi=0;
+      for( ; i3!=d3ll.end(); ++i3 )
+      {
+         for ( wi=1; wi<=3; ++wi )
+         {
+            if ( i3->getLineInFile(wi) >= 0 && iMDHL->firstLine(wi) == i3->getLineInFile(wi) )
+               break;
+         }
+         if ( wi<=3 )
+            break;
+      }
+
+      if (wi>=1 && wi <= 3)
+      {
+         // Found manual alignment for one source
+         Diff3LineList::iterator iDest = i3;
+
+         // Move lines up until the next firstLine is found. Omit wi from move and search.
+         int wi2=0;
+         for( ; i3!=d3ll.end(); ++i3 )
+         {
+            for ( wi2=1; wi2<=3; ++wi2 )
+            {
+               if ( wi!=wi2 && i3->getLineInFile(wi2) >= 0 && iMDHL->firstLine(wi2) == i3->getLineInFile(wi2) )
+                  break;
+            }
+            if (wi2>3)
+            {  // Not yet found
+               // Move both others up
+               Diff3Line d3l;
+               // Move both up
+               if (wi==1) // Move B and C up
+               {
+                  d3l.bBEqC = i3->bBEqC;
+                  d3l.lineB = i3->lineB;
+                  d3l.lineC = i3->lineC;
+                  i3->lineB = -1;
+                  i3->lineC = -1;
+               }
+               if (wi==2) // Move A and C up
+               {
+                  d3l.bAEqC = i3->bAEqC;
+                  d3l.lineA = i3->lineA;
+                  d3l.lineC = i3->lineC;
+                  i3->lineA = -1;
+                  i3->lineC = -1;
+               }
+               if (wi==3) // Move A and B up
+               {
+                  d3l.bAEqB = i3->bAEqB;
+                  d3l.lineA = i3->lineA;
+                  d3l.lineB = i3->lineB;
+                  i3->lineA = -1;
+                  i3->lineB = -1;
+               }
+               i3->bAEqB = false;
+               i3->bAEqC = false;
+               i3->bBEqC = false;
+               d3ll.insert( iDest, d3l );
+            }
+            else 
+            {
+               // align the found line with the line we already have here
+               if ( i3 != iDest )
+               {
+                  if (wi2==1)
+                  {
+                     iDest->lineA = i3->lineA;
+                     i3->lineA = -1;
+                     i3->bAEqB = false;
+                     i3->bAEqC = false;                   
+                  }
+                  else if (wi2==2)
+                  {
+                     iDest->lineB = i3->lineB;
+                     i3->lineB = -1;
+                     i3->bAEqB = false;
+                     i3->bBEqC = false;                   
+                  }
+                  else if (wi2==3)
+                  {
+                     iDest->lineC = i3->lineC;
+                     i3->lineC = -1;
+                     i3->bBEqC = false;
+                     i3->bAEqC = false;                   
+                  }
+               }
+
+               if ( missingWinIdx!=0 )
+               {
+                  for( ; i3!=d3ll.end(); ++i3 )
+                  {
+                     int wi3 = missingWinIdx;
+                     if ( i3->getLineInFile(wi3) >= 0 )
+                     {
+                        if ( iMDHL->firstLine(wi3) == i3->getLineInFile(wi3) )
+                        {
+                           // found, align the line with iDest
+                           if ( wi3==1 )
+                           {
+                              iDest->lineA = i3->lineA;
+                              i3->lineA = -1;
+                              i3->bAEqB = false;
+                              i3->bAEqC = false;
+                           }
+                           if ( wi3==2 )
+                           {
+                              iDest->lineB = i3->lineB;
+                              i3->lineB = -1;
+                              i3->bAEqB = false;
+                              i3->bBEqC = false;
+                           }
+                           if ( wi3==3 )
+                           {
+                              iDest->lineC = i3->lineC;
+                              i3->lineC = -1;
+                              i3->bAEqC = false;
+                              i3->bBEqC = false;
+                           }
+
+                           break;
+                        }
+                        else
+                        {
+                           // not found, move the line before iDest
+                           Diff3Line d3l;
+                           if ( wi3==1 )
+                           {
+                              if (i3->bAEqB)
+                                 continue;
+                              d3l.lineA = i3->lineA;
+                              i3->lineA = -1;
+                              i3->bAEqB = false;
+                              i3->bAEqC = false;
+                           }
+                           if ( wi3==2 )
+                           {
+                              if (i3->bAEqB)
+                                 continue;
+                              d3l.lineB = i3->lineB;
+                              i3->lineB = -1;
+                              i3->bAEqB = false;
+                              i3->bBEqC = false;
+                           }
+                           if ( wi3==3 )
+                           {
+                              if (i3->bAEqC)
+                                 continue;
+                              d3l.lineC = i3->lineC;
+                              i3->lineC = -1;
+                              i3->bAEqC = false;
+                              i3->bBEqC = false;
+                           }
+                           d3ll.insert( iDest, d3l );
+                        }
+                     }
+                  } // for(), searching for wi3
+               }
+               break;
+            }
+         } // for(), searching for wi2
+      } // if, wi found
+   } // for (iMDHL)
+}
+
 // Fourth step
 void calcDiff3LineListTrim(
-   Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC
+   Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC, ManualDiffHelpList* pManualDiffHelpList
    )
 {
    const Diff3Line d3l_empty;
@@ -1133,19 +1346,38 @@
    Diff3LineList::iterator i3B = d3ll.begin();
    Diff3LineList::iterator i3C = d3ll.begin();
 
-   int line=0;
-   int lineA=0;
+   int line=0;  // diff3line counters
+   int lineA=0; // 
    int lineB=0;
    int lineC=0;
 
+   ManualDiffHelpList::iterator iMDHL = pManualDiffHelpList->begin();
    // The iterator i3 and the variable line look ahead.
    // The iterators i3A, i3B, i3C and corresponding lineA, lineB and lineC stop at empty lines, if found.
    // If possible, then the texts from the look ahead will be moved back to the empty places.
 
    for( ; i3!=d3ll.end(); ++i3, ++line )
    {
+      if ( iMDHL!=pManualDiffHelpList->end() )
+      {
+         if ( i3->lineA >= 0 && i3->lineA==iMDHL->lineA1 || 
+              i3->lineB >= 0 && i3->lineB==iMDHL->lineB1 || 
+              i3->lineC >= 0 && i3->lineC==iMDHL->lineC1 )
+         {
+            i3A = i3;
+            i3B = i3;
+            i3C = i3;
+            lineA = line;
+            lineB = line;
+            lineC = line;
+            ++iMDHL;
+         }
+      }
+
       if( line>lineA && (*i3).lineA != -1 && (*i3A).lineB!=-1 && (*i3A).bBEqC  &&
-          ::equal( pldA[(*i3).lineA], pldB[(*i3A).lineB], false ))
+          ::equal( pldA[(*i3).lineA], pldB[(*i3A).lineB], false ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineA, (*i3A).lineB, 1, 2 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineA, (*i3A).lineC, 1, 3 ) )
       {
          // Empty space for A. A matches B and C in the empty line. Move it up.
          (*i3A).lineA = (*i3).lineA;
@@ -1159,7 +1391,9 @@
       }
 
       if( line>lineB && (*i3).lineB != -1 && (*i3B).lineA!=-1 && (*i3B).bAEqC  &&
-          ::equal( pldB[(*i3).lineB], pldA[(*i3B).lineA], false ))
+          ::equal( pldB[(*i3).lineB], pldA[(*i3B).lineA], false ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineB, (*i3B).lineA, 2, 1 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineB, (*i3B).lineC, 2, 3 ) )
       {
          // Empty space for B. B matches A and C in the empty line. Move it up.
          (*i3B).lineB = (*i3).lineB;
@@ -1173,7 +1407,9 @@
       }
 
       if( line>lineC && (*i3).lineC != -1 && (*i3C).lineA!=-1 && (*i3C).bAEqB  &&
-          ::equal( pldC[(*i3).lineC], pldA[(*i3C).lineA], false ))
+          ::equal( pldC[(*i3).lineC], pldA[(*i3C).lineA], false )&&
+          isValidMove( pManualDiffHelpList, (*i3).lineC, (*i3C).lineA, 3, 1 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineC, (*i3C).lineB, 3, 2 ) )
       {
          // Empty space for C. C matches A and B in the empty line. Move it up.
          (*i3C).lineC = (*i3).lineC;
@@ -1186,8 +1422,9 @@
          ++lineC;
       }
 
-      if( line>lineA && (*i3).lineA != -1 && !(*i3).bAEqB && !(*i3).bAEqC )
-      {
+      if( line>lineA && (*i3).lineA != -1 && !(*i3).bAEqB && !(*i3).bAEqC && 
+          isValidMove( pManualDiffHelpList, (*i3).lineA, (*i3A).lineB, 1, 2 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineA, (*i3A).lineC, 1, 3 ) )      {
          // Empty space for A. A doesn't match B or C. Move it up.
          (*i3A).lineA = (*i3).lineA;
          (*i3).lineA = -1;
@@ -1195,7 +1432,9 @@
          ++lineA;
       }
 
-      if( line>lineB && (*i3).lineB != -1 && !(*i3).bAEqB && !(*i3).bBEqC )
+      if( line>lineB && (*i3).lineB != -1 && !(*i3).bAEqB && !(*i3).bBEqC  &&
+          isValidMove( pManualDiffHelpList, (*i3).lineB, (*i3B).lineA, 2, 1 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineB, (*i3B).lineC, 2, 3 ) )
       {
          // Empty space for B. B matches neither A nor C. Move B up.
          (*i3B).lineB = (*i3).lineB;
@@ -1204,7 +1443,9 @@
          ++lineB;
       }
 
-      if( line>lineC && (*i3).lineC != -1 && !(*i3).bAEqC && !(*i3).bBEqC )
+      if( line>lineC && (*i3).lineC != -1 && !(*i3).bAEqC && !(*i3).bBEqC &&
+          isValidMove( pManualDiffHelpList, (*i3).lineC, (*i3C).lineA, 3, 1 ) &&
+          isValidMove( pManualDiffHelpList, (*i3).lineC, (*i3C).lineB, 3, 2 ) )
       {
          // Empty space for C. C matches neither A nor B. Move C up.
          (*i3C).lineC = (*i3).lineC;
@@ -1219,57 +1460,71 @@
          Diff3LineList::iterator i = lineA > lineB ? i3A   : i3B;
          int                     l = lineA > lineB ? lineA : lineB;
 
-         (*i).lineA = (*i3).lineA;
-         (*i).lineB = (*i3).lineB;
-         (*i).bAEqB = true;
+         if ( isValidMove( pManualDiffHelpList, i->lineC, (*i3).lineA, 3, 1 ) &&
+              isValidMove( pManualDiffHelpList, i->lineC, (*i3).lineB, 3, 2 ) )
+         {
+            (*i).lineA = (*i3).lineA;
+            (*i).lineB = (*i3).lineB;
+            (*i).bAEqB = true;
 
-         (*i3).lineA = -1;
-         (*i3).lineB = -1;
-         (*i3).bAEqB = false;
-         i3A = i;
-         i3B = i;
-         ++i3A;
-         ++i3B;
-         lineA=l+1;
-         lineB=l+1;
+            (*i3).lineA = -1;
+            (*i3).lineB = -1;
+            (*i3).bAEqB = false;
+            i3A = i;
+            i3B = i;
+            ++i3A;
+            ++i3B;
+            lineA=l+1;
+            lineB=l+1;
+         }
       }
       else if( line>lineA && line>lineC && (*i3).lineA != -1 && (*i3).bAEqC && !(*i3).bAEqB )
       {
          // Empty space for A and C. A matches C, but not B. Move A & C up.
          Diff3LineList::iterator i = lineA > lineC ? i3A   : i3C;
          int                     l = lineA > lineC ? lineA : lineC;
-         (*i).lineA = (*i3).lineA;
-         (*i).lineC = (*i3).lineC;
-         (*i).bAEqC = true;
 
-         (*i3).lineA = -1;
-         (*i3).lineC = -1;
-         (*i3).bAEqC = false;
-         i3A = i;
-         i3C = i;
-         ++i3A;
-         ++i3C;
-         lineA=l+1;
-         lineC=l+1;
+         if ( isValidMove( pManualDiffHelpList, i->lineB, (*i3).lineA, 2, 1 ) &&
+              isValidMove( pManualDiffHelpList, i->lineB, (*i3).lineC, 2, 3 ) )
+         {
+            (*i).lineA = (*i3).lineA;
+            (*i).lineC = (*i3).lineC;
+            (*i).bAEqC = true;
+
+            (*i3).lineA = -1;
+            (*i3).lineC = -1;
+            (*i3).bAEqC = false;
+            i3A = i;
+            i3C = i;
+            ++i3A;
+            ++i3C;
+            lineA=l+1;
+            lineC=l+1;
+         }
       }
       else if( line>lineB && line>lineC && (*i3).lineB != -1 && (*i3).bBEqC && !(*i3).bAEqC )
       {
          // Empty space for B and C. B matches C, but not A. Move B & C up.
          Diff3LineList::iterator i = lineB > lineC ? i3B   : i3C;
          int                     l = lineB > lineC ? lineB : lineC;
-         (*i).lineB = (*i3).lineB;
-         (*i).lineC = (*i3).lineC;
-         (*i).bBEqC = true;
 
-         (*i3).lineB = -1;
-         (*i3).lineC = -1;
-         (*i3).bBEqC = false;
-         i3B = i;
-         i3C = i;
-         ++i3B;
-         ++i3C;
-         lineB=l+1;
-         lineC=l+1;
+         if ( isValidMove( pManualDiffHelpList, i->lineA, (*i3).lineB, 1, 2 ) &&
+              isValidMove( pManualDiffHelpList, i->lineA, (*i3).lineC, 1, 3 ) )
+         {
+            (*i).lineB = (*i3).lineB;
+            (*i).lineC = (*i3).lineC;
+            (*i).bBEqC = true;
+
+            (*i3).lineB = -1;
+            (*i3).lineC = -1;
+            (*i3).bBEqC = false;
+            i3B = i;
+            i3C = i;
+            ++i3B;
+            ++i3C;
+            lineB=l+1;
+            lineC=l+1;
+         }
       }
 
       if ( (*i3).lineA != -1 )
@@ -1308,6 +1563,24 @@
 */
 }
 
+void DiffBufferInfo::init( Diff3LineList* pD3ll, const Diff3LineVector* pD3lv,
+   const LineData* pldA, int sizeA, const LineData* pldB, int sizeB, const LineData* pldC, int sizeC )
+{
+   m_pDiff3LineList = pD3ll;
+   m_pDiff3LineVector = pD3lv;
+   m_pLineDataA = pldA;
+   m_pLineDataB = pldB;
+   m_pLineDataC = pldC;
+   m_sizeA = sizeA;
+   m_sizeB = sizeB;
+   m_sizeC = sizeC;
+   Diff3LineList::iterator i3 = pD3ll->begin();
+   for( ; i3!=pD3ll->end(); ++i3 )
+   {
+      i3->m_pDiffBufferInfo = this;
+   }
+}
+
 void calcWhiteDiff3Lines(
    Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC
    )
@@ -1316,9 +1589,9 @@
 
    for( ; i3!=d3ll.end(); ++i3 )
    {
-      i3->bWhiteLineA = ( (*i3).lineA == -1  ||  pldA[(*i3).lineA].whiteLine() || pldA[(*i3).lineA].bContainsPureComment );
-      i3->bWhiteLineB = ( (*i3).lineB == -1  ||  pldB[(*i3).lineB].whiteLine() || pldB[(*i3).lineB].bContainsPureComment );
-      i3->bWhiteLineC = ( (*i3).lineC == -1  ||  pldC[(*i3).lineC].whiteLine() || pldC[(*i3).lineC].bContainsPureComment );
+      i3->bWhiteLineA = ( (*i3).lineA == -1  ||  pldA==0 ||  pldA[(*i3).lineA].whiteLine() || pldA[(*i3).lineA].bContainsPureComment );
+      i3->bWhiteLineB = ( (*i3).lineB == -1  ||  pldB==0 ||  pldB[(*i3).lineB].whiteLine() || pldB[(*i3).lineB].bContainsPureComment );
+      i3->bWhiteLineC = ( (*i3).lineC == -1  ||  pldC==0 ||  pldC[(*i3).lineC].whiteLine() || pldC[(*i3).lineC].bContainsPureComment );
    }
 }
 
@@ -1629,4 +1902,3 @@
 }
 
 
-#include "diff.moc"
--- a/kdiff3/src/diff.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/diff.h	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Mon Mar 18 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -46,33 +46,68 @@
 
 typedef std::list<Diff> DiffList;
 
+struct LineData
+{
+   const QChar* pLine;
+   const QChar* pFirstNonWhiteChar;
+   int size;
+
+   LineData(){ pLine=0; pFirstNonWhiteChar=0; size=0; /*occurances=0;*/ bContainsPureComment=false; }
+   int width(int tabSize) const;  // Calcs width considering tabs.
+   //int occurances;
+   bool whiteLine() const { return pFirstNonWhiteChar-pLine == size; }
+   bool bContainsPureComment;
+};
+
+class Diff3LineList;
+class Diff3LineVector;
+
+struct DiffBufferInfo
+{
+   const LineData* m_pLineDataA;
+   const LineData* m_pLineDataB;
+   const LineData* m_pLineDataC;
+   int m_sizeA;
+   int m_sizeB;
+   int m_sizeC;
+   const Diff3LineList* m_pDiff3LineList;
+   const Diff3LineVector* m_pDiff3LineVector;
+   void init( Diff3LineList* d3ll, const Diff3LineVector* d3lv,
+      const LineData* pldA, int sizeA, const LineData* pldB, int sizeB, const LineData* pldC, int sizeC );
+};
+
 struct Diff3Line
 {
    int lineA;
    int lineB;
    int lineC;
 
-   bool bAEqC;                 // These are true if equal or only white-space changes exist.
-   bool bBEqC;
-   bool bAEqB;
+   bool bAEqC : 1;             // These are true if equal or only white-space changes exist.
+   bool bBEqC : 1;
+   bool bAEqB : 1;
 
-   DiffList* pFineAB;          // These are 0 only if completely equal. 
+   bool bWhiteLineA : 1;
+   bool bWhiteLineB : 1;
+   bool bWhiteLineC : 1;
+
+   DiffList* pFineAB;          // These are 0 only if completely equal or if either source doesn't exist.
    DiffList* pFineBC;
    DiffList* pFineCA;
-   
-   bool bWhiteLineA;
-   bool bWhiteLineB;
-   bool bWhiteLineC;
 
    int linesNeededForDisplay; // Due to wordwrap
    int sumLinesNeededForDisplay; // For fast conversion to m_diff3WrapLineVector
-   
+
+   DiffBufferInfo* m_pDiffBufferInfo; // For convenience
+
    Diff3Line()
    {
       lineA=-1; lineB=-1; lineC=-1;
       bAEqC=false; bAEqB=false; bBEqC=false;
       pFineAB=0; pFineBC=0; pFineCA=0;
       linesNeededForDisplay=1;
+      sumLinesNeededForDisplay=0;
+      bWhiteLineA=false; bWhiteLineB=false; bWhiteLineC=false;
+      m_pDiffBufferInfo=0;
    }
 
    ~Diff3Line()
@@ -88,11 +123,39 @@
       return lineA == d3l.lineA  &&  lineB == d3l.lineB  &&  lineC == d3l.lineC  
          && bAEqB == d3l.bAEqB  && bAEqC == d3l.bAEqC  && bBEqC == d3l.bBEqC;
    }
+
+   const LineData* getLineData( int src ) const
+   {
+      assert( m_pDiffBufferInfo!=0 );
+      if ( src == 1 && lineA >= 0 ) return &m_pDiffBufferInfo->m_pLineDataA[lineA];
+      if ( src == 2 && lineB >= 0 ) return &m_pDiffBufferInfo->m_pLineDataB[lineB];
+      if ( src == 3 && lineC >= 0 ) return &m_pDiffBufferInfo->m_pLineDataC[lineC];
+      return 0;
+   }
+   QString getString( int src ) const
+   {
+      const LineData* pld = getLineData(src);
+      if ( pld )
+         return QString( pld->pLine, pld->size);
+      else
+         return QString();
+   }
+   int getLineInFile( int src ) const
+   {
+      if ( src == 1 ) return lineA;
+      if ( src == 2 ) return lineB;
+      if ( src == 3 ) return lineC;
+      return -1;
+   }
 };
 
 
-typedef std::list<Diff3Line> Diff3LineList;
-typedef std::vector<Diff3Line*> Diff3LineVector;
+class Diff3LineList : public std::list<Diff3Line>
+{
+};
+class Diff3LineVector : public std::vector<Diff3Line*>
+{
+};
 
 class Diff3WrapLine
 {
@@ -100,7 +163,7 @@
    Diff3Line* pD3L;
    int diff3LineIndex;
    int wrapLineOffset;
-   int wrapLineLength;   
+   int wrapLineLength;
 };
 
 typedef std::vector<Diff3WrapLine> Diff3WrapLineVector;
@@ -113,7 +176,7 @@
    void reset() {bBinaryAEqC=false; bBinaryBEqC=false; bBinaryAEqB=false;
                  bTextAEqC=false;   bTextBEqC=false;   bTextAEqB=false;
                  nofUnsolvedConflicts=0; nofSolvedConflicts=0;
-                 nofWhitespaceConflicts=0;                 
+                 nofWhitespaceConflicts=0;
                 }
    bool bBinaryAEqC;
    bool bBinaryBEqC;
@@ -122,12 +185,47 @@
    bool bTextAEqC;
    bool bTextBEqC;
    bool bTextAEqB;
-   
+
    int nofUnsolvedConflicts;
    int nofSolvedConflicts;
    int nofWhitespaceConflicts;
 };
 
+// Three corresponding ranges. (Minimum size of a valid range is one line.)
+class ManualDiffHelpEntry
+{
+public:
+   ManualDiffHelpEntry() { lineA1=-1; lineA2=-1; 
+                           lineB1=-1; lineB2=-1; 
+                           lineC1=-1; lineC2=-1; }
+   int lineA1;
+   int lineA2;
+   int lineB1;
+   int lineB2;
+   int lineC1;
+   int lineC2;
+   int& firstLine( int winIdx )
+   {
+      return winIdx==1 ? lineA1 : (winIdx==2 ? lineB1 : lineC1 );
+   }
+   int& lastLine( int winIdx )
+   {
+      return winIdx==1 ? lineA2 : (winIdx==2 ? lineB2 : lineC2 );
+   }
+   bool isLineInRange( int line, int winIdx )
+   {
+      return line>=0 && line>=firstLine(winIdx) && line<=lastLine(winIdx);
+   }
+   bool operator==(const ManualDiffHelpEntry& r) const
+   {
+      return lineA1 == r.lineA1   &&   lineB1 == r.lineB1   &&   lineC1 == r.lineC1  &&
+             lineA2 == r.lineA2   &&   lineB2 == r.lineB2   &&   lineC2 == r.lineC2;
+   }
+};
+
+// A list of corresponding ranges
+typedef std::list<ManualDiffHelpEntry> ManualDiffHelpList;
+
 void calcDiff3LineListUsingAB(
    const DiffList* pDiffListAB,
    Diff3LineList& d3ll
@@ -143,19 +241,7 @@
    Diff3LineList& d3ll
    );
 
-struct LineData
-{
-   const QChar* pLine;
-   const QChar* pFirstNonWhiteChar;
-   int size;
-
-   LineData(){ pLine=0; size=0; occurances=0; bContainsPureComment=false; }
-   int width() const;  // Calcs width considering tabs.
-   int occurances;
-   bool whiteLine() const { return pFirstNonWhiteChar-pLine == size; }
-   bool bContainsPureComment;
-};
-
+void correctManualDiffAlignment( Diff3LineList& d3ll, ManualDiffHelpList* pManualDiffHelpList );
 
 class SourceData
 {
@@ -199,7 +285,7 @@
 
    struct FileData
    {
-      FileData(){ m_pBuf=0; m_size=0; }
+      FileData(){ m_pBuf=0; m_size=0; m_vSize=0; m_bIsText=false; }
       ~FileData(){ reset(); }
       const char* m_pBuf;
       int m_size;
@@ -219,7 +305,7 @@
    QTextCodec* m_pEncoding; 
 };
 
-void calcDiff3LineListTrim( Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC );
+void calcDiff3LineListTrim( Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC, ManualDiffHelpList* pManualDiffHelpList );
 void calcWhiteDiff3Lines(   Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC );
 
 void calcDiff3LineVector( Diff3LineList& d3ll, Diff3LineVector& d3lv );
@@ -245,6 +331,7 @@
       oldFirstLine=firstLine;
       oldLastLine =lastLine;
       firstLine=-1;
+      lastLine=-1;
       bSelectionContainsData = false;
    }
    void start( int l, int p ) { firstLine = l; firstPos = p; }
@@ -259,10 +346,16 @@
    bool lineWithin( int l );
    int firstPosInLine(int l);
    int lastPosInLine(int l);
-   int beginLine(){ return min2(firstLine,lastLine); }
-   int endLine(){ return max2(firstLine,lastLine); }
+   int beginLine(){ 
+      if (firstLine<0 && lastLine<0) return -1;
+      return max2(0,min2(firstLine,lastLine)); 
+   }
+   int endLine(){ 
+      if (firstLine<0 && lastLine<0) return -1;
+      return max2(firstLine,lastLine); 
+   }
    int beginPos() { return firstLine==lastLine ? min2(firstPos,lastPos) :
-                           firstLine<lastLine ? firstPos : lastPos;      }
+                           firstLine<lastLine ? (firstLine<0?0:firstPos) : (lastLine<0?0:lastPos);  }
    int endPos()   { return firstLine==lastLine ? max2(firstPos,lastPos) :
                            firstLine<lastLine ? lastPos : firstPos;      }
 };
@@ -280,7 +373,7 @@
    int m_fontWidth;
 public:
    MyPainter(const QPaintDevice* pd, bool bRTL, int width, int fontWidth) 
-   : QPainter(pd) 
+   : QPainter(pd)
    {
       if (bRTL) 
       {
@@ -298,7 +391,10 @@
 
    void fillRect( int x, int y, int w, int h, const QBrush& b )
    {
-      QPainter::fillRect( m_xOffset + m_factor*x, y, m_factor*w, h, b );
+      if (m_factor==1)
+         QPainter::fillRect( m_xOffset + x    , y, w, h, b );
+      else
+         QPainter::fillRect( m_xOffset - x - w, y, w, h, b );
    }
 
    void drawText( int x, int y, const QString& s, bool bAdapt=false )
@@ -313,431 +409,6 @@
    }
 };
 
-class DiffTextWindow : public QWidget
-{
-   Q_OBJECT
-public:
-   DiffTextWindow(
-      QWidget* pParent,
-      QStatusBar* pStatusBar,
-      OptionDialog* pOptionDialog
-      );
-   void init(
-      const QString& fileName,
-      const LineData* pLineData,
-      int size,
-      const Diff3LineVector* pDiff3LineVector,
-      int winIdx,
-      bool bTriple
-      );
-   virtual void mousePressEvent ( QMouseEvent * );
-   virtual void mouseReleaseEvent ( QMouseEvent * );
-   virtual void mouseMoveEvent ( QMouseEvent * );
-   virtual void mouseDoubleClickEvent ( QMouseEvent * e );
-   void convertToLinePos( int x, int y, int& line, int& pos );
-
-   virtual void paintEvent( QPaintEvent*  );
-   virtual void dragEnterEvent( QDragEnterEvent* e );
-   virtual void focusInEvent( QFocusEvent* e );
-   //void setData( const char* pText);
-
-   virtual void resizeEvent( QResizeEvent* );
-
-   QString getSelection();
-   int getFirstLine() { return m_firstLine; }
-
-   int getNofColumns();
-   int getNofLines();
-   int getNofVisibleLines();
-   int getNofVisibleColumns();
-   
-   int convertLineToDiff3LineIdx( int line );
-   int convertDiff3LineIdxToLine( int d3lIdx );
-   
-   void convertD3LCoordsToLineCoords( int d3LIdx, int d3LPos, int& line, int& pos );
-   void convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos );
-
-   void convertSelectionToD3LCoords();
-   
-   bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
-   void setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p );
-
-   void setPaintingAllowed( bool bAllowPainting );
-   void recalcWordWrap( bool bWordWrap, int wrapLineVectorSize );
-signals:
-   void resizeSignal( int nofVisibleColumns, int nofVisibleLines );
-   void scroll( int deltaX, int deltaY );
-   void newSelection();
-   void selectionEnd();
-   void setFastSelectorLine( int line );
-   void gotFocus();
-
-public slots:
-   void setFirstLine( int line );
-   void setFirstColumn( int col );
-   void resetSelection();
-   void setFastSelectorRange( int line1, int nofLines );
-
-private:
-   bool m_bPaintingAllowed;
-   const LineData* m_pLineData;
-   int m_size;
-   QString m_filename;
-   bool m_bWordWrap;
-
-   const Diff3LineVector* m_pDiff3LineVector;
-   Diff3WrapLineVector m_diff3WrapLineVector;
-
-   OptionDialog* m_pOptionDialog;
-   QColor m_cThis;
-   QColor m_cDiff1;
-   QColor m_cDiff2;
-   QColor m_cDiffBoth;
-
-   int m_fastSelectorLine1;
-   int m_fastSelectorNofLines;
-
-   bool m_bTriple;
-   int m_winIdx;
-   int m_firstLine;
-   int m_oldFirstLine;
-   int m_oldFirstColumn;
-   int m_firstColumn;
-   int m_lineNumberWidth;
-
-   void getLineInfo(
-      const Diff3Line& d,
-      int& lineIdx,
-      DiffList*& pFineDiff1, DiffList*& pFineDiff2,   // return values
-      int& changed, int& changed2  );
-
-   QString getString( int d3lIdx );
-   QString getLineString( int line );
-
-   void writeLine(
-      MyPainter& p, const LineData* pld,
-      const DiffList* pLineDiff1, const DiffList* pLineDiff2, int line,
-      int whatChanged, int whatChanged2, int srcLineNr,
-      int wrapLineOffset, int wrapLineLength, bool bWrapLine );
-
-   QStatusBar* m_pStatusBar;
-
-   Selection selection;
-
-   int m_scrollDeltaX;
-   int m_scrollDeltaY;
-   virtual void timerEvent(QTimerEvent*);
-   bool m_bMyUpdate;
-   void myUpdate(int afterMilliSecs );
-
-   void showStatusLine( int line );
-
-   QRect m_invalidRect;
-};
-
-
-
-class Overview : public QWidget
-{
-   Q_OBJECT
-public:
-   Overview( QWidget* pParent, OptionDialog* pOptions );
-             
-   void init( Diff3LineList* pDiff3LineList, bool bTripleDiff );
-   void setRange( int firstLine, int pageHeight );
-   void setPaintingAllowed( bool bAllowPainting );
-   
-   enum e_OverviewMode { eOMNormal, eOMAvsB, eOMAvsC, eOMBvsC };
-   void setOverviewMode( e_OverviewMode eOverviewMode );
-   e_OverviewMode getOverviewMode();
-
-public slots:
-   void setFirstLine(int firstLine);
-   void slotRedraw();
-signals:
-   void setLine(int);
-private:
-   const Diff3LineList* m_pDiff3LineList;
-   OptionDialog* m_pOptions;
-   bool m_bTripleDiff;
-   int m_firstLine;
-   int m_pageHeight;
-   QPixmap m_pixmap;
-   bool m_bPaintingAllowed;
-   e_OverviewMode m_eOverviewMode;
-   int m_nofLines;
-
-   virtual void paintEvent( QPaintEvent* e );
-   virtual void mousePressEvent( QMouseEvent* e );
-   virtual void mouseMoveEvent( QMouseEvent* e );
-   void drawColumn( QPainter& p, e_OverviewMode eOverviewMode, int x, int w, int h, int nofLines );
-};
-
-
-enum e_MergeDetails
-{
-   eDefault,
-   eNoChange,
-   eBChanged,
-   eCChanged,
-   eBCChanged,         // conflict
-   eBCChangedAndEqual, // possible conflict
-   eBDeleted,
-   eCDeleted,
-   eBCDeleted,         // possible conflict
-
-   eBChanged_CDeleted, // conflict
-   eCChanged_BDeleted, // conflict
-   eBAdded,
-   eCAdded,
-   eBCAdded,           // conflict
-   eBCAddedAndEqual    // possible conflict
-};
-
-void mergeOneLine( const Diff3Line& d, e_MergeDetails& mergeDetails, bool& bConflict, bool& bLineRemoved, int& src, bool bTwoInputs );
-
-enum e_MergeSrcSelector
-{
-   A=1,
-   B=2,
-   C=3
-};
-
-class MergeResultWindow : public QWidget
-{
-   Q_OBJECT
-public:
-   MergeResultWindow(
-      QWidget* pParent,
-      OptionDialog* pOptionDialog,
-      QStatusBar* pStatusBar
-      );
-
-   void init(
-      const LineData* pLineDataA,
-      const LineData* pLineDataB,
-      const LineData* pLineDataC,
-      const Diff3LineList* pDiff3LineList,
-      TotalDiffStatus* pTotalDiffStatus,
-      QString fileName
-      );
-
-   bool saveDocument( const QString& fileName );
-   int getNrOfUnsolvedConflicts(int* pNrOfWhiteSpaceConflicts=0);
-   void choose(int selector);
-   void chooseGlobal(int selector, bool bConflictsOnly, bool bWhiteSpaceOnly );
-
-   int getNofColumns();
-   int getNofLines();
-   int getNofVisibleColumns();
-   int getNofVisibleLines();
-   QString getSelection();
-   void resetSelection();
-   void showNrOfConflicts();
-   bool isDeltaAboveCurrent();
-   bool isDeltaBelowCurrent();
-   bool isConflictAboveCurrent();
-   bool isConflictBelowCurrent();
-   bool isUnsolvedConflictAboveCurrent();
-   bool isUnsolvedConflictBelowCurrent();
-   bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
-   void setSelection( int firstLine, int startPos, int lastLine, int endPos );
-public slots:
-   void setFirstLine(int firstLine);
-   void setFirstColumn(int firstCol);
-
-   void slotGoCurrent();
-   void slotGoTop();
-   void slotGoBottom();
-   void slotGoPrevDelta();
-   void slotGoNextDelta();
-   void slotGoPrevUnsolvedConflict();
-   void slotGoNextUnsolvedConflict();
-   void slotGoPrevConflict();
-   void slotGoNextConflict();
-   void slotAutoSolve();
-   void slotUnsolve();
-   void slotSetFastSelectorLine(int);
-   void setPaintingAllowed(bool);
-   void updateSourceMask();
-
-signals:
-   void scroll( int deltaX, int deltaY );
-   void modified();
-   void setFastSelectorRange( int line1, int nofLines );
-   void sourceMask( int srcMask, int enabledMask );   
-   void resizeSignal();
-   void selectionEnd();
-   void newSelection();
-   void updateAvailabilities();
-   void showPopupMenu( const QPoint& point );
-
-private:
-   void merge(bool bAutoSolve, int defaultSelector, bool bConflictsOnly=false, bool bWhiteSpaceOnly=false );
-   QString getString( int lineIdx );
-
-   OptionDialog* m_pOptionDialog;
-
-   const LineData* m_pldA;
-   const LineData* m_pldB;
-   const LineData* m_pldC;
-
-   const Diff3LineList* m_pDiff3LineList;
-   TotalDiffStatus* m_pTotalDiffStatus;
-
-   bool m_bPaintingAllowed;
-
-private:
-   class MergeEditLine
-   {
-   public:
-      MergeEditLine(){ m_src=0; m_bLineRemoved=false; }
-      void setConflict() { m_src=0; m_bLineRemoved=false; m_str=QString(); }
-      bool isConflict()  { return  m_src==0 && !m_bLineRemoved && m_str.isNull(); }
-      void setRemoved(int src=0)  { m_src=src; m_bLineRemoved=true; m_str=QString(); }
-      bool isRemoved()   { return m_bLineRemoved; }
-      bool isEditableText() { return !isConflict() && !isRemoved(); }
-      void setString( const QString& s ){ m_str=s; m_bLineRemoved=false; m_src=0; }
-      QString getString( const MergeResultWindow* );
-      bool isModified() { return ! m_str.isNull() ||  (m_bLineRemoved && m_src==0); }
-
-      void setSource( int src, Diff3LineList::const_iterator i, bool bLineRemoved )
-      {
-         m_src=src; m_id3l=i; m_bLineRemoved =bLineRemoved;
-      }
-      int src() { return m_src; }
-      Diff3LineList::const_iterator id3l(){return m_id3l;}
-      // getString() is implemented as MergeResultWindow::getString()
-   private:
-      Diff3LineList::const_iterator m_id3l;
-      int m_src;         // 1, 2 or 3 for A, B or C respectively, or 0 when line is from neither source.
-      QString m_str;    // String when modified by user or null-string when orig data is used.
-      bool m_bLineRemoved;
-   };
-
-   class MergeEditLineList : private std::list<MergeEditLine>
-   { // I want to know the size immediately!
-   private:
-      typedef std::list<MergeEditLine> BASE;
-      int m_size;
-      int* m_pTotalSize;
-   public:
-      typedef std::list<MergeEditLine>::iterator iterator;
-      typedef std::list<MergeEditLine>::const_iterator const_iterator;
-      MergeEditLineList(){m_size=0; m_pTotalSize=0; }
-      void clear()                             { ds(-m_size); BASE::clear();          }
-      void push_back( const MergeEditLine& m)  { ds(+1); BASE::push_back(m);     }
-      void push_front( const MergeEditLine& m) { ds(+1); BASE::push_front(m);    }
-      iterator erase( iterator i )             { ds(-1); return BASE::erase(i);  }
-      iterator insert( iterator i, const MergeEditLine& m ) { ds(+1); return BASE::insert(i,m); }
-      int size(){ /*assert(int(BASE::size())==m_size);*/ return m_size;}
-      iterator begin(){return BASE::begin();}
-      iterator end(){return BASE::end();}
-      bool empty() { return m_size==0; }
-
-      void setTotalSizePtr(int* pTotalSize)
-      {
-         m_pTotalSize = pTotalSize;
-         *m_pTotalSize += m_size;
-      }
-
-   private:
-      void ds(int deltaSize) 
-      {
-         m_size+=deltaSize; 
-         if (m_pTotalSize!=0)  *m_pTotalSize+=deltaSize;
-      }
-   };
-
-   friend class MergeEditLine;
-
-   struct MergeLine
-   {
-      MergeLine()
-      {
-         srcSelect=0; mergeDetails=eDefault; d3lLineIdx = -1; srcRangeLength=0;
-         bConflict=false; bDelta=false; bWhiteSpaceConflict=false;
-      }
-      Diff3LineList::const_iterator id3l;
-      e_MergeDetails mergeDetails;
-      int d3lLineIdx;  // Needed to show the correct window pos.
-      int srcRangeLength; // how many src-lines have this properties
-      bool bConflict;
-      bool bWhiteSpaceConflict;
-      bool bDelta;
-      int srcSelect;
-      MergeEditLineList mergeEditLineList;
-   };
-
-private:
-   static bool sameKindCheck( const MergeLine& ml1, const MergeLine& ml2 );
-
-   typedef std::list<MergeLine> MergeLineList;
-   MergeLineList m_mergeLineList;
-   MergeLineList::iterator m_currentMergeLineIt;
-   int m_currentPos;
-
-   enum e_Direction { eUp, eDown };
-   enum e_EndPoint  { eDelta, eConflict, eUnsolvedConflict, eLine, eEnd };
-   void go( e_Direction eDir, e_EndPoint eEndPoint );
-   void calcIteratorFromLineNr(
-      int line,
-      MergeLineList::iterator& mlIt,
-      MergeEditLineList::iterator& melIt
-      );
-
-   virtual void paintEvent( QPaintEvent* e );
-
-
-   void myUpdate(int afterMilliSecs);
-   virtual void timerEvent(QTimerEvent*);
-   void writeLine(
-      MyPainter& p, int line, const QString& str,
-      int srcSelect, e_MergeDetails mergeDetails, int rangeMark, bool bUserModified, bool bLineRemoved, bool bWhiteSpaceConflict
-      );
-   void setFastSelector(MergeLineList::iterator i);
-   void convertToLinePos( int x, int y, int& line, int& pos );
-   virtual void mousePressEvent ( QMouseEvent* e );
-   virtual void mouseDoubleClickEvent ( QMouseEvent* e );
-   virtual void mouseReleaseEvent ( QMouseEvent * );
-   virtual void mouseMoveEvent ( QMouseEvent * );
-   virtual void resizeEvent( QResizeEvent* e );
-   virtual void keyPressEvent( QKeyEvent* e );
-   virtual void wheelEvent( QWheelEvent* e );
-   virtual void focusInEvent( QFocusEvent* e );
-
-   QPixmap m_pixmap;
-   int m_firstLine;
-   int m_firstColumn;
-   int m_nofColumns;
-   int m_nofLines;
-   int m_totalSize; //Same as m_nofLines, but calculated differently
-   bool m_bMyUpdate;
-   bool m_bInsertMode;
-   QString m_fileName;
-   bool m_bModified;
-   void setModified();
-
-   int m_scrollDeltaX;
-   int m_scrollDeltaY;
-   int m_cursorXPos;
-   int m_cursorYPos;
-   int m_cursorOldXPos;
-   bool m_bCursorOn; // blinking on and off each second
-   QTimer m_cursorTimer;
-   QStatusBar* m_pStatusBar;
-
-   Selection m_selection;
-
-   bool deleteSelection2( QString& str, int& x, int& y,
-                    MergeLineList::iterator& mlIt, MergeEditLineList::iterator& melIt );
-public slots:
-   void deleteSelection();
-   void pasteClipboard(bool bFromSelection);
-private slots:
-   void slotCursorUpdate();
-};
-
 void fineDiff(
    Diff3LineList& diff3LineList,
    int selector,
@@ -770,14 +441,19 @@
 */
 int getBestFirstLine( int line, int nofLines, int firstLine, int visibleLines );
 
-extern int g_tabSize;
 extern bool g_bIgnoreWhiteSpace;
 extern bool g_bIgnoreTrivialMatches;
 extern int g_bAutoSolve;
 
 // Cursor conversions that consider g_tabSize.
-int convertToPosInText( const QString& s, int posOnScreen );
-int convertToPosOnScreen( const QString& s, int posInText );
-void calcTokenPos( const QString&, int posOnScreen, int& pos1, int& pos2 );
+int convertToPosInText( const QString& s, int posOnScreen, int tabSize );
+int convertToPosOnScreen( const QString& s, int posInText, int tabSize );
+
+enum e_CoordType { eFileCoords, eD3LLineCoords, eWrapCoords };
+
+void calcTokenPos( const QString&, int posOnScreen, int& pos1, int& pos2, int tabSize );
+
+QString calcHistorySortKey( const QString& keyOrder, QRegExp& matchedRegExpr, const QStringList& parenthesesGroupList );
+bool findParenthesesGroups( const QString& s, QStringList& sl );
 #endif
 
--- a/kdiff3/src/difftextwindow.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/difftextwindow.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           difftextwindow.cpp  -  description
                              -------------------
     begin                : Mon Apr 8 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -15,8 +15,7 @@
  *                                                                         *
  ***************************************************************************/
 
-#include <iostream>
-#include "diff.h"
+#include "difftextwindow.h"
 #include "merger.h"
 #include <qpainter.h>
 #include <assert.h>
@@ -26,82 +25,195 @@
 #include <qtooltip.h>
 #include <qfont.h>
 #include <qstringlist.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qtextcodec.h>
 #include <optiondialog.h>
 #include <math.h>
 #include <qdragobject.h>
 #include <klocale.h>
+#include <kfiledialog.h>
 
-#undef leftInfoWidth
-#define leftInfoWidth (4+m_lineNumberWidth)   // Nr of information columns on left side
+class DiffTextWindowData
+{
+public:
+   DiffTextWindowData( DiffTextWindow* p )
+   {
+      m_pDiffTextWindow = p;
+      m_bPaintingAllowed = false;
+      m_pLineData = 0;
+      m_size = 0;
+      m_bWordWrap = false;
+      m_delayedDrawTimer = 0;
+      m_pDiff3LineVector = 0;
+      m_pManualDiffHelpList = 0;
+      m_pOptionDialog = 0;
+      m_fastSelectorLine1 = 0;
+      m_fastSelectorNofLines = 0;
+      m_bTriple = 0;
+      m_winIdx = 0;
+      m_firstLine = 0;
+      m_oldFirstLine = 0;
+      m_oldFirstColumn = 0;
+      m_firstColumn = 0;
+      m_lineNumberWidth = 0;
+      m_pStatusBar = 0;
+      m_scrollDeltaX = 0;
+      m_scrollDeltaY = 0;
+      m_bMyUpdate = false;
+      m_bSelectionInProgress = false;
+   }
+   DiffTextWindow* m_pDiffTextWindow;
+   DiffTextWindowFrame* m_pDiffTextWindowFrame;
 
+   bool m_bPaintingAllowed;
+   const LineData* m_pLineData;
+   int m_size;
+   QString m_filename;
+   bool m_bWordWrap;
+   int m_delayedDrawTimer;
+
+   const Diff3LineVector* m_pDiff3LineVector;
+   Diff3WrapLineVector m_diff3WrapLineVector;
+   const ManualDiffHelpList* m_pManualDiffHelpList;
+
+   OptionDialog* m_pOptionDialog;
+   QColor m_cThis;
+   QColor m_cDiff1;
+   QColor m_cDiff2;
+   QColor m_cDiffBoth;
+
+   int m_fastSelectorLine1;
+   int m_fastSelectorNofLines;
+
+   bool m_bTriple;
+   int m_winIdx;
+   int m_firstLine;
+   int m_oldFirstLine;
+   int m_oldFirstColumn;
+   int m_firstColumn;
+   int m_lineNumberWidth;
+
+   void getLineInfo(
+           const Diff3Line& d,
+           int& lineIdx,
+           DiffList*& pFineDiff1, DiffList*& pFineDiff2,   // return values
+           int& changed, int& changed2  );
+
+   QString getString( int d3lIdx );
+   QString getLineString( int line );
+
+   void writeLine(
+         MyPainter& p, const LineData* pld,
+         const DiffList* pLineDiff1, const DiffList* pLineDiff2, int line,
+         int whatChanged, int whatChanged2, int srcLineIdx,
+         int wrapLineOffset, int wrapLineLength, bool bWrapLine, const QRect& invalidRect, int deviceWidth
+         );
+
+   void draw( MyPainter& p, const QRect& invalidRect, int deviceWidth, int beginLine, int endLine );
+
+   QStatusBar* m_pStatusBar;
+
+   Selection m_selection;
+
+   int m_scrollDeltaX;
+   int m_scrollDeltaY;
+
+   bool m_bMyUpdate;
+   void myUpdate(int afterMilliSecs );
+
+   int leftInfoWidth() { return 4+m_lineNumberWidth; }   // Nr of information columns on left side
+   int convertLineOnScreenToLineInSource( int lineOnScreen, e_CoordType coordType, bool bFirstLine );
+
+   bool m_bSelectionInProgress;
+   QPoint m_lastKnownMousePos;
+};
 
 DiffTextWindow::DiffTextWindow(
-   QWidget* pParent,
+   DiffTextWindowFrame* pParent,
    QStatusBar* pStatusBar,
-   OptionDialog* pOptionDialog
+   OptionDialog* pOptionDialog,
+   int winIdx
    )
-: QWidget(pParent, 0, WRepaintNoErase)
+   : QWidget(pParent, 0, Qt::WNoAutoErase | WRepaintNoErase)
 {
-   setFocusPolicy( QWidget::ClickFocus );
+   d = new DiffTextWindowData(this);
+   d->m_pDiffTextWindowFrame = pParent;
+   setFocusPolicy( ClickFocus );
    setAcceptDrops( true );
 
-   m_pOptionDialog = pOptionDialog;
+   d->m_pOptionDialog = pOptionDialog;
    init( 0, 0, 0, 0, 0, false );
 
-   setBackgroundMode( PaletteBase );
    setMinimumSize(QSize(20,20));
 
-   m_pStatusBar = pStatusBar;
-   m_bPaintingAllowed = true;
-   m_bWordWrap = false;
+   d->m_pStatusBar = pStatusBar;
+   d->m_bPaintingAllowed = true;
+   d->m_bWordWrap = false;
+   d->m_winIdx = winIdx;
 
-   setFont(m_pOptionDialog->m_font);
+   setFont(d->m_pOptionDialog->m_font);
 }
 
+DiffTextWindow::~DiffTextWindow()
+{
+   delete d;
+}
 
 void DiffTextWindow::init(
    const QString& filename,
    const LineData* pLineData,
    int size,
    const Diff3LineVector* pDiff3LineVector,
-   int winIdx,
+   const ManualDiffHelpList* pManualDiffHelpList,
    bool bTriple
    )
 {
-   m_filename = filename;
-   m_pLineData = pLineData;
-   m_size = size;
-   m_pDiff3LineVector = pDiff3LineVector;
-   m_diff3WrapLineVector.clear();
-   m_winIdx = winIdx;
+   d->m_filename = filename;
+   d->m_pLineData = pLineData;
+   d->m_size = size;
+   d->m_pDiff3LineVector = pDiff3LineVector;
+   d->m_diff3WrapLineVector.clear();
+   d->m_pManualDiffHelpList = pManualDiffHelpList;
 
-   m_firstLine = 0;
-   m_oldFirstLine = -1;
-   m_firstColumn = 0;
-   m_oldFirstColumn = -1;
-   m_bTriple = bTriple;
-   m_scrollDeltaX=0;
-   m_scrollDeltaY=0;
-   m_bMyUpdate = false;
-   m_fastSelectorLine1 = 0;
-   m_fastSelectorNofLines = 0;
-   m_lineNumberWidth = 0;
-   selection.reset();
-   selection.oldFirstLine = -1; // reset is not enough here.
-   selection.oldLastLine = -1;
-   selection.lastLine = -1;
+   d->m_firstLine = 0;
+   d->m_oldFirstLine = -1;
+   d->m_firstColumn = 0;
+   d->m_oldFirstColumn = -1;
+   d->m_bTriple = bTriple;
+   d->m_scrollDeltaX=0;
+   d->m_scrollDeltaY=0;
+   d->m_bMyUpdate = false;
+   d->m_fastSelectorLine1 = 0;
+   d->m_fastSelectorNofLines = 0;
+   d->m_lineNumberWidth = 0;
+   d->m_selection.reset();
+   d->m_selection.oldFirstLine = -1; // reset is not enough here.
+   d->m_selection.oldLastLine = -1;
+   d->m_selection.lastLine = -1;
 
-   QToolTip::remove(this);
-   QToolTip::add( this, QRect( 0,0, 1024, fontMetrics().height() ), m_filename );
    update();
+   d->m_pDiffTextWindowFrame->init();
+}
+
+void DiffTextWindow::reset()
+{
+   d->m_pLineData=0;
+   d->m_size=0;
+   d->m_pDiff3LineVector=0;
+   d->m_filename="";
+   d->m_diff3WrapLineVector.clear();
 }
 
 void DiffTextWindow::setPaintingAllowed( bool bAllowPainting )
 {
-   if (m_bPaintingAllowed != bAllowPainting)
+   if (d->m_bPaintingAllowed != bAllowPainting)
    {
-      m_bPaintingAllowed = bAllowPainting;
-      if ( m_bPaintingAllowed ) update();
+      d->m_bPaintingAllowed = bAllowPainting;
+      if ( d->m_bPaintingAllowed ) update();
+      else reset();
    }
 }
 
@@ -111,71 +223,81 @@
    // Note that the corresponding drop is handled in KDiff3App::eventFilter().
 }
 
+
 void DiffTextWindow::setFirstLine(int firstLine)
 {
    int fontHeight = fontMetrics().height();
-   int topLineYOffset = fontHeight + 3;   
-   
+
    int newFirstLine = max2(0,firstLine);
 
-   int deltaY = fontHeight * ( m_firstLine - newFirstLine );
-   
-   m_firstLine = newFirstLine;
-   
-   if ( m_scrollDeltaY > 0 )
+   int deltaY = fontHeight * ( d->m_firstLine - newFirstLine );
+
+   d->m_firstLine = newFirstLine;
+
+   if ( d->m_bSelectionInProgress && d->m_selection.firstLine != -1 )
    {
-      update( 0, height()-fontHeight*3, width(), fontHeight*3 );
-   }
-   else if ( m_scrollDeltaY<0 )
-   {
-      update( 0, 0, width(), topLineYOffset+fontHeight*2 );
+      int line, pos;
+      convertToLinePos( d->m_lastKnownMousePos.x(), d->m_lastKnownMousePos.y(), line, pos );
+      d->m_selection.end( line, pos );
+      update();
    }
    else
    {
-      update( 0, 0, width(), topLineYOffset );
+      QWidget::scroll( 0, deltaY );
    }
-   
-   QRect r( 0, topLineYOffset, width(), height()-topLineYOffset );   
-   QWidget::scroll( 0, deltaY, r );
+   d->m_pDiffTextWindowFrame->setFirstLine( d->m_firstLine );
+}
+
+int DiffTextWindow::getFirstLine()
+{
+   return d->m_firstLine;
 }
 
 void DiffTextWindow::setFirstColumn(int firstCol)
 {
-   int fontHeight = fontMetrics().height();
    int fontWidth = fontMetrics().width('W');
-   int topLineYOffset = fontHeight + 3;
-   int xOffset = leftInfoWidth * fontWidth;
-   
+   int xOffset = d->leftInfoWidth() * fontWidth;
+
    int newFirstColumn = max2(0,firstCol);
 
-   int deltaX = fontWidth * ( m_firstColumn - newFirstColumn );
-   
-   m_firstColumn = newFirstColumn;
+   int deltaX = fontWidth * ( d->m_firstColumn - newFirstColumn );
 
-   QRect r( xOffset, topLineYOffset, width()-xOffset, height()-topLineYOffset );   
+   d->m_firstColumn = newFirstColumn;
 
-   if ( m_pOptionDialog->m_bRightToLeftLanguage )
+   QRect r( xOffset, 0, width()-xOffset, height() );
+
+   if ( d->m_pOptionDialog->m_bRightToLeftLanguage )
    {
       deltaX = -deltaX;
-      r = QRect( width()-1-xOffset, topLineYOffset, -(width()-xOffset), height()-topLineYOffset ).normalize();
+      r = QRect( width()-1-xOffset, 0, -(width()-xOffset), height() ).normalize();
    }
 
-   QWidget::scroll( deltaX, 0, r );
+   if ( d->m_bSelectionInProgress && d->m_selection.firstLine != -1 )
+   {
+      int line, pos;
+      convertToLinePos( d->m_lastKnownMousePos.x(), d->m_lastKnownMousePos.y(), line, pos );
+      d->m_selection.end( line, pos );
+      update();
+   }
+   else
+   {
+      QWidget::scroll( deltaX, 0, r );
+   }
 }
 
 int DiffTextWindow::getNofColumns()
 {
-   if (m_bWordWrap)
+   if (d->m_bWordWrap)
    {
       return getNofVisibleColumns();
    }
    else
    {
       int nofColumns = 0;
-      for( int i = 0; i< m_size; ++i )
+      for( int i = 0; i< d->m_size; ++i )
       {
-         if ( m_pLineData[i].width() > nofColumns )
-            nofColumns = m_pLineData[i].width();
+         if ( d->m_pLineData[i].width( d->m_pOptionDialog->m_tabSize ) > nofColumns )
+            nofColumns = d->m_pLineData[i].width( d->m_pOptionDialog->m_tabSize );
       }
       return nofColumns;
    }
@@ -183,23 +305,23 @@
 
 int DiffTextWindow::getNofLines()
 {
-   return m_bWordWrap ? m_diff3WrapLineVector.size() : 
-                        m_pDiff3LineVector->size();
+   return d->m_bWordWrap ? d->m_diff3WrapLineVector.size() : 
+                        d->m_pDiff3LineVector->size();
 }
 
 
 int DiffTextWindow::convertLineToDiff3LineIdx( int line )
 {
-   if ( m_bWordWrap && m_diff3WrapLineVector.size()>0 )
-      return m_diff3WrapLineVector[ min2( line, (int)m_diff3WrapLineVector.size()-1 ) ].diff3LineIndex;
+   if ( d->m_bWordWrap && d->m_diff3WrapLineVector.size()>0 )
+      return d->m_diff3WrapLineVector[ min2( line, (int)d->m_diff3WrapLineVector.size()-1 ) ].diff3LineIndex;
    else
       return line;
 }
 
 int DiffTextWindow::convertDiff3LineIdxToLine( int d3lIdx )
 {
-   if ( m_bWordWrap && m_pDiff3LineVector!=0 && m_pDiff3LineVector->size()>0 )
-      return (*m_pDiff3LineVector)[ min2( d3lIdx, (int)m_pDiff3LineVector->size()-1 ) ]->sumLinesNeededForDisplay;
+   if ( d->m_bWordWrap && d->m_pDiff3LineVector!=0 && d->m_pDiff3LineVector->size()>0 )
+      return (*d->m_pDiff3LineVector)[ min2( d3lIdx, (int)d->m_pDiff3LineVector->size()-1 ) ]->sumLinesNeededForDisplay;
    else
       return d3lIdx;
 }
@@ -224,20 +346,20 @@
 
 
 void DiffTextWindow::setFastSelectorRange( int line1, int nofLines )
-{   
-   m_fastSelectorLine1 = line1;
-   m_fastSelectorNofLines = nofLines;
+{
+   d->m_fastSelectorLine1 = line1;
+   d->m_fastSelectorNofLines = nofLines;
    if ( isVisible() )
    {
       int newFirstLine = getBestFirstLine( 
-         convertDiff3LineIdxToLine(m_fastSelectorLine1), 
-         convertDiff3LineIdxToLine(m_fastSelectorLine1+m_fastSelectorNofLines)-convertDiff3LineIdxToLine(m_fastSelectorLine1), 
-         m_firstLine, 
+         convertDiff3LineIdxToLine(d->m_fastSelectorLine1), 
+         convertDiff3LineIdxToLine(d->m_fastSelectorLine1+d->m_fastSelectorNofLines)-convertDiff3LineIdxToLine(d->m_fastSelectorLine1), 
+         d->m_firstLine, 
          getNofVisibleLines() 
          );
-      if ( newFirstLine != m_firstLine )
+      if ( newFirstLine != d->m_firstLine )
       {
-         scroll( 0, newFirstLine - m_firstLine );
+         scroll( 0, newFirstLine - d->m_firstLine );
       }
 
       update();
@@ -248,21 +370,22 @@
 void DiffTextWindow::showStatusLine(int line )
 {
    int d3lIdx = convertLineToDiff3LineIdx( line );
-   int l=0;
-   const Diff3Line* pD3l = (*m_pDiff3LineVector)[d3lIdx];
-   if(d3lIdx >= 0 && d3lIdx<(int)m_pDiff3LineVector->size() && pD3l != 0 )
+   if(d3lIdx >= 0 && d3lIdx<(int)d->m_pDiff3LineVector->size() )
    {
-      if      ( m_winIdx==1 ) l = pD3l->lineA;
-      else if ( m_winIdx==2 ) l = pD3l->lineB;
-      else if ( m_winIdx==3 ) l = pD3l->lineC;
-      else assert(false);
+      const Diff3Line* pD3l = (*d->m_pDiff3LineVector)[d3lIdx];
+      if ( pD3l != 0 )
+      {
+         int l = pD3l->getLineInFile( d->m_winIdx );
 
-      QString s;
-      if ( l!=-1 )
-         s.sprintf("File %s: Line %d", m_filename.ascii(), l+1 );
-      else
-         s.sprintf("File %s: Line not available", m_filename.ascii() );
-      if (m_pStatusBar!=0) m_pStatusBar->message(s);
+         QString s;
+         if ( l!=-1 )
+            s.sprintf("File %s: Line %d", d->m_filename.ascii(), l+1 );
+         else
+            s.sprintf("File %s: Line not available", d->m_filename.ascii() );
+         if (d->m_pStatusBar!=0) d->m_pStatusBar->message(s);
+
+         emit lineClicked( d->m_winIdx, l );
+      }
    }
 }
 
@@ -274,21 +397,23 @@
 
 void DiffTextWindow::mousePressEvent ( QMouseEvent* e )
 {
-   if ( e->button() == LeftButton )
+   if ( e->button() == Qt::LeftButton )
    {
       int line;
       int pos;
       convertToLinePos( e->x(), e->y(), line, pos );
-      if ( pos < m_firstColumn )
+      if ( pos < d->m_firstColumn )
       {
          emit setFastSelectorLine( convertLineToDiff3LineIdx(line) );
-         selection.firstLine = -1;     // Disable current selection
+         d->m_selection.firstLine = -1;     // Disable current d->m_selection
       }
       else
       {  // Selection
          resetSelection();
-         selection.start( line, pos );
-         selection.end( line, pos );
+         d->m_selection.start( line, pos );
+         d->m_selection.end( line, pos );
+         d->m_bSelectionInProgress = true;
+         d->m_lastKnownMousePos = e->pos();
 
          showStatusLine( line );
       }
@@ -303,10 +428,10 @@
 }
 
 /// Calculate where a token starts and ends, given the x-position on screen.
-void calcTokenPos( const QString& s, int posOnScreen, int& pos1, int& pos2 )
+void calcTokenPos( const QString& s, int posOnScreen, int& pos1, int& pos2, int tabSize )
 {
    // Cursor conversions that consider g_tabSize
-   int pos = convertToPosInText( s, max2( 0, posOnScreen ) );
+   int pos = convertToPosInText( s, max2( 0, posOnScreen ), tabSize );
    if ( pos>=(int)s.length() )
    {
       pos1=s.length();
@@ -330,7 +455,9 @@
 
 void DiffTextWindow::mouseDoubleClickEvent( QMouseEvent* e )
 {
-   if ( e->button() == LeftButton )
+   d->m_bSelectionInProgress = false;
+   d->m_lastKnownMousePos = e->pos();
+   if ( e->button() == Qt::LeftButton )
    {
       int line;
       int pos;
@@ -338,121 +465,153 @@
 
       // Get the string data of the current line
       QString s;
-      if ( m_bWordWrap )
+      if ( d->m_bWordWrap )
       {
-         const Diff3WrapLine& d = m_diff3WrapLineVector[line];
-         s = getString( d.diff3LineIndex ).mid( d.wrapLineOffset, d.wrapLineLength );
+         const Diff3WrapLine& d3wl = d->m_diff3WrapLineVector[line];
+         s = d->getString( d3wl.diff3LineIndex ).mid( d3wl.wrapLineOffset, d3wl.wrapLineLength );
       }
       else
       {
-         s = getString( line );
+         s = d->getString( line );
       }
-      
+
       if ( ! s.isEmpty() )
       {
          int pos1, pos2;
-         calcTokenPos( s, pos, pos1, pos2 );
+         calcTokenPos( s, pos, pos1, pos2, d->m_pOptionDialog->m_tabSize );
 
          resetSelection();
-         selection.start( line, convertToPosOnScreen( s, pos1 ) );
-         selection.end( line, convertToPosOnScreen( s, pos2 ) );
+         d->m_selection.start( line, convertToPosOnScreen( s, pos1, d->m_pOptionDialog->m_tabSize ) );
+         d->m_selection.end( line, convertToPosOnScreen( s, pos2, d->m_pOptionDialog->m_tabSize ) );
          update();
-         // emit selectionEnd() happens in the mouseReleaseEvent.
+         // emit d->m_selectionEnd() happens in the mouseReleaseEvent.
          showStatusLine( line );
       }
    }
 }
 
-void DiffTextWindow::mouseReleaseEvent ( QMouseEvent * /*e*/ )
+void DiffTextWindow::mouseReleaseEvent ( QMouseEvent* e )
 {
+   d->m_bSelectionInProgress = false;
+   d->m_lastKnownMousePos = e->pos();
    //if ( e->button() == LeftButton )
    {
-      killTimers();
-      if (selection.firstLine != -1 )
+      killTimer(d->m_delayedDrawTimer);
+      d->m_delayedDrawTimer = 0;
+      if (d->m_selection.firstLine != -1 )
       {
          emit selectionEnd();
       }
    }
-   m_scrollDeltaX=0;
-   m_scrollDeltaY=0;
+   d->m_scrollDeltaX=0;
+   d->m_scrollDeltaY=0;
 }
 
+inline int sqr(int x){return x*x;}
+
 void DiffTextWindow::mouseMoveEvent ( QMouseEvent * e )
 {
    int line;
    int pos;
    convertToLinePos( e->x(), e->y(), line, pos );
-   if (selection.firstLine != -1 )
+   d->m_lastKnownMousePos = e->pos();
+
+   if (d->m_selection.firstLine != -1 )
    {
-      selection.end( line, pos );
+      d->m_selection.end( line, pos );
 
       showStatusLine( line );
 
       // Scroll because mouse moved out of the window
       const QFontMetrics& fm = fontMetrics();
-      int fontHeight = fm.height();
       int fontWidth = fm.width('W');
-      int topLineYOffset = fontHeight + 3;
       int deltaX=0;
       int deltaY=0;
-      if ( ! m_pOptionDialog->m_bRightToLeftLanguage )
+      if ( ! d->m_pOptionDialog->m_bRightToLeftLanguage )
       {
-         if ( e->x() < leftInfoWidth*fontWidth )       deltaX=-1;
-         if ( e->x() > width()     )                   deltaX=+1;
+         if ( e->x() < d->leftInfoWidth()*fontWidth )  deltaX = -1 - abs(e->x()-d->leftInfoWidth()*fontWidth)/fontWidth;
+         if ( e->x() > width()     )                   deltaX = +1 + abs(e->x()-width())/fontWidth;
       }
       else
       {
-         if ( e->x() > width()-1-leftInfoWidth*fontWidth )   deltaX=-1;
-         if ( e->x() < fontWidth )                         deltaX=+1;
+         if ( e->x() > width()-1-d->leftInfoWidth()*fontWidth ) deltaX=+1+ abs(e->x() - (width()-1-d->leftInfoWidth()*fontWidth)) / fontWidth;
+         if ( e->x() < fontWidth )                              deltaX=-1- abs(e->x()-fontWidth)/fontWidth;
       }
-      if ( e->y() < topLineYOffset )    deltaY=-1;
-      if ( e->y() > height() )          deltaY=+1;
-      if ( deltaX != 0 && m_scrollDeltaX!=deltaX || deltaY!= 0 && m_scrollDeltaY!=deltaY )
+      if ( e->y() < 0 )          deltaY = -1 - sqr( e->y() ) / sqr(fm.height());
+      if ( e->y() > height() )   deltaY = +1 + sqr( e->y() - height() ) / sqr(fm.height());
+      if ( deltaX != 0 && d->m_scrollDeltaX!=deltaX || deltaY!= 0 && d->m_scrollDeltaY!=deltaY )
       {
-         m_scrollDeltaX = deltaX;
-         m_scrollDeltaY = deltaY;
+         d->m_scrollDeltaX = deltaX;
+         d->m_scrollDeltaY = deltaY;
          emit scroll( deltaX, deltaY );
-         startTimer(50);
+         killTimer( d->m_delayedDrawTimer );
+         d->m_delayedDrawTimer = startTimer(50);
       }
       else
       {
-         m_scrollDeltaX = deltaX;
-         m_scrollDeltaY = deltaY;
-         myUpdate(0);
+         d->m_scrollDeltaX = deltaX;
+         d->m_scrollDeltaY = deltaY;
+         d->myUpdate(0);
       }
    }
 }
 
 
-void DiffTextWindow::myUpdate(int afterMilliSecs)
+void DiffTextWindowData::myUpdate(int afterMilliSecs)
 {
-   killTimers();
+   m_pDiffTextWindow->killTimer( m_delayedDrawTimer );
    m_bMyUpdate = true;
-   startTimer( afterMilliSecs );
+   m_delayedDrawTimer = m_pDiffTextWindow->startTimer( afterMilliSecs );
 }
 
 void DiffTextWindow::timerEvent(QTimerEvent*)
 {
-   killTimers();
+   killTimer(d->m_delayedDrawTimer);
+   d->m_delayedDrawTimer = 0;
 
-   if ( m_bMyUpdate )
+   if ( d->m_bMyUpdate )
    {
-      paintEvent( 0 );
-      m_bMyUpdate = false;
+      int fontHeight = fontMetrics().height();
+
+      if ( d->m_selection.oldLastLine != -1 )
+      {
+         int lastLine;
+         int firstLine;
+         if ( d->m_selection.oldFirstLine != -1 )
+         {
+            firstLine = min3( d->m_selection.oldFirstLine, d->m_selection.lastLine, d->m_selection.oldLastLine );
+            lastLine = max3( d->m_selection.oldFirstLine, d->m_selection.lastLine, d->m_selection.oldLastLine );
+         }
+         else
+         {
+            firstLine = min2( d->m_selection.lastLine, d->m_selection.oldLastLine );
+            lastLine = max2( d->m_selection.lastLine, d->m_selection.oldLastLine );
+         }
+         int y1 = ( firstLine - d->m_firstLine ) * fontHeight;
+         int y2 = min2( height(), ( lastLine  - d->m_firstLine + 1 ) * fontHeight );
+
+         if ( y1<height() && y2>0 )
+         {
+            QRect invalidRect = QRect( 0, y1, width(), y2-y1 );
+            update( invalidRect );
+         }
+      }
+
+      d->m_bMyUpdate = false;
    }
 
-   if ( m_scrollDeltaX != 0 || m_scrollDeltaY != 0 )
+   if ( d->m_scrollDeltaX != 0 || d->m_scrollDeltaY != 0 )
    {
-      selection.end( selection.lastLine + m_scrollDeltaY, selection.lastPos +  m_scrollDeltaX );
-      emit scroll( m_scrollDeltaX, m_scrollDeltaY );
-      killTimers();
-      startTimer(50);
+      d->m_selection.end( d->m_selection.lastLine + d->m_scrollDeltaY, d->m_selection.lastPos +  d->m_scrollDeltaX );
+      emit scroll( d->m_scrollDeltaX, d->m_scrollDeltaY );
+      killTimer(d->m_delayedDrawTimer);
+      d->m_delayedDrawTimer = startTimer(50);
    }
 }
 
 void DiffTextWindow::resetSelection()
 {
-   selection.reset();
+   d->m_selection.reset();
    update();
 }
 
@@ -461,14 +620,12 @@
    const QFontMetrics& fm = fontMetrics();
    int fontHeight = fm.height();
    int fontWidth = fm.width('W');
-   int xOffset = (leftInfoWidth-m_firstColumn)*fontWidth;
+   int xOffset = ( d->leftInfoWidth() - d->m_firstColumn ) * fontWidth;
 
-   int topLineYOffset = fontHeight + 3;
-
-   int yOffset = topLineYOffset - m_firstLine * fontHeight;
+   int yOffset = - d->m_firstLine * fontHeight;
 
    line = ( y - yOffset ) / fontHeight;
-   if ( ! m_pOptionDialog->m_bRightToLeftLanguage )
+   if ( ! d->m_pOptionDialog->m_bRightToLeftLanguage )
       pos  = ( x - xOffset ) / fontWidth;
    else 
       pos  = ( (width() - 1 - x) - xOffset ) / fontWidth;
@@ -541,7 +698,7 @@
 }
 
 
-void DiffTextWindow::writeLine(
+void DiffTextWindowData::writeLine(
    MyPainter& p,
    const LineData* pld,
    const DiffList* pLineDiff1,
@@ -549,32 +706,35 @@
    int line,
    int whatChanged,
    int whatChanged2,
-   int srcLineNr,
+   int srcLineIdx,
    int wrapLineOffset,
    int wrapLineLength,
-   bool bWrapLine
+   bool bWrapLine,
+   const QRect& invalidRect,
+   int deviceWidth
    )
 {
-   QFont normalFont = font();
+   QFont normalFont = p.font();
    QFont diffFont = normalFont;
    diffFont.setItalic( m_pOptionDialog->m_bItalicForDeltas );
-   const QFontMetrics& fm = fontMetrics();
+   const QFontMetrics& fm = p.fontMetrics();
    int fontHeight = fm.height();
    int fontAscent = fm.ascent();
    int fontDescent = fm.descent();
    int fontWidth = fm.width('W');
-   int topLineYOffset = fontHeight + 3;
 
-   int xOffset = (leftInfoWidth - m_firstColumn)*fontWidth;
-   int yOffset = (line-m_firstLine) * fontHeight + topLineYOffset;
+   int xOffset = (leftInfoWidth() - m_firstColumn)*fontWidth;
+   int yOffset = (line-m_firstLine) * fontHeight;
 
-   QRect lineRect( 0, yOffset, width(), fontHeight );
-   if ( ! m_invalidRect.intersects( lineRect ) )
+   QRect lineRect( 0, yOffset, deviceWidth, fontHeight );
+   if ( ! invalidRect.intersects( lineRect ) )
+   {
       return;
+   }
 
-   int fastSelectorLine1 = convertDiff3LineIdxToLine(m_fastSelectorLine1);
-   int fastSelectorLine2 = convertDiff3LineIdxToLine(m_fastSelectorLine1+m_fastSelectorNofLines)-1;
-      
+   int fastSelectorLine1 = m_pDiffTextWindow->convertDiff3LineIdxToLine(m_fastSelectorLine1);
+   int fastSelectorLine2 = m_pDiffTextWindow->convertDiff3LineIdxToLine(m_fastSelectorLine1+m_fastSelectorNofLines)-1;
+
    bool bFastSelectionRange = (line>=fastSelectorLine1 && line<= fastSelectorLine2 );
    QColor bgColor = m_pOptionDialog->m_bgColor;
    QColor diffBgColor = m_pOptionDialog->m_diffBgColor;
@@ -585,8 +745,7 @@
       diffBgColor = m_pOptionDialog->m_currentRangeDiffBgColor;
    }
 
-//   QRect winRect = rect(); //p.window();
-   if ( yOffset+fontHeight<0  ||  height() + fontHeight < yOffset )
+   if ( yOffset+fontHeight<invalidRect.top()  ||  invalidRect.bottom() < yOffset-fontHeight )
       return;
 
    int changed = whatChanged;
@@ -602,7 +761,7 @@
       c = m_cDiffBoth;
    }
 
-   p.fillRect( leftInfoWidth*fontWidth, yOffset, width(), fontHeight, bgColor );
+   p.fillRect( leftInfoWidth()*fontWidth, yOffset, deviceWidth, fontHeight, bgColor );
 
    if (pld!=0)
    {
@@ -626,17 +785,17 @@
       QString s=" ";
       // Convert tabs
       int outPos = 0;
-            
+
       QString lineString( pld->pLine, pld->size );
       int lineLength = m_bWordWrap ? wrapLineOffset+wrapLineLength : lineString.length();
-      
+
       for( i=wrapLineOffset; i<lineLength; ++i )
       {
          int spaces = 1;
 
          if ( lineString[i]=='\t' )
          {
-            spaces = tabber( outPos, g_tabSize );
+            spaces = tabber( outPos, m_pOptionDialog->m_tabSize );
             s[0] = ' ';
          }
          else
@@ -663,10 +822,10 @@
 
          QRect outRect( xOffset + fontWidth*outPos, yOffset, fontWidth*spaces, fontHeight );
          if ( m_pOptionDialog->m_bRightToLeftLanguage )
-            outRect = QRect( width()-1-(xOffset + fontWidth*outPos), yOffset, -fontWidth*spaces, fontHeight ).normalize();
-         if ( m_invalidRect.intersects( outRect ) )
+            outRect = QRect( deviceWidth-1-(xOffset + fontWidth*outPos), yOffset, -fontWidth*spaces, fontHeight ).normalize();
+         if ( invalidRect.intersects( outRect ) )
          {
-            if( !selection.within( line, outPos ) )
+            if( !m_selection.within( line, outPos ) )
             {
 
                if( c!=m_pOptionDialog->m_fgColor )
@@ -683,7 +842,8 @@
                   if ( m_pOptionDialog->m_bShowWhiteSpaceCharacters && m_pOptionDialog->m_bShowWhiteSpace)
                   {
                      p.fillRect( xOffset + fontWidth*outPos, yOffset+fontAscent,
-                                 fontWidth*spaces-1, fontDescent+1, c );
+                                 fontWidth*spaces-1, fontDescent, c );  // QT3
+                                 //fontWidth*spaces-1, fontDescent, c );  // QT4
                   }
                }
                else
@@ -695,26 +855,26 @@
             else
             {
                p.fillRect( xOffset + fontWidth*outPos, yOffset,
-                           fontWidth*(spaces), fontHeight, colorGroup().highlight() );
+                           fontWidth*(spaces), fontHeight, m_pDiffTextWindow->colorGroup().highlight() );
 
-               p.setPen( colorGroup().highlightedText() );
+               p.setPen( m_pDiffTextWindow->colorGroup().highlightedText() );
                p.drawText( xOffset + fontWidth*outPos, yOffset + fontAscent, s );
 
-               selection.bSelectionContainsData = true;
+               m_selection.bSelectionContainsData = true;
             }
          }
 
          outPos += spaces;
       }
 
-      if( selection.lineWithin( line ) && selection.lineWithin( line+1 ) )
+      if( m_selection.lineWithin( line ) && m_selection.lineWithin( line+1 ) )
       {
          p.fillRect( xOffset + fontWidth*outPos, yOffset,
-                     width(), fontHeight, colorGroup().highlight() );
+                     deviceWidth, fontHeight, m_pDiffTextWindow->colorGroup().highlight() );
       }
    }
 
-   p.fillRect( 0, yOffset, leftInfoWidth*fontWidth, fontHeight, m_pOptionDialog->m_bgColor );
+   p.fillRect( 0, yOffset, leftInfoWidth()*fontWidth, fontHeight, m_pOptionDialog->m_bgColor );
 
    xOffset = (m_lineNumberWidth+2)*fontWidth;
    int xLeft =   m_lineNumberWidth*fontWidth;
@@ -724,15 +884,15 @@
       if ( m_pOptionDialog->m_bShowLineNumbers && !bWrapLine )
       {
          QString num;
-         num.sprintf( "%0*d", m_lineNumberWidth, srcLineNr);
+         num.sprintf( "%0*d", m_lineNumberWidth, srcLineIdx+1);
          p.drawText( 0, yOffset + fontAscent, num );
          //p.drawLine( xLeft -1, yOffset, xLeft -1, yOffset+fontHeight-1 );
       }
       if ( !bWrapLine || wrapLineLength>0 )
       {
-         p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, bWrapLine ? DotLine : SolidLine) );
+         p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, bWrapLine ? Qt::DotLine : Qt::SolidLine) );
          p.drawLine( xOffset +1, yOffset, xOffset +1, yOffset+fontHeight-1 );
-         p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, SolidLine) );
+         p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, Qt::SolidLine) );
       }
    }
    if ( c!=m_pOptionDialog->m_fgColor && whatChanged2==0 )//&& whatChanged==0 )
@@ -740,7 +900,7 @@
       if ( m_pOptionDialog->m_bShowWhiteSpace )
       {
          p.setBrushOrigin(0,0);
-         p.fillRect( xLeft, yOffset, fontWidth*2-1, fontHeight, QBrush(c,Dense5Pattern) );
+         p.fillRect( xLeft, yOffset, fontWidth*2-1, fontHeight, QBrush(c,Qt::Dense5Pattern) );
       }
    }
    else
@@ -752,21 +912,98 @@
    {
       p.fillRect( xOffset + fontWidth-1, yOffset, 3, fontHeight, m_pOptionDialog->m_fgColor );
    }
+
+   // Check if line needs a manual diff help mark
+   ManualDiffHelpList::const_iterator ci;
+   for( ci = m_pManualDiffHelpList->begin(); ci!=m_pManualDiffHelpList->end(); ++ci)
+   {
+      const ManualDiffHelpEntry& mdhe=*ci;
+      int rangeLine1 = -1;
+      int rangeLine2 = -1;
+      if (m_winIdx==1 ) { rangeLine1 = mdhe.lineA1; rangeLine2= mdhe.lineA2; }
+      if (m_winIdx==2 ) { rangeLine1 = mdhe.lineB1; rangeLine2= mdhe.lineB2; }
+      if (m_winIdx==3 ) { rangeLine1 = mdhe.lineC1; rangeLine2= mdhe.lineC2; }
+      if ( rangeLine1>=0 && rangeLine2>=0 && srcLineIdx >= rangeLine1 && srcLineIdx <= rangeLine2 )
+      {
+         p.fillRect( xOffset - fontWidth, yOffset, fontWidth-1, fontHeight, m_pOptionDialog->m_manualHelpRangeColor );
+         break;
+      }
+   }
 }
 
 void DiffTextWindow::paintEvent( QPaintEvent* e )
 {
-   if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed ||
-        ( m_diff3WrapLineVector.empty() && m_bWordWrap ) ) 
+   if ( d->m_pDiff3LineVector==0 || ! d->m_bPaintingAllowed ||
+        ( d->m_diff3WrapLineVector.empty() && d->m_bWordWrap ) ) 
       return;
 
+   QRect invalidRect = e->rect();
+   if ( invalidRect.isEmpty() )
+      return;
+
+   bool bOldSelectionContainsData = d->m_selection.bSelectionContainsData;
+   d->m_selection.bSelectionContainsData = false;
+
+   int endLine = min2( d->m_firstLine + getNofVisibleLines()+2, getNofLines() );
+
+   //if ( invalidRect.size()==size() )
+   {  // double buffering, obsolete with Qt4
+      QPainter painter(this); // Remove for Qt4
+      QPixmap pixmap( invalidRect.size() );// Remove for Qt4
+
+      MyPainter p( &pixmap, d->m_pOptionDialog->m_bRightToLeftLanguage, width(), fontMetrics().width('W') ); // For Qt4 change pixmap to this
+
+      p.translate( -invalidRect.x(), -invalidRect.y() );// Remove for Qt4
+
+      p.setFont( font() );
+      p.QPainter::fillRect( invalidRect, d->m_pOptionDialog->m_bgColor );
+
+      d->draw( p, invalidRect, width(), d->m_firstLine, endLine );
+      // p.drawLine( m_invalidRect.x(), m_invalidRect.y(), m_invalidRect.right(), m_invalidRect.bottom() ); // For test only
+      p.end();
+
+      painter.drawPixmap( invalidRect.x(), invalidRect.y(), pixmap );// Remove for Qt4
+   }
+//    else
+//    {  // no double buffering
+//       MyPainter p( this, d->m_pOptionDialog->m_bRightToLeftLanguage, width(), fontMetrics().width('W') );
+//       p.setFont( font() );
+//       p.QPainter::fillRect( invalidRect, d->m_pOptionDialog->m_bgColor );
+//       d->draw( p, invalidRect, width(), d->m_firstLine, endLine );
+//    }
+
+
+   d->m_oldFirstLine = d->m_firstLine;
+   d->m_oldFirstColumn = d->m_firstColumn;
+   d->m_selection.oldLastLine = -1;
+   if ( d->m_selection.oldFirstLine !=-1 )
+      d->m_selection.oldFirstLine = -1;
+
+   if( !bOldSelectionContainsData  &&  d->m_selection.bSelectionContainsData )
+      emit newSelection();
+}
+
+void DiffTextWindow::print( MyPainter& p, const QRect&, int firstLine, int nofLinesPerPage )
+{
+   if ( d->m_pDiff3LineVector==0 || ! d->m_bPaintingAllowed ||
+        ( d->m_diff3WrapLineVector.empty() && d->m_bWordWrap ) ) 
+      return;
+   resetSelection();
+//   MyPainter p( this, d->m_pOptionDialog->m_bRightToLeftLanguage, width(), fontMetrics().width('W') );
+   int oldFirstLine = d->m_firstLine;
+   d->m_firstLine = firstLine;
+   QRect invalidRect = QRect(0,0,QCOORD_MAX,QCOORD_MAX);
+   QColor bgColor = d->m_pOptionDialog->m_bgColor;
+   d->m_pOptionDialog->m_bgColor = Qt::white;
+   d->draw( p, invalidRect, p.window().width(), firstLine, min2(firstLine+nofLinesPerPage,getNofLines()) );
+   d->m_pOptionDialog->m_bgColor = bgColor;
+   d->m_firstLine = oldFirstLine;
+}
+
+void DiffTextWindowData::draw( MyPainter& p, const QRect& invalidRect, int deviceWidth, int beginLine, int endLine )
+{
    m_lineNumberWidth =  m_pOptionDialog->m_bShowLineNumbers ? (int)log10((double)m_size)+1 : 0;
 
-   if (e!=0)
-   {
-      m_invalidRect |= e->rect();
-   }
-
    if ( m_winIdx==1 )
    {
       m_cThis = m_pOptionDialog->m_colorA;
@@ -787,96 +1024,9 @@
    }
    m_cDiffBoth = m_pOptionDialog->m_colorForConflict;  // Conflict color
 
-   bool bOldSelectionContainsData = selection.bSelectionContainsData;
-   selection.bSelectionContainsData = false;
+   p.setPen( m_cThis );
 
-   int fontHeight = fontMetrics().height();
-   int fontAscent = fontMetrics().ascent();
-//   int fontDescent = fontMetrics().descent();
-
-   int topLineYOffset = fontHeight + 3;
-
-   if ( selection.oldLastLine != -1 )
-   {
-      int lastLine;
-      int firstLine;
-      if ( selection.oldFirstLine != -1 )
-      {
-         firstLine = min3( selection.oldFirstLine, selection.lastLine, selection.oldLastLine );
-         lastLine = max3( selection.oldFirstLine, selection.lastLine, selection.oldLastLine );
-      }
-      else
-      {
-         firstLine = min2( selection.lastLine, selection.oldLastLine );
-         lastLine = max2( selection.lastLine, selection.oldLastLine );
-      }
-      int y1 = topLineYOffset + ( firstLine - m_firstLine ) * fontHeight;
-      int y2 = min2( height(),
-                     topLineYOffset + ( lastLine  - m_firstLine + 1 ) * fontHeight );
-
-      if ( y1<height() && y2>topLineYOffset )
-      {
-         m_invalidRect |= QRect( 0, y1, width(), y2-y1 );
-      }
-   }
-
-   if ( m_invalidRect.isEmpty() )
-      return;
-
-   QPainter painter(this);
-   //QPainter& p=painter;
-   QPixmap pixmap( m_invalidRect.size() );
-   MyPainter p( &pixmap, m_pOptionDialog->m_bRightToLeftLanguage, width(), fontMetrics().width('W') );
-      
-   p.translate( -m_invalidRect.x(), -m_invalidRect.y() );
-
-   p.QPainter::fillRect( m_invalidRect, m_pOptionDialog->m_bgColor );
-
-   p.setFont( font() );
-
-   p.setPen( m_cThis );
-   if( m_invalidRect.intersects( QRect(0,0,width(), topLineYOffset ) )
-      || m_firstLine != m_oldFirstLine )
-   {
-      int l=-1;
-      for ( int i = convertLineToDiff3LineIdx(m_firstLine); i<(int)m_pDiff3LineVector->size(); ++i )
-      {
-         const Diff3Line* d3l = (*m_pDiff3LineVector)[i];
-         if      ( m_winIdx==1 ) l=d3l->lineA;
-         else if ( m_winIdx==2 ) l=d3l->lineB;
-         else if ( m_winIdx==3 ) l=d3l->lineC;
-         else assert(false);
-         if (l!=-1) break;
-      }
-
-      const char* winId = (   m_winIdx==1 ? (m_bTriple?"A (Base)":"A") :
-                            ( m_winIdx==2 ? "B" : "C" ) );
-
-      QString s = QString(" ")+ winId + " : " + m_filename + " : ";
-      if ( l!=-1 )
-         s += i18n("Top line %1").arg( l+1 );
-      else
-         s += i18n("End");
-
-      if (hasFocus())
-      {
-         painter.fillRect( 0, 0, width(), topLineYOffset, m_cThis );
-         painter.setPen( m_pOptionDialog->m_bgColor );
-         painter.drawText( 0, fontAscent+1, s );
-      }
-      else
-      {
-         painter.fillRect( 0, 0, width(), topLineYOffset, m_pOptionDialog->m_bgColor );
-         painter.setPen( m_cThis );
-         painter.drawLine( 0, fontHeight + 2, width(), fontHeight + 2 );
-         painter.drawText( 0, fontAscent+1, s );
-      }
-   }
-
-   int lastVisibleLine = min2( m_firstLine + getNofVisibleLines()+2, 
-      (int)(m_bWordWrap ? m_diff3WrapLineVector.size() : m_pDiff3LineVector->size()) );
-
-   for ( int line = m_firstLine; line<lastVisibleLine; ++line )
+   for ( int line = beginLine; line<endLine; ++line )
    {
       int wrapLineOffset=0;
       int wrapLineLength=0;
@@ -898,44 +1048,29 @@
       DiffList* pFineDiff2;
       int changed=0;
       int changed2=0;
-      int lineIdx;
 
-      getLineInfo( *d3l, lineIdx, pFineDiff1, pFineDiff2, changed, changed2 );
+      int srcLineIdx=-1;
+      getLineInfo( *d3l, srcLineIdx, pFineDiff1, pFineDiff2, changed, changed2 );
 
       writeLine(
          p,                         // QPainter
-         lineIdx == -1 ? 0 : &m_pLineData[lineIdx],     // Text in this line
+         srcLineIdx == -1 ? 0 : &m_pLineData[srcLineIdx],     // Text in this line
          pFineDiff1,
          pFineDiff2,
          line,                      // Line on the screen
          changed,
          changed2,
-         lineIdx+1,
+         srcLineIdx,
          wrapLineOffset,
          wrapLineLength,
-         bWrapLine
+         bWrapLine,
+         invalidRect,
+         deviceWidth
          );
    }
-   
-   // p.drawLine( m_invalidRect.x(), m_invalidRect.y(), m_invalidRect.right(), m_invalidRect.bottom() );
-   p.end();
-
-   painter.setClipRect ( 0, topLineYOffset, width(), height()-topLineYOffset );
-
-   painter.drawPixmap( m_invalidRect.x(), m_invalidRect.y(), pixmap );
-
-   m_oldFirstLine = m_firstLine;
-   m_oldFirstColumn = m_firstColumn;
-   m_invalidRect = QRect(0,0,0,0);
-   selection.oldLastLine = -1;
-   if ( selection.oldFirstLine !=-1 )
-      selection.oldFirstLine = -1;
-   if( !bOldSelectionContainsData  &&  selection.bSelectionContainsData )
-      emit newSelection();
-
 }
 
-QString DiffTextWindow::getString( int d3lIdx )
+QString DiffTextWindowData::getString( int d3lIdx )
 {
    const Diff3Line* d3l = (*m_pDiff3LineVector)[d3lIdx];
    DiffList* pFineDiff1;
@@ -954,11 +1089,11 @@
    return QString();
 }
 
-QString DiffTextWindow::getLineString( int line )
+QString DiffTextWindowData::getLineString( int line )
 {
    if ( m_bWordWrap )
    {
-      int d3LIdx = convertLineToDiff3LineIdx(line);
+      int d3LIdx = m_pDiffTextWindow->convertLineToDiff3LineIdx(line);
       return getString( d3LIdx ).mid( m_diff3WrapLineVector[line].wrapLineOffset, m_diff3WrapLineVector[line].wrapLineLength );
    }
    else
@@ -967,8 +1102,8 @@
    }
 }
 
-void DiffTextWindow::getLineInfo(
-   const Diff3Line& d,
+void DiffTextWindowData::getLineInfo(
+   const Diff3Line& d3l,
    int& lineIdx,
    DiffList*& pFineDiff1, DiffList*& pFineDiff2,   // return values
    int& changed, int& changed2
@@ -976,31 +1111,31 @@
 {
    changed=0;
    changed2=0;
-   bool bAEqB = d.bAEqB || ( d.bWhiteLineA && d.bWhiteLineB );
-   bool bAEqC = d.bAEqC || ( d.bWhiteLineA && d.bWhiteLineC );
-   bool bBEqC = d.bBEqC || ( d.bWhiteLineB && d.bWhiteLineC );
+   bool bAEqB = d3l.bAEqB || ( d3l.bWhiteLineA && d3l.bWhiteLineB );
+   bool bAEqC = d3l.bAEqC || ( d3l.bWhiteLineA && d3l.bWhiteLineC );
+   bool bBEqC = d3l.bBEqC || ( d3l.bWhiteLineB && d3l.bWhiteLineC );
    if      ( m_winIdx == 1 ) {
-      lineIdx=d.lineA;
-      pFineDiff1=d.pFineAB;
-      pFineDiff2=d.pFineCA;
-      changed |= ((d.lineB==-1)!=(lineIdx==-1) ? 1 : 0) +
-                 ((d.lineC==-1)!=(lineIdx==-1) && m_bTriple ? 2 : 0);
+      lineIdx=d3l.lineA;
+      pFineDiff1=d3l.pFineAB;
+      pFineDiff2=d3l.pFineCA;
+      changed |= ((d3l.lineB==-1)!=(lineIdx==-1) ? 1 : 0) +
+                 ((d3l.lineC==-1)!=(lineIdx==-1) && m_bTriple ? 2 : 0);
       changed2 |= ( bAEqB ? 0 : 1 ) + (bAEqC || !m_bTriple ? 0 : 2);
    }
    else if ( m_winIdx == 2 ) {
-      lineIdx=d.lineB;
-      pFineDiff1=d.pFineBC;
-      pFineDiff2=d.pFineAB;
-      changed |= ((d.lineC==-1)!=(lineIdx==-1) && m_bTriple ? 1 : 0) +
-                 ((d.lineA==-1)!=(lineIdx==-1) ? 2 : 0);
+      lineIdx=d3l.lineB;
+      pFineDiff1=d3l.pFineBC;
+      pFineDiff2=d3l.pFineAB;
+      changed |= ((d3l.lineC==-1)!=(lineIdx==-1) && m_bTriple ? 1 : 0) +
+                 ((d3l.lineA==-1)!=(lineIdx==-1) ? 2 : 0);
       changed2 |= ( bBEqC || !m_bTriple ? 0 : 1 ) + (bAEqB ? 0 : 2);
    }
    else if ( m_winIdx == 3 ) {
-      lineIdx=d.lineC;
-      pFineDiff1=d.pFineCA;
-      pFineDiff2=d.pFineBC;
-      changed |= ((d.lineA==-1)!=(lineIdx==-1) ? 1 : 0) +
-                 ((d.lineB==-1)!=(lineIdx==-1) ? 2 : 0);
+      lineIdx=d3l.lineC;
+      pFineDiff1=d3l.pFineCA;
+      pFineDiff2=d3l.pFineBC;
+      changed |= ((d3l.lineA==-1)!=(lineIdx==-1) ? 1 : 0) +
+                 ((d3l.lineB==-1)!=(lineIdx==-1) ? 2 : 0);
       changed2 |= ( bAEqC ? 0 : 1 ) + (bBEqC ? 0 : 2);
    }
    else assert(false);
@@ -1013,7 +1148,7 @@
    QSize s = e->size();
    QFontMetrics fm = fontMetrics();
    int visibleLines = s.height()/fm.height()-2;
-   int visibleColumns = s.width()/fm.width('W')-leftInfoWidth;
+   int visibleColumns = s.width()/fm.width('W') - d->leftInfoWidth();
    emit resizeSignal( visibleColumns, visibleLines );
    QWidget::resizeEvent(e);
 }
@@ -1023,13 +1158,13 @@
    QFontMetrics fm = fontMetrics();
    int fmh = fm.height();
    int h = height();
-   return h/fmh -2;//height()/fm.height()-2;
+   return h/fmh -1;//height()/fm.height()-2;
 }
 
 int DiffTextWindow::getNofVisibleColumns()
 {
    QFontMetrics fm = fontMetrics();
-   return width()/fm.width('W')-leftInfoWidth;
+   return width()/fm.width('W') - d->leftInfoWidth();
 }
 
 QString DiffTextWindow::getSelection()
@@ -1040,25 +1175,25 @@
    int lineIdx=0;
 
    int it;
-   int vectorSize = m_bWordWrap ? m_diff3WrapLineVector.size() : m_pDiff3LineVector->size();
+   int vectorSize = d->m_bWordWrap ? d->m_diff3WrapLineVector.size() : d->m_pDiff3LineVector->size();
    for( it=0; it<vectorSize; ++it )
    {
-      const Diff3Line* d = m_bWordWrap ? m_diff3WrapLineVector[it].pD3L : (*m_pDiff3LineVector)[it];
-      if      ( m_winIdx == 1 ) {    lineIdx=d->lineA;     }
-      else if ( m_winIdx == 2 ) {    lineIdx=d->lineB;     }
-      else if ( m_winIdx == 3 ) {    lineIdx=d->lineC;     }
+      const Diff3Line* d3l = d->m_bWordWrap ? d->m_diff3WrapLineVector[it].pD3L : (*d->m_pDiff3LineVector)[it];
+      if      ( d->m_winIdx == 1 ) {    lineIdx=d3l->lineA;     }
+      else if ( d->m_winIdx == 2 ) {    lineIdx=d3l->lineB;     }
+      else if ( d->m_winIdx == 3 ) {    lineIdx=d3l->lineC;     }
       else assert(false);
 
       if( lineIdx != -1 )
-      {  
-         const QChar* pLine = m_pLineData[lineIdx].pLine;
-         int size = m_pLineData[lineIdx].size;
+      {
+         const QChar* pLine = d->m_pLineData[lineIdx].pLine;
+         int size = d->m_pLineData[lineIdx].size;
          QString lineString = QString( pLine, size );
-         
-         if ( m_bWordWrap )
+
+         if ( d->m_bWordWrap )
          {
-            size = m_diff3WrapLineVector[it].wrapLineLength;
-            lineString = lineString.mid( m_diff3WrapLineVector[it].wrapLineOffset, size );
+            size = d->m_diff3WrapLineVector[it].wrapLineLength;
+            lineString = lineString.mid( d->m_diff3WrapLineVector[it].wrapLineOffset, size );
          }
 
          // Consider tabs
@@ -1068,19 +1203,19 @@
             int spaces = 1;
             if ( lineString[i]=='\t' )
             {
-               spaces = tabber( outPos, g_tabSize );
+               spaces = tabber( outPos, d->m_pOptionDialog->m_tabSize );
             }
 
-            if( selection.within( line, outPos ) )
+            if( d->m_selection.within( line, outPos ) )
             {
                selectionString += lineString[i];
             }
 
             outPos += spaces;
-         }         
+         }
 
-         if( selection.within( line, outPos ) &&
-            !( m_bWordWrap && it+1<vectorSize && d == m_diff3WrapLineVector[it+1].pD3L ) 
+         if( d->m_selection.within( line, outPos ) &&
+            !( d->m_bWordWrap && it+1<vectorSize && d3l == d->m_diff3WrapLineVector[it+1].pD3L ) 
            )
          {
             #ifdef _WIN32
@@ -1099,13 +1234,13 @@
 bool DiffTextWindow::findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive )
 {
    int it = d3vLine;
-   int endIt = bDirDown ? (int)m_pDiff3LineVector->size() : -1;
+   int endIt = bDirDown ? (int)d->m_pDiff3LineVector->size() : -1;
    int step =  bDirDown ? 1 : -1;
    int startPos = posInLine;
 
    for( ; it!=endIt; it+=step )
    {
-      QString line = getString( it );
+      QString line = d->getString( it );
       if ( !line.isEmpty() )
       {
          int pos = line.find( s, startPos, bCaseSensitive );
@@ -1116,7 +1251,7 @@
             return true;
          }
 
-         startPos = 0;         
+         startPos = 0;
       }
    }
    return false;
@@ -1124,13 +1259,13 @@
 
 void DiffTextWindow::convertD3LCoordsToLineCoords( int d3LIdx, int d3LPos, int& line, int& pos )
 {
-   if( m_bWordWrap )
+   if( d->m_bWordWrap )
    {
       int wrapPos = d3LPos;
       int wrapLine = convertDiff3LineIdxToLine(d3LIdx);
-      while ( wrapPos > m_diff3WrapLineVector[wrapLine].wrapLineLength )
+      while ( wrapPos > d->m_diff3WrapLineVector[wrapLine].wrapLineLength )
       {
-         wrapPos -= m_diff3WrapLineVector[wrapLine].wrapLineLength;
+         wrapPos -= d->m_diff3WrapLineVector[wrapLine].wrapLineLength;
          ++wrapLine;
       }
       pos = wrapPos;
@@ -1145,14 +1280,14 @@
 
 void DiffTextWindow::convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos )
 {
-   if( m_bWordWrap )
+   if( d->m_bWordWrap )
    {
       d3LPos = pos;
       d3LIdx = convertLineToDiff3LineIdx( line );
       int wrapLine = convertDiff3LineIdxToLine(d3LIdx); // First wrap line belonging to this d3LIdx
       while ( wrapLine < line )
       {
-         d3LPos += m_diff3WrapLineVector[wrapLine].wrapLineLength;
+         d3LPos += d->m_diff3WrapLineVector[wrapLine].wrapLineLength;
          ++wrapLine;
       }
    }
@@ -1166,55 +1301,102 @@
 
 void DiffTextWindow::setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p )
 {
-   selection.reset();
-   if ( m_bWordWrap && m_pDiff3LineVector!=0 )
-   {      
-      QString s1 = getString(firstLine);
+   d->m_selection.reset();
+   if ( lastLine >= getNofLines() )
+   {
+      lastLine = getNofLines()-1;
+
+      const Diff3Line* d3l = (*d->m_pDiff3LineVector)[convertLineToDiff3LineIdx(lastLine)];
+      int line = -1;
+      if ( d->m_winIdx==1 ) line = d3l->lineA;
+      if ( d->m_winIdx==2 ) line = d3l->lineB;
+      if ( d->m_winIdx==3 ) line = d3l->lineC;
+      if (line>=0)
+         endPos = d->m_pLineData[line].width( d->m_pOptionDialog->m_tabSize);
+   }
+
+   if ( d->m_bWordWrap && d->m_pDiff3LineVector!=0 )
+   {
+      QString s1 = d->getString(firstLine);
       int firstWrapLine = convertDiff3LineIdxToLine(firstLine);
       int wrapStartPos = startPos;
-      while ( wrapStartPos > m_diff3WrapLineVector[firstWrapLine].wrapLineLength )
+      while ( wrapStartPos > d->m_diff3WrapLineVector[firstWrapLine].wrapLineLength )
       {
-         wrapStartPos -= m_diff3WrapLineVector[firstWrapLine].wrapLineLength;
-         s1 = s1.mid(m_diff3WrapLineVector[firstWrapLine].wrapLineLength);
+         wrapStartPos -= d->m_diff3WrapLineVector[firstWrapLine].wrapLineLength;
+         s1 = s1.mid(d->m_diff3WrapLineVector[firstWrapLine].wrapLineLength);
          ++firstWrapLine;
       }
 
-      QString s2 = getString(lastLine);
+      QString s2 = d->getString(lastLine);
       int lastWrapLine = convertDiff3LineIdxToLine(lastLine);
       int wrapEndPos = endPos;
-      while ( wrapEndPos > m_diff3WrapLineVector[lastWrapLine].wrapLineLength )
+      while ( wrapEndPos > d->m_diff3WrapLineVector[lastWrapLine].wrapLineLength )
       {
-         wrapEndPos -= m_diff3WrapLineVector[lastWrapLine].wrapLineLength;
-         s2 = s2.mid(m_diff3WrapLineVector[lastWrapLine].wrapLineLength);
+         wrapEndPos -= d->m_diff3WrapLineVector[lastWrapLine].wrapLineLength;
+         s2 = s2.mid(d->m_diff3WrapLineVector[lastWrapLine].wrapLineLength);
          ++lastWrapLine;
       }
 
-      selection.start( firstWrapLine, convertToPosOnScreen( s1, wrapStartPos ) );
-      selection.end( lastWrapLine, convertToPosOnScreen( s2, wrapEndPos ) );
+      d->m_selection.start( firstWrapLine, convertToPosOnScreen( s1, wrapStartPos, d->m_pOptionDialog->m_tabSize ) );
+      d->m_selection.end( lastWrapLine, convertToPosOnScreen( s2, wrapEndPos, d->m_pOptionDialog->m_tabSize ) );
       l=firstWrapLine;
       p=wrapStartPos;
    }
    else
    {
-      selection.start( firstLine, convertToPosOnScreen( getString(firstLine), startPos ) );
-      selection.end( lastLine, convertToPosOnScreen( getString(lastLine), endPos ) );
+      d->m_selection.start( firstLine, convertToPosOnScreen( d->getString(firstLine), startPos, d->m_pOptionDialog->m_tabSize ) );
+      d->m_selection.end( lastLine, convertToPosOnScreen( d->getString(lastLine), endPos, d->m_pOptionDialog->m_tabSize ) );
       l=firstLine;
       p=startPos;
    }
    update();
 }
 
+int DiffTextWindowData::convertLineOnScreenToLineInSource( int lineOnScreen, e_CoordType coordType, bool bFirstLine )
+{
+   int line=-1;
+   if (lineOnScreen>=0)
+   {
+      if (coordType==eWrapCoords) return lineOnScreen;
+      int d3lIdx = m_pDiffTextWindow->convertLineToDiff3LineIdx( lineOnScreen );
+      if ( !bFirstLine && d3lIdx >= (int)m_pDiff3LineVector->size() )
+         d3lIdx = m_pDiff3LineVector->size()-1;
+      if (coordType==eD3LLineCoords) return d3lIdx;
+      while ( line<0 && d3lIdx<(int)m_pDiff3LineVector->size() && d3lIdx>=0 )
+      {
+         const Diff3Line* d3l = (*m_pDiff3LineVector)[d3lIdx];
+         if ( m_winIdx==1 ) line = d3l->lineA;
+         if ( m_winIdx==2 ) line = d3l->lineB;
+         if ( m_winIdx==3 ) line = d3l->lineC;
+         if ( bFirstLine )
+            ++d3lIdx;
+         else
+            --d3lIdx;
+      }
+      if (coordType==eFileCoords) return line;
+   }
+   return line;
+}
+
+
+void DiffTextWindow::getSelectionRange( int* pFirstLine, int* pLastLine, e_CoordType coordType )
+{
+   if (pFirstLine)
+      *pFirstLine = d->convertLineOnScreenToLineInSource( d->m_selection.beginLine(), coordType, true );
+   if (pLastLine)
+      *pLastLine = d->convertLineOnScreenToLineInSource( d->m_selection.endLine(), coordType, false );
+}
 
 // Returns the number of wrapped lines
 // if pWrappedLines != 0 then the stringlist will contain the wrapped lines.
 int wordWrap( const QString& origLine, int nofColumns, Diff3WrapLine* pDiff3WrapLine )
-{      
+{
    if (nofColumns<=0)
       nofColumns = 1;
-      
+
    int nofNeededLines = 0;
    int length = origLine.length();
-   
+
    if (length==0)
    {
       nofNeededLines = 1;
@@ -1225,103 +1407,106 @@
       }
    }
    else
-   {   
+   {
       int pos = 0;
-      
+
       while ( pos < length )
       {
          int wrapPos = pos + nofColumns;
-         
+
          if ( length-pos <= nofColumns  )
          {
             wrapPos = length;
          }
          else
-         {      
+         {
             int wsPos = max2( origLine.findRev( ' ', wrapPos ), origLine.findRev( '\t', wrapPos ) );
-            
+
             if ( wsPos > pos )
             {
                // Wrap line at wsPos
                wrapPos = wsPos;
             }
          }
-         
+
          if ( pDiff3WrapLine )
          {
             pDiff3WrapLine->wrapLineOffset = pos;
             pDiff3WrapLine->wrapLineLength = wrapPos-pos;
             ++pDiff3WrapLine;
          }
-         
+
          pos = wrapPos;
-         
+
          ++nofNeededLines;
       }
    }
-   return nofNeededLines;   
+   return nofNeededLines;
 }
 
 void DiffTextWindow::convertSelectionToD3LCoords()
 {
-   if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed || !isVisible() || selection.isEmpty() )
+   if ( d->m_pDiff3LineVector==0 || ! d->m_bPaintingAllowed || !isVisible() || d->m_selection.isEmpty() )
    {
       return;
    }
 
-   // convert the selection to unwrapped coordinates: Later restore to new coords
+   // convert the d->m_selection to unwrapped coordinates: Later restore to new coords
    int firstD3LIdx, firstD3LPos;
-   QString s = getLineString( selection.beginLine() );
-   int firstPosInText = convertToPosInText( s, selection.beginPos() );
-   convertLineCoordsToD3LCoords( selection.beginLine(), firstPosInText, firstD3LIdx, firstD3LPos );
-   
+   QString s = d->getLineString( d->m_selection.beginLine() );
+   int firstPosInText = convertToPosInText( s, d->m_selection.beginPos(), d->m_pOptionDialog->m_tabSize );
+   convertLineCoordsToD3LCoords( d->m_selection.beginLine(), firstPosInText, firstD3LIdx, firstD3LPos );
+
    int lastD3LIdx, lastD3LPos;
-   s = getLineString( selection.endLine() );
-   int lastPosInText = convertToPosInText( s, selection.endPos() );
-   convertLineCoordsToD3LCoords( selection.endLine(), lastPosInText, lastD3LIdx, lastD3LPos );
-   
-   //selection.reset();
-   selection.start( firstD3LIdx, firstD3LPos );
-   selection.end( lastD3LIdx, lastD3LPos );
+   s = d->getLineString( d->m_selection.endLine() );
+   int lastPosInText = convertToPosInText( s, d->m_selection.endPos(), d->m_pOptionDialog->m_tabSize );
+   convertLineCoordsToD3LCoords( d->m_selection.endLine(), lastPosInText, lastD3LIdx, lastD3LPos );
+
+   //d->m_selection.reset();
+   d->m_selection.start( firstD3LIdx, firstD3LPos );
+   d->m_selection.end( lastD3LIdx, lastD3LPos );
 }
 
-void DiffTextWindow::recalcWordWrap( bool bWordWrap, int wrapLineVectorSize )
-{   
-   if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed || !isVisible() )
+void DiffTextWindow::recalcWordWrap( bool bWordWrap, int wrapLineVectorSize, int nofVisibleColumns )
+{
+   if ( d->m_pDiff3LineVector==0 || ! d->m_bPaintingAllowed || !isVisible() )
    {
-      m_bWordWrap = bWordWrap;
-      if (!bWordWrap)  m_diff3WrapLineVector.resize( 0 );
+      d->m_bWordWrap = bWordWrap;
+      if (!bWordWrap)  d->m_diff3WrapLineVector.resize( 0 );
       return;
    }
-   
-   m_bWordWrap = bWordWrap;
-   
+
+   d->m_bWordWrap = bWordWrap;
+
    if ( bWordWrap )
-   {                  
-      m_diff3WrapLineVector.resize( wrapLineVectorSize );      
-      
-      int nofVisibleColumns = getNofVisibleColumns();
+   {
+      d->m_diff3WrapLineVector.resize( wrapLineVectorSize );
+
+      if (nofVisibleColumns<0)
+         nofVisibleColumns = getNofVisibleColumns();
+      else
+         nofVisibleColumns-= d->leftInfoWidth();
       int i;
       int wrapLineIdx = 0;
-      int size = m_pDiff3LineVector->size();
+      int size = d->m_pDiff3LineVector->size();
       for( i=0; i<size; ++i )
       {
-         QString s = getString( i );
-         int linesNeeded = wordWrap( s, nofVisibleColumns, wrapLineVectorSize==0 ? 0 : &m_diff3WrapLineVector[wrapLineIdx] );
-         Diff3Line& d3l = *(*m_pDiff3LineVector)[i];
+         QString s = d->getString( i );
+         int linesNeeded = wordWrap( s, nofVisibleColumns, wrapLineVectorSize==0 ? 0 : &d->m_diff3WrapLineVector[wrapLineIdx] );
+         Diff3Line& d3l = *(*d->m_pDiff3LineVector)[i];
          if ( d3l.linesNeededForDisplay<linesNeeded )
          {
             d3l.linesNeededForDisplay = linesNeeded;
          }
-         
+
          if ( wrapLineVectorSize>0 )
          {
             int j;
             for( j=0; j<d3l.linesNeededForDisplay; ++j, ++wrapLineIdx )
             {
-               Diff3WrapLine& d3wl = m_diff3WrapLineVector[wrapLineIdx];
+               Diff3WrapLine& d3wl = d->m_diff3WrapLineVector[wrapLineIdx];
                d3wl.diff3LineIndex = i;
-               d3wl.pD3L = (*m_pDiff3LineVector)[i];
+               d3wl.pD3L = (*d->m_pDiff3LineVector)[i];
                if ( j>=linesNeeded )
                {
                   d3wl.wrapLineOffset=0;
@@ -1329,45 +1514,223 @@
                }
             }
          }
-      }   
-   
+      }
+
       if ( wrapLineVectorSize>0 )
-      {   
-         m_firstLine = min2( m_firstLine, wrapLineVectorSize-1 );
-         m_firstColumn = 0;      
+      {
+         d->m_firstLine = min2( d->m_firstLine, wrapLineVectorSize-1 );
+         d->m_firstColumn = 0;
+         d->m_pDiffTextWindowFrame->setFirstLine( d->m_firstLine );
       }
    }
    else
    {
-      m_diff3WrapLineVector.resize( 0 );
+      d->m_diff3WrapLineVector.resize( 0 );
    }
-   
-   if ( !selection.isEmpty() && ( !m_bWordWrap || wrapLineVectorSize>0 ) )
-   {  
+
+   if ( !d->m_selection.isEmpty() && ( !d->m_bWordWrap || wrapLineVectorSize>0 ) )
+   {
       // Assume unwrapped coordinates 
       //( Why? ->Conversion to unwrapped coords happened a few lines above in this method. 
       //  Also see KDiff3App::recalcWordWrap() on the role of wrapLineVectorSize)
-      
+
       // Wrap them now.
-      
-      // convert the selection to unwrapped coordinates.      
+
+      // convert the d->m_selection to unwrapped coordinates.
       int firstLine, firstPos;
-      convertD3LCoordsToLineCoords( selection.beginLine(), selection.beginPos(), firstLine, firstPos );
-      
+      convertD3LCoordsToLineCoords( d->m_selection.beginLine(), d->m_selection.beginPos(), firstLine, firstPos );
+
       int lastLine, lastPos;
-      convertD3LCoordsToLineCoords( selection.endLine(), selection.endPos(), lastLine, lastPos );
-               
-      //selection.reset();
-      selection.start( firstLine, convertToPosOnScreen( getLineString( firstLine ), firstPos ) );
-      selection.end( lastLine, convertToPosOnScreen( getLineString( lastLine ),lastPos ) );
-   }      
+      convertD3LCoordsToLineCoords( d->m_selection.endLine(), d->m_selection.endPos(), lastLine, lastPos );
+
+      //d->m_selection.reset();
+      d->m_selection.start( firstLine, convertToPosOnScreen( d->getLineString( firstLine ), firstPos, d->m_pOptionDialog->m_tabSize ) );
+      d->m_selection.end( lastLine, convertToPosOnScreen( d->getLineString( lastLine ),lastPos, d->m_pOptionDialog->m_tabSize ) );
+   }
 }
 
 
+class DiffTextWindowFrameData
+{
+public:
+   DiffTextWindow* m_pDiffTextWindow;
+   QLineEdit* m_pFileSelection;
+   QPushButton* m_pBrowseButton;
+   OptionDialog* m_pOptionDialog;
+   QLabel*       m_pLabel;
+   QLabel*       m_pTopLine;
+   QWidget*      m_pTopLineWidget;
+};
 
+DiffTextWindowFrame::DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusBar, OptionDialog* pOptionDialog, int winIdx )
+   : QWidget( pParent )
+{
+   d = new DiffTextWindowFrameData;
+   d->m_pOptionDialog = pOptionDialog;
+   d->m_pTopLineWidget = new QWidget(this);
+   d->m_pFileSelection = new QLineEdit(d->m_pTopLineWidget);
+   d->m_pBrowseButton = new QPushButton( "...",d->m_pTopLineWidget );
+   d->m_pBrowseButton->setFixedWidth( 30 );
+   connect(d->m_pBrowseButton,SIGNAL(clicked()), this, SLOT(slotBrowseButtonClicked()));
+   connect(d->m_pFileSelection,SIGNAL(returnPressed()), this, SLOT(slotReturnPressed()));
 
-#include <qtextcodec.h>
+   d->m_pLabel = new QLabel("A:",d->m_pTopLineWidget);
+   d->m_pTopLine = new QLabel(d->m_pTopLineWidget);
+   d->m_pDiffTextWindow = 0;
+   d->m_pDiffTextWindow = new DiffTextWindow( this, pStatusBar, pOptionDialog, winIdx );
+   QHBoxLayout* pHL = new QHBoxLayout(d->m_pTopLineWidget);
+   pHL->setMargin(2);
+   pHL->setSpacing(2);
 
+   pHL->addWidget( d->m_pLabel, 0 );
+   pHL->addWidget( d->m_pFileSelection, 1 );
+   pHL->addWidget( d->m_pBrowseButton, 0 );
+   pHL->addWidget( d->m_pTopLine, 0 );
+
+   QVBoxLayout* pVL = new QVBoxLayout( this, 0, 0 );
+   pVL->addWidget( d->m_pTopLineWidget, 0 );
+   pVL->addWidget( d->m_pDiffTextWindow, 1 );
+
+   d->m_pDiffTextWindow->installEventFilter( this );
+   d->m_pFileSelection->installEventFilter( this );
+   d->m_pBrowseButton->installEventFilter( this );
+   init();
+}
+
+DiffTextWindowFrame::~DiffTextWindowFrame()
+{
+   delete d;
+}
+
+void DiffTextWindowFrame::init()
+{
+   DiffTextWindow* pDTW = d->m_pDiffTextWindow;
+   if ( pDTW )
+   {
+      QString s = pDTW->d->m_filename ;
+      d->m_pFileSelection->setText( s );
+      QString winId = pDTW->d->m_winIdx==1 ? 
+                             ( pDTW->d->m_bTriple?"A (Base)":"A") :
+                             ( pDTW->d->m_winIdx==2 ? "B" : "C" );
+      d->m_pLabel->setText( winId + ":" );
+   }
+}
+
+// Search for the first visible line (search loop needed when no line exist for this file.)
+int DiffTextWindow::calcTopLineInFile( int firstLine )
+{
+   int l=-1;
+   for ( int i = convertLineToDiff3LineIdx(firstLine); i<(int)d->m_pDiff3LineVector->size(); ++i )
+   {
+      const Diff3Line* d3l = (*d->m_pDiff3LineVector)[i];
+      l = d3l->getLineInFile(d->m_winIdx);
+      if (l!=-1) break;
+   }
+   return l;
+}
+
+void DiffTextWindowFrame::setFirstLine( int firstLine )
+{
+   DiffTextWindow* pDTW = d->m_pDiffTextWindow;
+   if ( pDTW && pDTW->d->m_pDiff3LineVector )
+   {
+      QString s= i18n("Top line");
+      int lineNumberWidth = (int)log10((double)pDTW->d->m_size)+1;
+
+      int l=pDTW->calcTopLineInFile(firstLine);
+
+      int w = d->m_pTopLine->fontMetrics().width(
+            s+" "+QString().fill('0',lineNumberWidth));
+      d->m_pTopLine->setMinimumWidth( w );
+
+      if (l==-1)
+         s = i18n("End");
+      else
+         s += " " + QString::number( l+1 );
+
+      d->m_pTopLine->setText( s );
+      d->m_pTopLine->repaint();
+   }
+}
+
+DiffTextWindow* DiffTextWindowFrame::getDiffTextWindow()
+{
+   return d->m_pDiffTextWindow;
+}
+
+bool DiffTextWindowFrame::eventFilter( QObject* o, QEvent* e )
+{
+   DiffTextWindow* pDTW = d->m_pDiffTextWindow;
+   if ( e->type()==QEvent::FocusIn || e->type()==QEvent::FocusOut )
+   {
+      QColor c1 = d->m_pOptionDialog->m_bgColor;
+      QColor c2 = pDTW->d->m_cThis;
+      QPalette p = d->m_pTopLineWidget->palette();
+      if ( e->type()==QEvent::FocusOut )
+         std::swap(c1,c2);
+
+      p.setColor(QColorGroup::Background, c2);
+      d->m_pTopLineWidget->setPalette( p );
+      d->m_pBrowseButton->setPalette( p );
+      d->m_pFileSelection->setPalette( p );
+
+      p.setColor(QColorGroup::Foreground, c1);
+      d->m_pLabel->setPalette( p );
+      d->m_pTopLine->setPalette( p );
+   }
+   if (o == d->m_pFileSelection && e->type()==QEvent::Drop)
+   {
+      QDropEvent* d = static_cast<QDropEvent*>(e);
+      
+      if ( QUriDrag::canDecode( d ) ) 
+      {
+         QStringList lst;
+         QUriDrag::decodeLocalFiles( d, lst );
+
+         if ( lst.count() > 0 )
+         {
+            static_cast<QLineEdit*>(o)->setText( lst[0] );
+            static_cast<QLineEdit*>(o)->setFocus();
+            emit fileNameChanged( lst[0], pDTW->d->m_winIdx );
+            return true;
+         }
+      }
+      /* The following lines work for Qt>4.1 but not for 4.0.x*/
+      /*if ( d->mimeData()->hasUrls() )
+      {
+         QList<QUrl> lst = d->mimeData()->urls();
+         if ( !lst.empty() )
+         {
+            static_cast<QLineEdit*>(o)->setText( lst[0].toLocalFile() );
+            static_cast<QLineEdit*>(o)->setFocus();
+            emit fileNameChanged( lst[0], pDTW->d->m_winIdx );
+            return true;
+         }
+      }*/
+   }
+   return false;
+}
+
+void DiffTextWindowFrame::slotReturnPressed()
+{
+   DiffTextWindow* pDTW = d->m_pDiffTextWindow;
+   if ( pDTW->d->m_filename != d->m_pFileSelection->text() )
+   {
+      emit fileNameChanged( d->m_pFileSelection->text(), pDTW->d->m_winIdx );
+   }
+}
+
+void DiffTextWindowFrame::slotBrowseButtonClicked()
+{
+   QString current = d->m_pFileSelection->text();
+
+   KURL newURL = KFileDialog::getOpenURL( current, 0, this);
+   if ( !newURL.isEmpty() )
+   {
+      DiffTextWindow* pDTW = d->m_pDiffTextWindow;
+      emit fileNameChanged( newURL.url(), pDTW->d->m_winIdx );
+   }
+}
 
 QCString encodeString( const QString& s )
 {
@@ -1377,3 +1740,5 @@
    else
       return QCString( s.latin1() );
 }
+
+#include "difftextwindow.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/difftextwindow.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,135 @@
+/***************************************************************************
+                          difftextwindow.h  -  description
+                             -------------------
+    begin                : Mon Mar 18 2002
+    copyright            : (C) 2002-2005 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef DIFFTEXTWINDOW_H
+#define DIFFTEXTWINDOW_H
+
+#include "diff.h"
+
+#include <qwidget.h>
+
+class QStatusBar;
+class OptionDialog;
+class DiffTextWindowData;
+class DiffTextWindowFrame;
+
+class DiffTextWindow : public QWidget
+{
+   Q_OBJECT
+public:
+   DiffTextWindow(
+      DiffTextWindowFrame* pParent,
+      QStatusBar* pStatusBar,
+      OptionDialog* pOptionDialog,
+      int winIdx
+      );
+   ~DiffTextWindow();
+   void init(
+      const QString& fileName,
+      const LineData* pLineData,
+      int size,
+      const Diff3LineVector* pDiff3LineVector,
+      const ManualDiffHelpList* pManualDiffHelpList,
+      bool bTriple
+      );
+   void reset();
+   void convertToLinePos( int x, int y, int& line, int& pos );
+
+   QString getSelection();
+   int getFirstLine();
+   int calcTopLineInFile( int firstLine );
+
+   int getNofColumns();
+   int getNofLines();
+   int getNofVisibleLines();
+   int getNofVisibleColumns();
+
+   int convertLineToDiff3LineIdx( int line );
+   int convertDiff3LineIdxToLine( int d3lIdx );
+
+   void convertD3LCoordsToLineCoords( int d3LIdx, int d3LPos, int& line, int& pos );
+   void convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos );
+
+   void convertSelectionToD3LCoords();
+
+   bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
+   void setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p );
+   void getSelectionRange( int* firstLine, int* lastLine, e_CoordType coordType );
+
+   void setPaintingAllowed( bool bAllowPainting );
+   void recalcWordWrap( bool bWordWrap, int wrapLineVectorSize, int nofVisibleColumns );
+   void print( MyPainter& painter, const QRect& r, int firstLine, int nofLinesPerPage );
+signals:
+   void resizeSignal( int nofVisibleColumns, int nofVisibleLines );
+   void scroll( int deltaX, int deltaY );
+   void newSelection();
+   void selectionEnd();
+   void setFastSelectorLine( int line );
+   void gotFocus();
+   void lineClicked( int winIdx, int line );
+
+public slots:
+   void setFirstLine( int line );
+   void setFirstColumn( int col );
+   void resetSelection();
+   void setFastSelectorRange( int line1, int nofLines );
+
+protected:
+   virtual void mousePressEvent ( QMouseEvent * );
+   virtual void mouseReleaseEvent ( QMouseEvent * );
+   virtual void mouseMoveEvent ( QMouseEvent * );
+   virtual void mouseDoubleClickEvent ( QMouseEvent * e );
+
+   virtual void paintEvent( QPaintEvent*  );
+   virtual void dragEnterEvent( QDragEnterEvent* e );
+   virtual void focusInEvent( QFocusEvent* e );
+
+   virtual void resizeEvent( QResizeEvent* );
+   virtual void timerEvent(QTimerEvent*);
+
+private:
+   DiffTextWindowData* d;
+   void showStatusLine( int line );
+   friend class DiffTextWindowFrame;
+};
+
+
+class DiffTextWindowFrameData;
+
+class DiffTextWindowFrame : public QWidget
+{
+   Q_OBJECT
+public:
+   DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusBar, OptionDialog* pOptionDialog, int winIdx );
+   ~DiffTextWindowFrame();
+   DiffTextWindow* getDiffTextWindow();
+   void init();
+   void setFirstLine(int firstLine);
+signals:
+   void fileNameChanged(const QString&, int);
+protected:
+   bool eventFilter( QObject*, QEvent* );
+private slots:
+   void slotReturnPressed();
+   void slotBrowseButtonClicked();
+private:
+   DiffTextWindowFrameData* d;
+};
+
+
+#endif
+
--- a/kdiff3/src/directorymergewindow.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/directorymergewindow.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           directorymergewindow.cpp
                              -----------------
     begin                : Sat Oct 19 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2005 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -32,19 +32,22 @@
 #include <qlabel.h>
 #include <qtable.h>
 #include <qsplitter.h>
+#include <qtextedit.h>
 #include <qprogressdialog.h>
 #include <kmessagebox.h>
+#include <kfiledialog.h>
 #include <kiconloader.h>
 #include <klocale.h>
 #include <iostream>
 #include <assert.h>
+#include <konq_popupmenu.h>
 
 static bool conflictingFileTypes(MergeFileInfos& mfi);
-
+/*
 class StatusInfo : public QListView
 {
 public:
-   StatusInfo(QWidget* pParent) : QListView( pParent )
+   StatusInfo(QWidget* pParent) : QListView( pParent, "StatusInfo", Qt::WShowModal )
    {
       addColumn("");
       setSorting(-1); //disable sorting
@@ -63,6 +66,31 @@
       else                 m_pLast = new QListViewItem( this, last(), s );
    }
 };
+*/
+class StatusInfo : public QTextEdit
+{
+public:
+   StatusInfo(QWidget* pParent) : QTextEdit( pParent, "StatusInfo" )
+   {
+      setWFlags(Qt::WShowModal);
+      setWordWrap(QTextEdit::NoWrap);
+      setReadOnly(true);
+      showMaximized();
+   }
+
+   bool isEmpty(){ return text().isEmpty(); }
+
+   void addText(const QString& s )
+   {
+      append(s);
+   }
+
+   void show()
+   {
+      scrollToBottom();
+      QTextEdit::show();
+   }
+};
 
 
 class TempRemover
@@ -178,11 +206,7 @@
    }
 
    pp.setInformation( i18n("Comparing file..."), 0, false );
-#if QT_VERSION==230
-   typedef int t_FileSize;
-#else
    typedef QFile::Offset t_FileSize;
-#endif
    t_FileSize fullSize = file1.size();
    t_FileSize sizeLeft = fullSize;
 
@@ -234,8 +258,10 @@
 {
    connect( this, SIGNAL(doubleClicked(QListViewItem*)), this, SLOT(onDoubleClick(QListViewItem*)));
    connect( this, SIGNAL(returnPressed(QListViewItem*)), this, SLOT(onDoubleClick(QListViewItem*)));
-   connect( this, SIGNAL( pressed(QListViewItem*,const QPoint&, int)),
-            this, SLOT(   onClick(QListViewItem*,const QPoint&, int))  );
+   connect( this, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&, int)),
+            this, SLOT(   onClick(int,QListViewItem*,const QPoint&, int))  );
+   connect( this, SIGNAL(contextMenuRequested(QListViewItem*,const QPoint &,int)),
+            this, SLOT(   slotShowContextMenu(QListViewItem*,const QPoint &,int)));
    connect( this, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(onSelectionChanged(QListViewItem*)));
    m_pOptions = pOptions;
    m_pIconLoader = pIconLoader;
@@ -248,6 +274,10 @@
    m_pStatusInfo = new StatusInfo(0);
    m_pStatusInfo->hide();
    m_bScanning = false;
+   m_pSelection1Item = 0;
+   m_pSelection2Item = 0;
+   m_pSelection3Item = 0;
+   m_bCaseSensitive = true;
 
    addColumn(i18n("Name"));
    addColumn("A");
@@ -296,10 +326,10 @@
 }
 
 // Copy pm2 onto pm1, but preserve the alpha value from pm1 where pm2 is transparent.
-static QPixmap pixCombiner( const QPixmap& pm1, const QPixmap& pm2 )
+static QPixmap pixCombiner( const QPixmap* pm1, const QPixmap* pm2 )
 {
-   QImage img1 = pm1.convertToImage().convertDepth(32);
-   QImage img2 = pm2.convertToImage().convertDepth(32);
+   QImage img1 = pm1->convertToImage().convertDepth(32);
+   QImage img2 = pm2->convertToImage().convertDepth(32);
 
    for (int y = 0; y < img1.height(); y++)
    {
@@ -317,10 +347,10 @@
 }
 
 // like pixCombiner but let the pm1 color shine through
-static QPixmap pixCombiner2( const QPixmap& pm1, const QPixmap& pm2 )
+static QPixmap pixCombiner2( const QPixmap* pm1, const QPixmap* pm2 )
 {
-   QImage img1 = pm1.convertToImage().convertDepth(32);
-   QImage img2 = pm2.convertToImage().convertDepth(32);
+   QImage img1 = pm1->convertToImage().convertDepth(32);
+   QImage img2 = pm2->convertToImage().convertDepth(32);
 
    for (int y = 0; y < img1.height(); y++)
    {
@@ -366,13 +396,12 @@
       calcDirStatus( bThreeDirs, static_cast<DirMergeItem*>(p), nofFiles, nofDirs, nofEqualFiles, nofManualMerges );
 }
 
-static QString sortString(const QString& s)
+static QString sortString(const QString& s, bool bCaseSensitive)
 {
-#ifdef _WIN32
-   return s.upper();
-#else
-   return s;
-#endif
+   if (bCaseSensitive)
+      return s;
+   else
+      return s.upper();
 }
 
 bool DirectoryMergeWindow::init
@@ -404,6 +433,10 @@
    m_bRealMergeStarted=false;
    m_bError=false;
    m_bDirectoryMerge = bDirectoryMerge;
+   m_pSelection1Item = 0;
+   m_pSelection2Item = 0;
+   m_pSelection3Item = 0;
+   m_bCaseSensitive = m_pOptions->m_bDmCaseSensitiveFilenameComparison;
 
    clear();
 
@@ -415,6 +448,12 @@
    m_dirC = dirC;
    m_dirDest = dirDest;
 
+   m_pDirShowIdenticalFiles->setChecked(true);
+   m_pDirShowDifferentFiles->setChecked(true);
+   m_pDirShowFilesOnlyInA->setChecked(true);
+   m_pDirShowFilesOnlyInB->setChecked(true);
+   m_pDirShowFilesOnlyInC->setChecked(true);
+
    // Check if all input directories exist and are valid. The dest dir is not tested now.
    // The test will happen only when we are going to write to it.
    if ( !m_dirA.isDir() || !m_dirB.isDir() ||
@@ -508,7 +547,7 @@
 
       for (i=dirListA.begin(); i!=dirListA.end();++i )
       {
-         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())];
+         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath(), m_bCaseSensitive)];
          //std::cout <<i->filePath()<<std::endl;
          mfi.m_bExistsInA = true;
          mfi.m_fileInfoA = *i;
@@ -530,7 +569,7 @@
 
       for (i=dirListB.begin(); i!=dirListB.end();++i )
       {
-         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())];
+         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath(), m_bCaseSensitive)];
          mfi.m_bExistsInB = true;
          mfi.m_fileInfoB = *i;
       }
@@ -552,7 +591,7 @@
 
       for (i=dirListC.begin(); i!=dirListC.end();++i )
       {
-         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())];
+         MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath(),m_bCaseSensitive)];
          mfi.m_bExistsInC = true;
          mfi.m_fileInfoC = *i;
       }
@@ -919,41 +958,96 @@
 static QPixmap* s_pm_dir;
 static QPixmap* s_pm_file;
 
+static QPixmap* pmNotThere;
+static QPixmap* pmNew;
+static QPixmap* pmOld;
+static QPixmap* pmMiddle;
+
+static QPixmap* pmLink;
+
+static QPixmap* pmDirLink;
+static QPixmap* pmFileLink;
+
+static QPixmap* pmNewLink;
+static QPixmap* pmOldLink;
+static QPixmap* pmMiddleLink;
+
+static QPixmap* pmNewDir;
+static QPixmap* pmMiddleDir;
+static QPixmap* pmOldDir;
+
+static QPixmap* pmNewDirLink;
+static QPixmap* pmMiddleDirLink;
+static QPixmap* pmOldDirLink;
+
+
+static QPixmap colorToPixmap(QColor c)
+{
+   QPixmap pm(16,16);
+   QPainter p(&pm);
+   p.setPen( Qt::black );
+   p.setBrush( c );
+   p.drawRect(0,0,pm.width(),pm.height());
+   return pm;
+}
+
+static void initPixmaps( QColor newest, QColor oldest, QColor middle, QColor notThere )
+{
+   if (pmNew==0)
+   {
+      pmNotThere = new QPixmap;
+      pmNew = new QPixmap;
+      pmOld = new QPixmap;
+      pmMiddle = new QPixmap;
+
+      #include "xpm/link_arrow.xpm"
+      pmLink = new QPixmap(link_arrow);
+
+      pmDirLink = new QPixmap;
+      pmFileLink = new QPixmap;
+
+      pmNewLink = new QPixmap;
+      pmOldLink = new QPixmap;
+      pmMiddleLink = new QPixmap;
+
+      pmNewDir = new QPixmap;
+      pmMiddleDir = new QPixmap;
+      pmOldDir = new QPixmap;
+
+      pmNewDirLink = new QPixmap;
+      pmMiddleDirLink = new QPixmap;
+      pmOldDirLink = new QPixmap;
+   }
+
+
+   *pmNotThere = colorToPixmap(notThere);
+   *pmNew = colorToPixmap(newest);
+   *pmOld = colorToPixmap(oldest);
+   *pmMiddle = colorToPixmap(middle);
+
+   *pmDirLink = pixCombiner( s_pm_dir, pmLink);
+   *pmFileLink = pixCombiner( s_pm_file, pmLink );
+
+   *pmNewLink = pixCombiner( pmNew, pmLink);
+   *pmOldLink = pixCombiner( pmOld, pmLink);
+   *pmMiddleLink = pixCombiner( pmMiddle, pmLink);
+
+   *pmNewDir = pixCombiner2( pmNew, s_pm_dir);
+   *pmMiddleDir = pixCombiner2( pmMiddle, s_pm_dir);
+   *pmOldDir = pixCombiner2( pmOld, s_pm_dir);
+
+   *pmNewDirLink = pixCombiner( pmNewDir, pmLink);
+   *pmMiddleDirLink = pixCombiner( pmMiddleDir, pmLink);
+   *pmOldDirLink = pixCombiner( pmOldDir, pmLink);
+}
+
+
 static void setOnePixmap( QListViewItem* pLVI, int col, e_Age eAge, bool bLink, bool bDir )
 {
-   #include "xpm/equal.xpm"
-   #include "xpm/not_equal.xpm"
-   #include "xpm/not_everywhere.xpm"
-   #include "xpm/not_there.xpm"
-   #include "xpm/link_arrow.xpm"
-
-   static QPixmap pmLink( link_arrow );
-
-   static QPixmap pmDirLink( pixCombiner( *s_pm_dir, pmLink) );
-   static QPixmap pmFileLink( pixCombiner( *s_pm_file, pmLink ) );
-
-   static QPixmap pmNotThere( not_there_pm );
-
-   static QPixmap pmNew( equal_pm );
-   static QPixmap pmOld( not_equal_pm );
-   static QPixmap pmMiddle( not_everywhere_pm );
-
-   static QPixmap pmNewLink( pixCombiner( pmNew, pmLink) );
-   static QPixmap pmOldLink( pixCombiner( pmOld, pmLink) );
-   static QPixmap pmMiddleLink( pixCombiner( pmMiddle, pmLink) );
-
-   static QPixmap pmNewDir( pixCombiner2( pmNew, *s_pm_dir) );
-   static QPixmap pmMiddleDir( pixCombiner2( pmMiddle, *s_pm_dir) );
-   static QPixmap pmOldDir( pixCombiner2( pmOld, *s_pm_dir) );
-
-   static QPixmap pmNewDirLink( pixCombiner( pmNewDir, pmLink) );
-   static QPixmap pmMiddleDirLink( pixCombiner( pmMiddleDir, pmLink) );
-   static QPixmap pmOldDirLink( pixCombiner( pmOldDir, pmLink) );
-
-   static QPixmap* ageToPm[]=       { &pmNew,     &pmMiddle,     &pmOld,     &pmNotThere, s_pm_file  };
-   static QPixmap* ageToPmLink[]=   { &pmNewLink, &pmMiddleLink, &pmOldLink, &pmNotThere, &pmFileLink };
-   static QPixmap* ageToPmDir[]=    { &pmNewDir,  &pmMiddleDir,  &pmOldDir,  &pmNotThere, s_pm_dir   };
-   static QPixmap* ageToPmDirLink[]={ &pmNewDirLink, &pmMiddleDirLink, &pmOldDirLink, &pmNotThere, &pmDirLink };
+   static QPixmap* ageToPm[]=       { pmNew,     pmMiddle,     pmOld,     pmNotThere, s_pm_file  };
+   static QPixmap* ageToPmLink[]=   { pmNewLink, pmMiddleLink, pmOldLink, pmNotThere, pmFileLink };
+   static QPixmap* ageToPmDir[]=    { pmNewDir,  pmMiddleDir,  pmOldDir,  pmNotThere, s_pm_dir   };
+   static QPixmap* ageToPmDirLink[]={ pmNewDirLink, pmMiddleDirLink, pmOldDirLink, pmNotThere, pmDirLink };
 
    QPixmap** ppPm = bDir ? ( bLink ? ageToPmDirLink : ageToPmDir ):
                            ( bLink ? ageToPmLink    : ageToPm    );
@@ -1006,21 +1100,25 @@
 }
 
 // Iterate through the complete tree. Start by specifying QListView::firstChild().
-static QListViewItem* treeIterator( QListViewItem* p, bool bVisitChildren=true )
+static QListViewItem* treeIterator( QListViewItem* p, bool bVisitChildren=true, bool bFindInvisible=false )
 {
    if( p!=0 )
    {
-      if ( bVisitChildren && p->firstChild() != 0 )      p = p->firstChild();
-      else if ( p->nextSibling() !=0 ) p = p->nextSibling();
-      else
+      do
       {
-         p = p->parent();
-         while ( p!=0 )
+         if ( bVisitChildren && p->firstChild() != 0 )      p = p->firstChild();
+         else if ( p->nextSibling() !=0 ) p = p->nextSibling();
+         else
          {
-            if( p->nextSibling()!=0 ) { p = p->nextSibling(); break; }
-            else                      { p = p->parent();             }
+            p = p->parent();
+            while ( p!=0 )
+            {
+               if( p->nextSibling()!=0 ) { p = p->nextSibling(); break; }
+               else                      { p = p->parent();             }
+            }
          }
       }
+      while( p && !(p->isVisible() || bFindInvisible) );
    }
    return p;
 }
@@ -1043,6 +1141,8 @@
    }
 
    clear();
+   initPixmaps( m_pOptions->m_newestFileColor, m_pOptions->m_oldestFileColor,
+                m_pOptions->m_midAgeFileColor, m_pOptions->m_missingFileColor );
 
    setRootIsDecorated( true );
 
@@ -1076,10 +1176,10 @@
       compareFilesAndCalcAges( mfi );
 
       bool bEqual = bCheckC ? mfi.m_bEqualAB && mfi.m_bEqualAC : mfi.m_bEqualAB;
-      bool bDir = mfi.m_bDirA || mfi.m_bDirB || mfi.m_bDirC;
-
-      if ( m_pOptions->m_bDmShowOnlyDeltas && !bDir && bEqual )
-         continue;
+      //bool bDir = mfi.m_bDirA || mfi.m_bDirB || mfi.m_bDirC;
+
+      //if ( m_pOptions->m_bDmShowOnlyDeltas && !bDir && bEqual )
+      //   continue;
 
       // Get dirname from fileName: Search for "/" from end:
       int pos = fileName.findRev('/');
@@ -1102,7 +1202,7 @@
       }
       else
       {
-         MergeFileInfos& dirMfi = m_fileMergeMap[sortString(dirPart)]; // parent
+         MergeFileInfos& dirMfi = m_fileMergeMap[sortString(dirPart, m_bCaseSensitive)]; // parent
          assert(dirMfi.m_pDMI!=0);
          new DirMergeItem( dirMfi.m_pDMI, filePart, &mfi );
          mfi.m_pParent = &dirMfi;
@@ -1130,7 +1230,7 @@
       setPixmaps( mfi, bCheckC );
    }
 
-   if ( m_pOptions->m_bDmShowOnlyDeltas )
+   /*if ( m_pOptions->m_bDmShowOnlyDeltas )
    {
       // Remove all equals. (Search tree depth first)
       QListViewItem* p = firstChild();
@@ -1160,7 +1260,7 @@
             }
          }
       }
-   }
+   }*/
 }
 
 static bool conflictingFileTypes(MergeFileInfos& mfi)
@@ -1352,7 +1452,7 @@
    m_pDirectoryMergeInfo->setInfo( m_dirA, m_dirB, m_dirC, m_dirDestInternal, mfi );
 }
 
-void DirectoryMergeWindow::onClick( QListViewItem* lvi, const QPoint& p, int c )
+void DirectoryMergeWindow::onClick( int button, QListViewItem* lvi, const QPoint& p, int c )
 {
    if ( lvi==0 ) return;
 
@@ -1361,49 +1461,176 @@
    MergeFileInfos& mfi = *pDMI->m_pMFI;
    assert( mfi.m_pDMI==pDMI );
 
-   if ( c!=s_OpCol ) return;
-
-   bool bThreeDirs = m_dirC.isValid();
-
-   KPopupMenu m(this);
-   if ( bThreeDirs )
+   if ( c==s_OpCol )
    {
-      dirCurrentDoNothing->plug(&m);
-      int count=0;
-      if ( mfi.m_bExistsInA ) { dirCurrentChooseA->plug(&m); ++count;  }
-      if ( mfi.m_bExistsInB ) { dirCurrentChooseB->plug(&m); ++count;  }
-      if ( mfi.m_bExistsInC ) { dirCurrentChooseC->plug(&m); ++count;  }
-      if ( !conflictingFileTypes(mfi) && count>1 ) dirCurrentMerge->plug(&m);
-      dirCurrentDelete->plug(&m);
-   }
-   else if ( m_bSyncMode )
-   {
-      dirCurrentSyncDoNothing->plug(&m);
-      if ( mfi.m_bExistsInA ) dirCurrentSyncCopyAToB->plug(&m);
-      if ( mfi.m_bExistsInB ) dirCurrentSyncCopyBToA->plug(&m);
-      if ( mfi.m_bExistsInA ) dirCurrentSyncDeleteA->plug(&m);
-      if ( mfi.m_bExistsInB ) dirCurrentSyncDeleteB->plug(&m);
-      if ( mfi.m_bExistsInA && mfi.m_bExistsInB )
+      bool bThreeDirs = m_dirC.isValid();
+
+      KPopupMenu m(this);
+      if ( bThreeDirs )
       {
-         dirCurrentSyncDeleteAAndB->plug(&m);
-         if ( !conflictingFileTypes(mfi))
+         m_pDirCurrentDoNothing->plug(&m);
+         int count=0;
+         if ( mfi.m_bExistsInA ) { m_pDirCurrentChooseA->plug(&m); ++count;  }
+         if ( mfi.m_bExistsInB ) { m_pDirCurrentChooseB->plug(&m); ++count;  }
+         if ( mfi.m_bExistsInC ) { m_pDirCurrentChooseC->plug(&m); ++count;  }
+         if ( !conflictingFileTypes(mfi) && count>1 ) m_pDirCurrentMerge->plug(&m);
+         m_pDirCurrentDelete->plug(&m);
+      }
+      else if ( m_bSyncMode )
+      {
+         m_pDirCurrentSyncDoNothing->plug(&m);
+         if ( mfi.m_bExistsInA ) m_pDirCurrentSyncCopyAToB->plug(&m);
+         if ( mfi.m_bExistsInB ) m_pDirCurrentSyncCopyBToA->plug(&m);
+         if ( mfi.m_bExistsInA ) m_pDirCurrentSyncDeleteA->plug(&m);
+         if ( mfi.m_bExistsInB ) m_pDirCurrentSyncDeleteB->plug(&m);
+         if ( mfi.m_bExistsInA && mfi.m_bExistsInB )
          {
-            dirCurrentSyncMergeToA->plug(&m);
-            dirCurrentSyncMergeToB->plug(&m);
-            dirCurrentSyncMergeToAAndB->plug(&m);
+            m_pDirCurrentSyncDeleteAAndB->plug(&m);
+            if ( !conflictingFileTypes(mfi))
+            {
+               m_pDirCurrentSyncMergeToA->plug(&m);
+               m_pDirCurrentSyncMergeToB->plug(&m);
+               m_pDirCurrentSyncMergeToAAndB->plug(&m);
+            }
          }
       }
+      else
+      {
+         m_pDirCurrentDoNothing->plug(&m);
+         if ( mfi.m_bExistsInA ) { m_pDirCurrentChooseA->plug(&m); }
+         if ( mfi.m_bExistsInB ) { m_pDirCurrentChooseB->plug(&m); }
+         if ( !conflictingFileTypes(mfi) && mfi.m_bExistsInA  &&  mfi.m_bExistsInB ) m_pDirCurrentMerge->plug(&m);
+         m_pDirCurrentDelete->plug(&m);
+      }
+
+      m.exec( p );
    }
-   else
+   else if ( c == s_ACol || c==s_BCol || c==s_CCol )
    {
-      dirCurrentDoNothing->plug(&m);
-      if ( mfi.m_bExistsInA ) { dirCurrentChooseA->plug(&m); }
-      if ( mfi.m_bExistsInB ) { dirCurrentChooseB->plug(&m); }
-      if ( !conflictingFileTypes(mfi) && mfi.m_bExistsInA  &&  mfi.m_bExistsInB ) dirCurrentMerge->plug(&m);
-      dirCurrentDelete->plug(&m);
+      QString itemPath;
+      if      ( c == s_ACol && mfi.m_bExistsInA ){ itemPath = fullNameA(mfi); }
+      else if ( c == s_BCol && mfi.m_bExistsInB ){ itemPath = fullNameB(mfi); }
+      else if ( c == s_CCol && mfi.m_bExistsInC ){ itemPath = fullNameC(mfi); }
+
+      if (!itemPath.isEmpty())
+      {
+         selectItemAndColumn( pDMI, c, button==Qt::RightButton );
+      }
    }
-
-   m.exec( p );
+}
+
+void DirectoryMergeWindow::slotShowContextMenu(QListViewItem* lvi,const QPoint & p,int c)
+{
+   if ( lvi==0 ) return;
+
+   DirMergeItem* pDMI = static_cast<DirMergeItem*>(lvi);
+
+   MergeFileInfos& mfi = *pDMI->m_pMFI;
+   assert( mfi.m_pDMI==pDMI );
+   if ( c == s_ACol || c==s_BCol || c==s_CCol )
+   {
+      QString itemPath;
+      if      ( c == s_ACol && mfi.m_bExistsInA ){ itemPath = fullNameA(mfi); }
+      else if ( c == s_BCol && mfi.m_bExistsInB ){ itemPath = fullNameB(mfi); }
+      else if ( c == s_CCol && mfi.m_bExistsInC ){ itemPath = fullNameC(mfi); }
+
+      if (!itemPath.isEmpty())
+      {
+         selectItemAndColumn(pDMI, c, true);
+         KPopupMenu m(this);
+         m_pDirCompareExplicit->plug(&m);
+         m_pDirMergeExplicit->plug(&m);
+
+#ifndef _WIN32
+         m.exec( p );
+#else
+         void showShellContextMenu( const QString&, QPoint, QWidget*, QPopupMenu* );
+         showShellContextMenu( itemPath, p, this, &m );
+#endif
+      }
+   }
+}
+
+static QString getFileName( DirMergeItem* pDMI, int column )
+{
+   if ( pDMI != 0 )
+   {
+      MergeFileInfos& mfi = *pDMI->m_pMFI;
+      return column == s_ACol ? mfi.m_fileInfoA.absFilePath() :
+             column == s_BCol ? mfi.m_fileInfoB.absFilePath() :
+             column == s_CCol ? mfi.m_fileInfoC.absFilePath() :
+             QString("");
+   }
+   return "";
+}
+
+static bool isDir( DirMergeItem* pDMI, int column )
+{
+   if ( pDMI != 0 )
+   {
+      MergeFileInfos& mfi = *pDMI->m_pMFI;
+      return column == s_ACol ? mfi.m_bDirA :
+             column == s_BCol ? mfi.m_bDirB :
+                                mfi.m_bDirC;
+   }
+   return false;
+}
+
+
+void DirectoryMergeWindow::selectItemAndColumn(DirMergeItem* pDMI, int c, bool bContextMenu)
+{
+   if ( bContextMenu && (
+        pDMI==m_pSelection1Item && c==m_selection1Column && m_pSelection2Item==0 ||
+        pDMI==m_pSelection2Item && c==m_selection2Column && m_pSelection3Item==0 ||
+        pDMI==m_pSelection3Item && c==m_selection3Column ) )
+      return;
+
+   DirMergeItem* pOld1=m_pSelection1Item;
+   DirMergeItem* pOld2=m_pSelection2Item;
+   DirMergeItem* pOld3=m_pSelection3Item;
+
+   bool bReset = false;
+
+   if ( m_pSelection1Item )
+   {
+      if (isDir( m_pSelection1Item, m_selection1Column )!=isDir( pDMI, c ))
+         bReset = true;
+   }
+
+   if ( bReset || m_pSelection3Item!=0 ||
+        pDMI==m_pSelection1Item && c==m_selection1Column ||
+        pDMI==m_pSelection2Item && c==m_selection2Column ||
+        pDMI==m_pSelection3Item && c==m_selection3Column)
+   {
+      m_pSelection1Item = 0;
+      m_pSelection2Item = 0;
+      m_pSelection3Item = 0;
+   }
+   else if ( m_pSelection1Item==0 )
+   {
+      m_pSelection1Item = pDMI;
+      m_selection1Column = c;
+      m_pSelection2Item = 0;
+      m_pSelection3Item = 0;
+   }
+   else if ( m_pSelection2Item==0 )
+   {
+      m_pSelection2Item = pDMI;
+      m_selection2Column = c;
+      m_pSelection3Item = 0;
+   }
+   else if ( m_pSelection3Item==0 )
+   {
+      m_pSelection3Item = pDMI;
+      m_selection3Column = c;
+   }
+   if (pOld1) repaintItem( pOld1 );
+   if (pOld2) repaintItem( pOld2 );
+   if (pOld3) repaintItem( pOld3 );
+   if (m_pSelection1Item) repaintItem( m_pSelection1Item );
+   if (m_pSelection2Item) repaintItem( m_pSelection2Item );
+   if (m_pSelection3Item) repaintItem( m_pSelection3Item );
+   emit updateAvailabilities();
 }
 
 // Since Qt 2.3.0 doesn't allow the specification of a compare operator, this trick emulates it.
@@ -1459,6 +1686,47 @@
       return bDir1 ? -1 : 1;
 }
 
+void DirMergeItem::paintCell(QPainter * p, const QColorGroup & cg, int column, int width, int align )
+{
+   if (column == s_ACol || column == s_BCol || column == s_CCol )
+   {
+      const QPixmap* icon = pixmap(column);
+      if ( icon )
+      {
+         int yOffset = (height() - icon->height()) / 2;
+         p->drawPixmap( 2, yOffset, *icon );
+         if ( listView() )
+         {
+            DirectoryMergeWindow* pDMW = static_cast<DirectoryMergeWindow*>(listView());
+            int i = this==pDMW->m_pSelection1Item && column == pDMW->m_selection1Column ? 1 :
+                    this==pDMW->m_pSelection2Item && column == pDMW->m_selection2Column ? 2 :
+                    this==pDMW->m_pSelection3Item && column == pDMW->m_selection3Column ? 3 :
+                    0;
+            if ( i!=0 )
+            {
+               OptionDialog* pOD = pDMW->m_pOptions;
+               QColor c ( i==1 ? pOD->m_colorA : i==2 ? pOD->m_colorB : pOD->m_colorC );
+               p->setPen( c );// highlight() );
+               p->drawRect( 2, yOffset, icon->width(), icon->height());
+               p->setPen( QPen( c, 0, Qt::DotLine) );
+               p->drawRect( 1, yOffset-1, icon->width()+2, icon->height()+2);
+               p->setPen( cg.background() );
+               QString s( QChar('A'+i-1) );
+               p->drawText( 2 + (icon->width() - p->fontMetrics().width(s))/2,
+                            yOffset + (icon->height() + p->fontMetrics().ascent())/2-1,
+                            s );
+            }
+            else
+            {
+               p->setPen( cg.background() );
+               p->drawRect( 1, yOffset-1, icon->width()+2, icon->height()+2);
+            }
+         }
+         return;
+      }
+   }
+   QListViewItem::paintCell(p,cg,column,width,align);
+}
 
 DirMergeItem::~DirMergeItem()
 {
@@ -1543,6 +1811,56 @@
 }
 
 
+void DirectoryMergeWindow::slotCompareExplicitlySelectedFiles()
+{
+   if ( ! isDir(m_pSelection1Item,m_selection1Column) && !canContinue() ) return;
+
+   if ( m_bRealMergeStarted )
+   {
+      KMessageBox::sorry(this,i18n("This operation is currently not possible."),i18n("Operation Not Possible"));
+      return;
+   }
+
+   emit startDiffMerge(
+      getFileName( m_pSelection1Item, m_selection1Column ),
+      getFileName( m_pSelection2Item, m_selection2Column ),
+      getFileName( m_pSelection3Item, m_selection3Column ),
+      "",
+      "","","",0
+      );
+   m_pSelection1Item=0;
+   m_pSelection2Item=0;
+   m_pSelection3Item=0;
+
+   emit updateAvailabilities();
+   triggerUpdate();
+}
+
+void DirectoryMergeWindow::slotMergeExplicitlySelectedFiles()
+{
+   if ( ! isDir(m_pSelection1Item,m_selection1Column) && !canContinue() ) return;
+
+   if ( m_bRealMergeStarted )
+   {
+      KMessageBox::sorry(this,i18n("This operation is currently not possible."),i18n("Operation Not Possible"));
+      return;
+   }
+
+   QString fn1 = getFileName( m_pSelection1Item, m_selection1Column );
+   QString fn2 = getFileName( m_pSelection2Item, m_selection2Column );
+   QString fn3 = getFileName( m_pSelection3Item, m_selection3Column );
+
+   emit startDiffMerge( fn1, fn2, fn3, 
+      fn3.isEmpty() ? fn2 : fn3,
+      "","","",0
+      );
+   m_pSelection1Item=0;
+   m_pSelection2Item=0;
+   m_pSelection3Item=0;
+
+   emit updateAvailabilities();
+   triggerUpdate();
+}
 
 bool DirectoryMergeWindow::isFileSelected()
 {
@@ -1577,8 +1895,8 @@
             KMessageBox::error(this, i18n("An error occurred while copying.\n"), i18n("Error") );
             m_pStatusInfo->setCaption(i18n("Merge Error"));
             m_pStatusInfo->show();
-            if ( m_pStatusInfo->firstChild()!=0 )
-               m_pStatusInfo->ensureItemVisible( m_pStatusInfo->last() );
+            //if ( m_pStatusInfo->firstChild()!=0 )
+            //   m_pStatusInfo->ensureItemVisible( m_pStatusInfo->last() );
             m_bError = true;
             pCurrentItemForOperation->setText( s_OpStatusCol, i18n("Error.") );
             mfi.m_eMergeOperation = eCopyBToA;
@@ -1713,7 +2031,7 @@
    {
       DirMergeItem* pDMI = static_cast<DirMergeItem*>(p);
 
-      if ( ! pDMI->m_pMFI->m_bOperationComplete )
+      if ( pDMI && ! pDMI->m_pMFI->m_bOperationComplete )
       {
          m_mergeItemList.push_back(pDMI);
 
@@ -1750,13 +2068,7 @@
    if ( m_mergeItemList.empty() )
    {
       QListViewItem* pBegin = currentItem();
-      QListViewItem* pEnd = pBegin;
-      while ( pEnd!=0 && pEnd->nextSibling()==0 )
-      {
-         pEnd = pEnd->parent();
-      }
-      if ( pEnd!=0 )
-         pEnd=pEnd->nextSibling();
+      QListViewItem* pEnd = treeIterator(pBegin,false,false); // find next visible sibling (no children)
 
       prepareMergeStart( pBegin, pEnd, bVerbose );
       mergeContinue(true, bVerbose);
@@ -1989,8 +2301,8 @@
       KMessageBox::error(this, i18n("An error occurred. Press OK to see detailed information.\n"), i18n("Error") );
       m_pStatusInfo->setCaption(i18n("Merge Error"));
       m_pStatusInfo->show();
-      if ( m_pStatusInfo->firstChild()!=0 )
-         m_pStatusInfo->ensureItemVisible( m_pStatusInfo->last() );
+      //if ( m_pStatusInfo->firstChild()!=0 )
+      //   m_pStatusInfo->ensureItemVisible( m_pStatusInfo->last() );
       m_bError = true;
       pCurrentItemForOperation->setText( s_OpStatusCol, i18n("Error.") );
    }
@@ -2142,7 +2454,7 @@
 
    FileAccess fi( srcName );
 
-   if ( fi.isSymLink() && (fi.isDir() && !m_bFollowDirLinks  ||  !fi.isDir() && !m_bFollowDirLinks) )
+   if ( fi.isSymLink() && (fi.isDir() && !m_bFollowDirLinks  ||  !fi.isDir() && !m_bFollowFileLinks) )
    {
       m_pStatusInfo->addText(i18n("copyLink( %1 -> %2 )").arg(srcName).arg(destName));
 #ifdef _WIN32
@@ -2410,64 +2722,209 @@
    }
 }
 
+QTextStream& operator<<( QTextStream& ts, MergeFileInfos& mfi )
+{
+   ts << "{\n";
+   ValueMap vm;
+   vm.writeEntry( "SubPath", mfi.m_subPath );
+   vm.writeEntry( "ExistsInA", mfi.m_bExistsInA );
+   vm.writeEntry( "ExistsInB",  mfi.m_bExistsInB );
+   vm.writeEntry( "ExistsInC",  mfi.m_bExistsInC );
+   vm.writeEntry( "EqualAB",  mfi.m_bEqualAB );
+   vm.writeEntry( "EqualAC",  mfi.m_bEqualAC );
+   vm.writeEntry( "EqualBC",  mfi.m_bEqualBC );
+   //DirMergeItem* m_pDMI;
+   //MergeFileInfos* m_pParent;
+   vm.writeEntry( "MergeOperation", (int) mfi.m_eMergeOperation );
+   vm.writeEntry( "DirA",  mfi.m_bDirA );
+   vm.writeEntry( "DirB",  mfi.m_bDirB );
+   vm.writeEntry( "DirC",  mfi.m_bDirC );
+   vm.writeEntry( "LinkA",  mfi.m_bLinkA );
+   vm.writeEntry( "LinkB",  mfi.m_bLinkB );
+   vm.writeEntry( "LinkC",  mfi.m_bLinkC );
+   vm.writeEntry( "OperationComplete", mfi.m_bOperationComplete );
+   //bool m_bSimOpComplete );
+
+   vm.writeEntry( "AgeA", (int) mfi.m_ageA );
+   vm.writeEntry( "AgeB", (int) mfi.m_ageB );
+   vm.writeEntry( "AgeC", (int) mfi.m_ageC );
+   vm.writeEntry( "ConflictingAges", mfi.m_bConflictingAges );       // Equal age but files are not!
+
+   //FileAccess m_fileInfoA;
+   //FileAccess m_fileInfoB;
+   //FileAccess m_fileInfoC;
+
+   //TotalDiffStatus m_totalDiffStatus;
+   
+   vm.save(ts);
+   
+   ts << "}\n";
+
+   return ts;
+}
+
+void DirectoryMergeWindow::slotSaveMergeState()
+{
+   //slotStatusMsg(i18n("Saving Directory Merge State ..."));
+
+   //QString s = KFileDialog::getSaveURL( QDir::currentDirPath(), 0, this, i18n("Save As...") ).url();
+   QString s = KFileDialog::getSaveFileName( QDir::currentDirPath(), 0, this, i18n("Save Directory Merge State As...") );
+   if(!s.isEmpty())
+   {
+      m_dirMergeStateFilename = s;
+
+
+      QFile file(m_dirMergeStateFilename);
+      bool bSuccess = file.open( IO_WriteOnly );
+      if ( bSuccess )
+      {
+         QTextStream ts( &file );
+
+         QListViewItemIterator it( this );
+         while ( it.current() ) {
+            DirMergeItem* item = static_cast<DirMergeItem*>(it.current());
+            MergeFileInfos* pMFI = item->m_pMFI;
+            ts << *pMFI;
+            ++it;
+         }
+      }
+   }
+
+   //slotStatusMsg(i18n("Ready."));
+
+}
+
+void DirectoryMergeWindow::slotLoadMergeState()
+{
+}
+
+void DirectoryMergeWindow::updateFileVisibilities()
+{
+   bool bShowIdentical = m_pDirShowIdenticalFiles->isChecked();
+   bool bShowDifferent = m_pDirShowDifferentFiles->isChecked();
+   bool bShowOnlyInA   = m_pDirShowFilesOnlyInA->isChecked();
+   bool bShowOnlyInB   = m_pDirShowFilesOnlyInB->isChecked();
+   bool bShowOnlyInC   = m_pDirShowFilesOnlyInC->isChecked();
+   bool bThreeDirs = m_dirC.isValid();
+   m_pSelection1Item = 0;
+   m_pSelection2Item = 0;
+   m_pSelection3Item = 0;
+
+   QListViewItem* p = firstChild();
+   while(p)
+   {
+      DirMergeItem* pDMI = static_cast<DirMergeItem*>(p);
+      MergeFileInfos* pMFI = pDMI->m_pMFI;
+      bool bDir = pMFI->m_bDirA || pMFI->m_bDirB || pMFI->m_bDirC;
+      bool bExistsEverywhere = pMFI->m_bExistsInA && pMFI->m_bExistsInB && (pMFI->m_bExistsInC || !bThreeDirs);
+      int existCount = int(pMFI->m_bExistsInA) + int(pMFI->m_bExistsInB) + int(pMFI->m_bExistsInC);
+      bool bVisible =
+               ( bShowIdentical && bExistsEverywhere && pMFI->m_bEqualAB && (pMFI->m_bEqualAC || !bThreeDirs) )
+            || ( (bShowDifferent||bDir) && existCount>=2 && (!pMFI->m_bEqualAB || !(pMFI->m_bEqualAC || !bThreeDirs)))
+            || ( bShowOnlyInA &&  pMFI->m_bExistsInA && !pMFI->m_bExistsInB && !pMFI->m_bExistsInC )
+            || ( bShowOnlyInB && !pMFI->m_bExistsInA &&  pMFI->m_bExistsInB && !pMFI->m_bExistsInC )
+            || ( bShowOnlyInC && !pMFI->m_bExistsInA && !pMFI->m_bExistsInB &&  pMFI->m_bExistsInC );
+
+      QString fileName = pMFI->m_subPath.section( '/', -1 );
+      bVisible = bVisible && (
+            bDir && ! wildcardMultiMatch( m_pOptions->m_DmDirAntiPattern, fileName, m_bCaseSensitive )
+            || wildcardMultiMatch( m_pOptions->m_DmFilePattern, fileName, m_bCaseSensitive )
+               && !wildcardMultiMatch( m_pOptions->m_DmFileAntiPattern, fileName, m_bCaseSensitive ) );
+
+      p->setVisible(bVisible);
+      p = treeIterator( p, true, true );
+   }
+}
+
+void DirectoryMergeWindow::slotShowIdenticalFiles() { m_pOptions->m_bDmShowIdenticalFiles=m_pDirShowIdenticalFiles->isChecked();
+                                                      updateFileVisibilities(); }
+void DirectoryMergeWindow::slotShowDifferentFiles() { updateFileVisibilities(); }
+void DirectoryMergeWindow::slotShowFilesOnlyInA()   { updateFileVisibilities(); }
+void DirectoryMergeWindow::slotShowFilesOnlyInB()   { updateFileVisibilities(); }
+void DirectoryMergeWindow::slotShowFilesOnlyInC()   { updateFileVisibilities(); }
+
+void DirectoryMergeWindow::slotSynchronizeDirectories()   {  }
+void DirectoryMergeWindow::slotChooseNewerFiles()   {  }
 
 void DirectoryMergeWindow::initDirectoryMergeActions( QObject* pKDiff3App, KActionCollection* ac )
 {
 #include "xpm/startmerge.xpm"
+#include "xpm/showequalfiles.xpm"
+#include "xpm/showfilesonlyina.xpm"
+#include "xpm/showfilesonlyinb.xpm"
+#include "xpm/showfilesonlyinc.xpm"
    DirectoryMergeWindow* p = this;
 
-   dirStartOperation = new KAction(i18n("Start/Continue Directory Merge"), Key_F7, p, SLOT(slotRunOperationForAllItems()), ac, "dir_start_operation");
-   dirRunOperationForCurrentItem = new KAction(i18n("Run Operation for Current Item"), Key_F6, p, SLOT(slotRunOperationForCurrentItem()), ac, "dir_run_operation_for_current_item");
-   dirCompareCurrent = new KAction(i18n("Compare Selected File"), 0, p, SLOT(compareCurrentFile()), ac, "dir_compare_current");
-   dirMergeCurrent = new KAction(i18n("Merge Current File"), QIconSet(QPixmap(startmerge)), 0, pKDiff3App, SLOT(slotMergeCurrentFile()), ac, "merge_current");
-   dirFoldAll = new KAction(i18n("Fold All Subdirs"), 0, p, SLOT(slotFoldAllSubdirs()), ac, "dir_fold_all");
-   dirUnfoldAll = new KAction(i18n("Unfold All Subdirs"), 0, p, SLOT(slotUnfoldAllSubdirs()), ac, "dir_unfold_all");
-   dirRescan = new KAction(i18n("Rescan"), SHIFT+Key_F5, p, SLOT(reload()), ac, "dir_rescan");
-   dirChooseAEverywhere = new KAction(i18n("Choose A for All Items"), 0, p, SLOT(slotChooseAEverywhere()), ac, "dir_choose_a_everywhere");
-   dirChooseBEverywhere = new KAction(i18n("Choose B for All Items"), 0, p, SLOT(slotChooseBEverywhere()), ac, "dir_choose_b_everywhere");
-   dirChooseCEverywhere = new KAction(i18n("Choose C for All Items"), 0, p, SLOT(slotChooseCEverywhere()), ac, "dir_choose_c_everywhere");
-   dirAutoChoiceEverywhere = new KAction(i18n("Auto-Choose Operation for All Items"), 0, p, SLOT(slotAutoChooseEverywhere()), ac, "dir_autochoose_everywhere");
-   dirDoNothingEverywhere = new KAction(i18n("No Operation for All Items"), 0, p, SLOT(slotNoOpEverywhere()), ac, "dir_nothing_everywhere");
-
-   dirCurrentDoNothing = new KAction(i18n("Do Nothing"), 0, p, SLOT(slotCurrentDoNothing()), ac, "dir_current_do_nothing");
-   dirCurrentChooseA = new KAction(i18n("A"), 0, p, SLOT(slotCurrentChooseA()), ac, "dir_current_choose_a");
-   dirCurrentChooseB = new KAction(i18n("B"), 0, p, SLOT(slotCurrentChooseB()), ac, "dir_current_choose_b");
-   dirCurrentChooseC = new KAction(i18n("C"), 0, p, SLOT(slotCurrentChooseC()), ac, "dir_current_choose_c");
-   dirCurrentMerge   = new KAction(i18n("Merge"), 0, p, SLOT(slotCurrentMerge()), ac, "dir_current_merge");
-   dirCurrentDelete  = new KAction(i18n("Delete (if exists)"), 0, p, SLOT(slotCurrentDelete()), ac, "dir_current_delete");
-
-   dirCurrentSyncDoNothing = new KAction(i18n("Do Nothing"), 0, p, SLOT(slotCurrentDoNothing()), ac, "dir_current_sync_do_nothing");
-   dirCurrentSyncCopyAToB = new KAction(i18n("Copy A to B"), 0, p, SLOT(slotCurrentCopyAToB()), ac, "dir_current_sync_copy_a_to_b" );
-   dirCurrentSyncCopyBToA = new KAction(i18n("Copy B to A"), 0, p, SLOT(slotCurrentCopyBToA()), ac, "dir_current_sync_copy_b_to_a" );
-   dirCurrentSyncDeleteA  = new KAction(i18n("Delete A"), 0, p, SLOT(slotCurrentDeleteA()), ac,"dir_current_sync_delete_a");
-   dirCurrentSyncDeleteB  = new KAction(i18n("Delete B"), 0, p, SLOT(slotCurrentDeleteB()), ac,"dir_current_sync_delete_b");
-   dirCurrentSyncDeleteAAndB  = new KAction(i18n("Delete A && B"), 0, p, SLOT(slotCurrentDeleteAAndB()), ac,"dir_current_sync_delete_a_and_b");
-   dirCurrentSyncMergeToA   = new KAction(i18n("Merge to A"), 0, p, SLOT(slotCurrentMergeToA()), ac,"dir_current_sync_merge_to_a");
-   dirCurrentSyncMergeToB   = new KAction(i18n("Merge to B"), 0, p, SLOT(slotCurrentMergeToB()), ac,"dir_current_sync_merge_to_b");
-   dirCurrentSyncMergeToAAndB   = new KAction(i18n("Merge to A && B"), 0, p, SLOT(slotCurrentMergeToAAndB()), ac,"dir_current_sync_merge_to_a_and_b");
+   m_pDirStartOperation = new KAction(i18n("Start/Continue Directory Merge"), Qt::Key_F7, p, SLOT(slotRunOperationForAllItems()), ac, "dir_start_operation");
+   m_pDirRunOperationForCurrentItem = new KAction(i18n("Run Operation for Current Item"), Qt::Key_F6, p, SLOT(slotRunOperationForCurrentItem()), ac, "dir_run_operation_for_current_item");
+   m_pDirCompareCurrent = new KAction(i18n("Compare Selected File"), 0, p, SLOT(compareCurrentFile()), ac, "dir_compare_current");
+   m_pDirMergeCurrent = new KAction(i18n("Merge Current File"), QIconSet(QPixmap(startmerge)), 0, pKDiff3App, SLOT(slotMergeCurrentFile()), ac, "merge_current");
+   m_pDirFoldAll = new KAction(i18n("Fold All Subdirs"), 0, p, SLOT(slotFoldAllSubdirs()), ac, "dir_fold_all");
+   m_pDirUnfoldAll = new KAction(i18n("Unfold All Subdirs"), 0, p, SLOT(slotUnfoldAllSubdirs()), ac, "dir_unfold_all");
+   m_pDirRescan = new KAction(i18n("Rescan"), Qt::SHIFT+Qt::Key_F5, p, SLOT(reload()), ac, "dir_rescan");
+   m_pDirSaveMergeState = new KAction(i18n("Save Directory Merge State ..."), 0, p, SLOT(slotSaveMergeState()), ac, "dir_save_merge_state");
+   m_pDirLoadMergeState = new KAction(i18n("Load Directory Merge State ..."), 0, p, SLOT(slotLoadMergeState()), ac, "dir_load_merge_state");
+   m_pDirChooseAEverywhere = new KAction(i18n("Choose A for All Items"), 0, p, SLOT(slotChooseAEverywhere()), ac, "dir_choose_a_everywhere");
+   m_pDirChooseBEverywhere = new KAction(i18n("Choose B for All Items"), 0, p, SLOT(slotChooseBEverywhere()), ac, "dir_choose_b_everywhere");
+   m_pDirChooseCEverywhere = new KAction(i18n("Choose C for All Items"), 0, p, SLOT(slotChooseCEverywhere()), ac, "dir_choose_c_everywhere");
+   m_pDirAutoChoiceEverywhere = new KAction(i18n("Auto-Choose Operation for All Items"), 0, p, SLOT(slotAutoChooseEverywhere()), ac, "dir_autochoose_everywhere");
+   m_pDirDoNothingEverywhere = new KAction(i18n("No Operation for All Items"), 0, p, SLOT(slotNoOpEverywhere()), ac, "dir_nothing_everywhere");
+
+//   m_pDirSynchronizeDirectories = new KToggleAction(i18n("Synchronize Directories"), 0, this, SLOT(slotSynchronizeDirectories()), ac, "dir_synchronize_directories");
+//   m_pDirChooseNewerFiles = new KToggleAction(i18n("Copy Newer Files Instead of Merging"), 0, this, SLOT(slotChooseNewerFiles()), ac, "dir_choose_newer_files");
+
+   m_pDirShowIdenticalFiles = new KToggleAction(i18n("Show Identical Files"), QIconSet(QPixmap(showequalfiles)), 0, this, SLOT(slotShowIdenticalFiles()), ac, "dir_show_identical_files");
+   m_pDirShowDifferentFiles = new KToggleAction(i18n("Show Different Files"), 0, this, SLOT(slotShowDifferentFiles()), ac, "dir_show_different_files");
+   m_pDirShowFilesOnlyInA   = new KToggleAction(i18n("Show Files only in A"), QIconSet(QPixmap(showfilesonlyina)), 0, this, SLOT(slotShowFilesOnlyInA()), ac, "dir_show_files_only_in_a");
+   m_pDirShowFilesOnlyInB   = new KToggleAction(i18n("Show Files only in B"), QIconSet(QPixmap(showfilesonlyinb)), 0, this, SLOT(slotShowFilesOnlyInB()), ac, "dir_show_files_only_in_b");
+   m_pDirShowFilesOnlyInC   = new KToggleAction(i18n("Show Files only in C"), QIconSet(QPixmap(showfilesonlyinc)), 0, this, SLOT(slotShowFilesOnlyInC()), ac, "dir_show_files_only_in_c");
+
+   m_pDirShowIdenticalFiles->setChecked( m_pOptions->m_bDmShowIdenticalFiles );
+
+   m_pDirCompareExplicit = new KAction(i18n("Compare Explicitly Selected Files"), 0, p, SLOT(slotCompareExplicitlySelectedFiles()), ac, "dir_compare_explicitly_selected_files");
+   m_pDirMergeExplicit = new KAction(i18n("Merge Explicitly Selected Files"), 0, p, SLOT(slotMergeExplicitlySelectedFiles()), ac, "dir_merge_explicitly_selected_files");
+
+   m_pDirCurrentDoNothing = new KAction(i18n("Do Nothing"), 0, p, SLOT(slotCurrentDoNothing()), ac, "dir_current_do_nothing");
+   m_pDirCurrentChooseA = new KAction(i18n("A"), 0, p, SLOT(slotCurrentChooseA()), ac, "dir_current_choose_a");
+   m_pDirCurrentChooseB = new KAction(i18n("B"), 0, p, SLOT(slotCurrentChooseB()), ac, "dir_current_choose_b");
+   m_pDirCurrentChooseC = new KAction(i18n("C"), 0, p, SLOT(slotCurrentChooseC()), ac, "dir_current_choose_c");
+   m_pDirCurrentMerge   = new KAction(i18n("Merge"), 0, p, SLOT(slotCurrentMerge()), ac, "dir_current_merge");
+   m_pDirCurrentDelete  = new KAction(i18n("Delete (if exists)"), 0, p, SLOT(slotCurrentDelete()), ac, "dir_current_delete");
+
+   m_pDirCurrentSyncDoNothing = new KAction(i18n("Do Nothing"), 0, p, SLOT(slotCurrentDoNothing()), ac, "dir_current_sync_do_nothing");
+   m_pDirCurrentSyncCopyAToB = new KAction(i18n("Copy A to B"), 0, p, SLOT(slotCurrentCopyAToB()), ac, "dir_current_sync_copy_a_to_b" );
+   m_pDirCurrentSyncCopyBToA = new KAction(i18n("Copy B to A"), 0, p, SLOT(slotCurrentCopyBToA()), ac, "dir_current_sync_copy_b_to_a" );
+   m_pDirCurrentSyncDeleteA  = new KAction(i18n("Delete A"), 0, p, SLOT(slotCurrentDeleteA()), ac,"dir_current_sync_delete_a");
+   m_pDirCurrentSyncDeleteB  = new KAction(i18n("Delete B"), 0, p, SLOT(slotCurrentDeleteB()), ac,"dir_current_sync_delete_b");
+   m_pDirCurrentSyncDeleteAAndB  = new KAction(i18n("Delete A && B"), 0, p, SLOT(slotCurrentDeleteAAndB()), ac,"dir_current_sync_delete_a_and_b");
+   m_pDirCurrentSyncMergeToA   = new KAction(i18n("Merge to A"), 0, p, SLOT(slotCurrentMergeToA()), ac,"dir_current_sync_merge_to_a");
+   m_pDirCurrentSyncMergeToB   = new KAction(i18n("Merge to B"), 0, p, SLOT(slotCurrentMergeToB()), ac,"dir_current_sync_merge_to_b");
+   m_pDirCurrentSyncMergeToAAndB   = new KAction(i18n("Merge to A && B"), 0, p, SLOT(slotCurrentMergeToAAndB()), ac,"dir_current_sync_merge_to_a_and_b");
+   
+   
 }
 
 
 void DirectoryMergeWindow::updateAvailabilities( bool bDirCompare, bool bDiffWindowVisible,
    KToggleAction* chooseA, KToggleAction* chooseB, KToggleAction* chooseC )
 {
-   dirStartOperation->setEnabled( bDirCompare );
-   dirRunOperationForCurrentItem->setEnabled( bDirCompare );
-   dirFoldAll->setEnabled( bDirCompare );
-   dirUnfoldAll->setEnabled( bDirCompare );
-
-   dirCompareCurrent->setEnabled( bDirCompare  &&  isVisible()  &&  isFileSelected() );
-
-   dirMergeCurrent->setEnabled( bDirCompare  &&  isVisible()  &&  isFileSelected()
+   m_pDirStartOperation->setEnabled( bDirCompare );
+   m_pDirRunOperationForCurrentItem->setEnabled( bDirCompare );
+   m_pDirFoldAll->setEnabled( bDirCompare );
+   m_pDirUnfoldAll->setEnabled( bDirCompare );
+
+   m_pDirCompareCurrent->setEnabled( bDirCompare  &&  isVisible()  &&  isFileSelected() );
+
+   m_pDirMergeCurrent->setEnabled( bDirCompare  &&  isVisible()  &&  isFileSelected()
                                 || bDiffWindowVisible );
 
-   dirRescan->setEnabled( bDirCompare );
-
-   dirAutoChoiceEverywhere->setEnabled( bDirCompare &&  isVisible() );
-   dirDoNothingEverywhere->setEnabled( bDirCompare &&  isVisible() );
-   dirChooseAEverywhere->setEnabled( bDirCompare &&  isVisible() );
-   dirChooseBEverywhere->setEnabled( bDirCompare &&  isVisible() );
-   dirChooseCEverywhere->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirRescan->setEnabled( bDirCompare );
+
+   m_pDirAutoChoiceEverywhere->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirDoNothingEverywhere->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirChooseAEverywhere->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirChooseBEverywhere->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirChooseCEverywhere->setEnabled( bDirCompare &&  isVisible() );
 
    bool bThreeDirs = m_dirC.isValid();
 
@@ -2481,12 +2938,21 @@
 
    bool bDirWindowHasFocus = isVisible() && hasFocus();
 
-   dirCurrentDoNothing->setEnabled( bItemActive && bMergeMode );
-   dirCurrentChooseA->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInA );
-   dirCurrentChooseB->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInB );
-   dirCurrentChooseC->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInC );
-   dirCurrentMerge->setEnabled( bItemActive && bMergeMode && !bFTConflict );
-   dirCurrentDelete->setEnabled( bItemActive && bMergeMode );
+   m_pDirShowIdenticalFiles->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirShowDifferentFiles->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirShowFilesOnlyInA->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirShowFilesOnlyInB->setEnabled( bDirCompare &&  isVisible() );
+   m_pDirShowFilesOnlyInC->setEnabled( bDirCompare &&  isVisible() && bThreeDirs );
+
+   m_pDirCompareExplicit->setEnabled( bDirCompare &&  isVisible() && m_pSelection2Item!=0 );
+   m_pDirMergeExplicit->setEnabled( bDirCompare &&  isVisible() && m_pSelection2Item!=0 );
+
+   m_pDirCurrentDoNothing->setEnabled( bItemActive && bMergeMode );
+   m_pDirCurrentChooseA->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInA );
+   m_pDirCurrentChooseB->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInB );
+   m_pDirCurrentChooseC->setEnabled( bItemActive && bMergeMode && pMFI->m_bExistsInC );
+   m_pDirCurrentMerge->setEnabled( bItemActive && bMergeMode && !bFTConflict );
+   m_pDirCurrentDelete->setEnabled( bItemActive && bMergeMode );
    if ( bDirWindowHasFocus )
    {
       chooseA->setEnabled( bItemActive && pMFI->m_bExistsInA );
@@ -2497,15 +2963,15 @@
       chooseC->setChecked( false );
    }
 
-   dirCurrentSyncDoNothing->setEnabled( bItemActive && !bMergeMode );
-   dirCurrentSyncCopyAToB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInA );
-   dirCurrentSyncCopyBToA->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB );
-   dirCurrentSyncDeleteA->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInA );
-   dirCurrentSyncDeleteB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB );
-   dirCurrentSyncDeleteAAndB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB && pMFI->m_bExistsInB );
-   dirCurrentSyncMergeToA->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
-   dirCurrentSyncMergeToB->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
-   dirCurrentSyncMergeToAAndB->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
+   m_pDirCurrentSyncDoNothing->setEnabled( bItemActive && !bMergeMode );
+   m_pDirCurrentSyncCopyAToB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInA );
+   m_pDirCurrentSyncCopyBToA->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB );
+   m_pDirCurrentSyncDeleteA->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInA );
+   m_pDirCurrentSyncDeleteB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB );
+   m_pDirCurrentSyncDeleteAAndB->setEnabled( bItemActive && !bMergeMode && pMFI->m_bExistsInB && pMFI->m_bExistsInB );
+   m_pDirCurrentSyncMergeToA->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
+   m_pDirCurrentSyncMergeToB->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
+   m_pDirCurrentSyncMergeToAAndB->setEnabled( bItemActive && !bMergeMode && !bFTConflict );
 }
 
 
--- a/kdiff3/src/directorymergewindow.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/directorymergewindow.h	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           directorymergewindow.h
                              -------------------
     begin                : Sat Oct 19 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2005 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -30,7 +30,6 @@
 
 class OptionDialog;
 class KIconLoader;
-class StatusMessageBox;
 class StatusInfo;
 class DirectoryMergeInfo;
 class OneDirectoryInfo;
@@ -110,9 +109,8 @@
    DirMergeItem( DirMergeItem* pParent, const QString&, MergeFileInfos*);
    ~DirMergeItem();
    MergeFileInfos* m_pMFI;
-#if QT_VERSION!=230
    virtual int compare(QListViewItem *i, int col, bool ascending) const;
-#endif
+   virtual void paintCell(QPainter * p, const QColorGroup & cg, int column, int width, int align );
    void init(MergeFileInfos* pMFI);
 };
 
@@ -139,6 +137,7 @@
    void initDirectoryMergeActions( QObject* pKDiff3App, KActionCollection* ac );
    void updateAvailabilities( bool bDirCompare, bool bDiffWindowVisible,
       KToggleAction* chooseA, KToggleAction* chooseB, KToggleAction* chooseC );
+   void updateFileVisibilities();
 
    virtual void keyPressEvent( QKeyEvent* e );
    virtual void focusInEvent( QFocusEvent* e );
@@ -158,6 +157,18 @@
    void slotNoOpEverywhere();
    void slotFoldAllSubdirs();
    void slotUnfoldAllSubdirs();
+   void slotShowIdenticalFiles();
+   void slotShowDifferentFiles();
+   void slotShowFilesOnlyInA();
+   void slotShowFilesOnlyInB();
+   void slotShowFilesOnlyInC();
+
+   void slotSynchronizeDirectories();
+   void slotChooseNewerFiles();
+
+   void slotCompareExplicitlySelectedFiles();
+   void slotMergeExplicitlySelectedFiles();
+
    // Merge current item (merge mode)
    void slotCurrentDoNothing();
    void slotCurrentChooseA();
@@ -175,6 +186,9 @@
    void slotCurrentMergeToB();
    void slotCurrentMergeToAAndB();
 
+   void slotSaveMergeState();
+   void slotLoadMergeState();
+
 protected:
    void mergeContinue( bool bStart, bool bVerbose );
    void resizeEvent(QResizeEvent* e);
@@ -217,6 +231,8 @@
    FileAccess m_dirDest;
    FileAccess m_dirDestInternal;
 
+   QString m_dirMergeStateFilename;
+
    std::map<QString, MergeFileInfos> m_fileMergeMap;
 
    bool m_bFollowDirLinks;
@@ -226,12 +242,12 @@
    bool m_bError;
    bool m_bSyncMode;
    bool m_bDirectoryMerge; // if true, then merge is the default operation, otherwise it's diff.
+   bool m_bCaseSensitive;
    
    bool m_bScanning; // true while in init()
 
    OptionDialog* m_pOptions;
    KIconLoader* m_pIconLoader;
-   StatusMessageBox* m_pStatusMessageBox;
    DirectoryMergeInfo* m_pDirectoryMergeInfo;
    StatusInfo* m_pStatusInfo;
 
@@ -239,35 +255,59 @@
    MergeItemList m_mergeItemList;
    MergeItemList::iterator m_currentItemForOperation;
 
-   KAction* dirStartOperation;
-   KAction* dirRunOperationForCurrentItem;
-   KAction* dirCompareCurrent;
-   KAction* dirMergeCurrent;
-   KAction* dirRescan;
-   KAction* dirChooseAEverywhere;
-   KAction* dirChooseBEverywhere;
-   KAction* dirChooseCEverywhere;
-   KAction* dirAutoChoiceEverywhere;
-   KAction* dirDoNothingEverywhere;
-   KAction* dirFoldAll;
-   KAction* dirUnfoldAll;
+   DirMergeItem* m_pSelection1Item;
+   int m_selection1Column;
+   DirMergeItem* m_pSelection2Item;
+   int m_selection2Column;
+   DirMergeItem* m_pSelection3Item;
+   int m_selection3Column;
+   void selectItemAndColumn(DirMergeItem* pDMI, int c, bool bContextMenu);
+   friend class DirMergeItem;
 
-   KAction* dirCurrentDoNothing;
-   KAction* dirCurrentChooseA;
-   KAction* dirCurrentChooseB;
-   KAction* dirCurrentChooseC;
-   KAction* dirCurrentMerge;
-   KAction* dirCurrentDelete;
+   KAction* m_pDirStartOperation;
+   KAction* m_pDirRunOperationForCurrentItem;
+   KAction* m_pDirCompareCurrent;
+   KAction* m_pDirMergeCurrent;
+   KAction* m_pDirRescan;
+   KAction* m_pDirChooseAEverywhere;
+   KAction* m_pDirChooseBEverywhere;
+   KAction* m_pDirChooseCEverywhere;
+   KAction* m_pDirAutoChoiceEverywhere;
+   KAction* m_pDirDoNothingEverywhere;
+   KAction* m_pDirFoldAll;
+   KAction* m_pDirUnfoldAll;
 
-   KAction* dirCurrentSyncDoNothing;
-   KAction* dirCurrentSyncCopyAToB;
-   KAction* dirCurrentSyncCopyBToA;
-   KAction* dirCurrentSyncDeleteA;
-   KAction* dirCurrentSyncDeleteB;
-   KAction* dirCurrentSyncDeleteAAndB;
-   KAction* dirCurrentSyncMergeToA;
-   KAction* dirCurrentSyncMergeToB;
-   KAction* dirCurrentSyncMergeToAAndB;
+   KToggleAction* m_pDirShowIdenticalFiles;
+   KToggleAction* m_pDirShowDifferentFiles;
+   KToggleAction* m_pDirShowFilesOnlyInA;
+   KToggleAction* m_pDirShowFilesOnlyInB;
+   KToggleAction* m_pDirShowFilesOnlyInC;
+
+   KToggleAction* m_pDirSynchronizeDirectories;
+   KToggleAction* m_pDirChooseNewerFiles;
+
+   KAction* m_pDirCompareExplicit;
+   KAction* m_pDirMergeExplicit;
+
+   KAction* m_pDirCurrentDoNothing;
+   KAction* m_pDirCurrentChooseA;
+   KAction* m_pDirCurrentChooseB;
+   KAction* m_pDirCurrentChooseC;
+   KAction* m_pDirCurrentMerge;
+   KAction* m_pDirCurrentDelete;
+
+   KAction* m_pDirCurrentSyncDoNothing;
+   KAction* m_pDirCurrentSyncCopyAToB;
+   KAction* m_pDirCurrentSyncCopyBToA;
+   KAction* m_pDirCurrentSyncDeleteA;
+   KAction* m_pDirCurrentSyncDeleteB;
+   KAction* m_pDirCurrentSyncDeleteAAndB;
+   KAction* m_pDirCurrentSyncMergeToA;
+   KAction* m_pDirCurrentSyncMergeToB;
+   KAction* m_pDirCurrentSyncMergeToAAndB;
+
+   KAction* m_pDirSaveMergeState;
+   KAction* m_pDirLoadMergeState;
 signals:
    void startDiffMerge(QString fn1,QString fn2, QString fn3, QString ofn, QString,QString,QString,TotalDiffStatus*);
    void checkIfCanContinue( bool* pbContinue );
@@ -275,7 +315,8 @@
    void statusBarMessage( const QString& msg );
 protected slots:
    void onDoubleClick( QListViewItem* lvi );
-   void onClick( QListViewItem* lvi, const QPoint&, int c );
+   void onClick( int button, QListViewItem* lvi, const QPoint&, int c );
+   void slotShowContextMenu(QListViewItem* lvi,const QPoint &,int c);
    void onSelectionChanged(QListViewItem* lvi);
 };
 
--- a/kdiff3/src/fileaccess.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/fileaccess.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 /***************************************************************************
  *   Copyright (C) 2003 by Joachim Eibl                                    *
- *   joachim.eibl@gmx.de                                                   *
+ *   joachim.eibl at gmx.de                                                   *
  *                                                                         *
  *   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  *
@@ -17,10 +17,9 @@
 #include <qlabel.h>
 #include <qapplication.h>
 #include <qpushbutton.h>
-#if QT_VERSION==230
-#else
+
 #include <qeventloop.h>
-#endif
+
 #include "common.h"
 #include <ktempfile.h>
 #include <qdir.h>
@@ -42,7 +41,7 @@
 #endif
 
 
-ProgressDialog* g_pProgressDialog;
+ProgressDialog* g_pProgressDialog=0;
 
 
 FileAccess::FileAccess( const QString& name, bool bWantToWrite )
@@ -95,6 +94,7 @@
    m_bSymLink = false;
    m_linkTarget = "";
    m_fileType = -1;
+   m_bLocal = true;
 
    // Note: Checking if the filename-string is empty is necessary for Win95/98/ME.
    //       The isFile() / isDir() queries would cause the program to crash.
@@ -121,13 +121,8 @@
          m_bReadable    = fi.isReadable();
          m_bWritable    = fi.isWritable();
          m_bExecutable  = fi.isExecutable();
-#if QT_VERSION==230
-         m_creationTime = fi.lastModified();
-         m_bHidden    = false;
-#else
          m_creationTime = fi.created();
          m_bHidden    = fi.isHidden();
-#endif
          m_modificationTime = fi.lastModified();
          m_accessTime = fi.lastRead();
          m_size       = fi.size();
@@ -145,6 +140,32 @@
          {
             m_url.setPath( m_absFilePath );
          }
+
+         if ( !m_bExists  && m_absFilePath.contains("@@") )
+         {
+            // Try reading a clearcase file
+            m_localCopy = FileAccess::tempFileName();
+            QString ctName = m_localCopy + ".cleartool"; // Because cleartool can't overwrite existing file
+            QString cmd = "cleartool get -to \"" + ctName + "\"  \"" + m_absFilePath + "\"";
+            ::system( cmd.local8Bit() );
+            FileAccess ctFile(ctName);
+            ctFile.copyFile(m_localCopy);
+            ctFile.removeFile();
+
+            QFileInfo fi( m_localCopy );
+            m_bReadable    = fi.isReadable();
+            m_bWritable    = fi.isWritable();
+            m_bExecutable  = fi.isExecutable();
+            m_creationTime = fi.created();
+            m_bHidden    = fi.isHidden();
+            m_modificationTime = fi.lastModified();
+            m_accessTime = fi.lastRead();
+            m_size       = fi.size();
+            m_bSymLink   = fi.isSymLink();
+            m_bFile      = fi.isFile();
+            m_bDir       = fi.isDir();
+            m_bExists    = fi.exists();
+         }
       }
       else
       {
@@ -426,29 +447,31 @@
       QString fileName;
       #ifdef _WIN32
          QString tmpDir = getenv("TEMP");
-         for(int i=0; ;++i)
-         {
-            // short filenames for WIN98 because for system() the command must not exceed 120 characters.
-            fileName = tmpDir + "\\" + QString::number(i);
-            if ( ! FileAccess::exists(fileName) )
-               break;
-         }
       #else
          QString tmpDir = "/tmp";
-         for(int i=0; ;++i)
-         {
+      #endif
+      for(int i=0; ;++i)
+      {
+         // short filenames for WIN98 because for system() the command must not exceed 120 characters.
+         #ifdef _WIN32
+         if ( QApplication::winVersion() & Qt::WV_DOS_based ) // Win95, 98, ME
+            fileName = tmpDir + "\\" + QString::number(i);
+         else
+         #endif
             fileName = tmpDir + "/kdiff3_" + QString::number(i) +".tmp";
-            if ( ! FileAccess::exists(fileName) )
-               break;
-         }
-      #endif
-
+         if ( ! FileAccess::exists(fileName) && 
+              QFile(fileName).open(IO_WriteOnly) ) // open, truncate and close the file, true if successful
+		{
+            break;
+		}
+      }
       return QDir::convertSeparators(fileName);
 
    #else  // using KDE
 
       KTempFile tmpFile;
-      tmpFile.setAutoDelete( true );  // We only want the name. Delete the precreated file immediately.
+      //tmpFile.setAutoDelete( true );  // We only want the name. Delete the precreated file immediately.
+      tmpFile.close();
       return tmpFile.name();
 
    #endif
@@ -905,21 +928,15 @@
    return true;
 }
 
-static bool wildcardMultiMatch( const QString& wildcard, const QString& testString, bool bCaseSensitive )
+bool wildcardMultiMatch( const QString& wildcard, const QString& testString, bool bCaseSensitive )
 {
    QStringList sl = QStringList::split( ";", wildcard );
 
    for ( QStringList::Iterator it = sl.begin(); it != sl.end(); ++it )
    {
       QRegExp pattern( *it, bCaseSensitive, true /*wildcard mode*/);
-#if QT_VERSION==230
-      int len=0;
-      if ( pattern.match( testString, 0, &len )!=-1 && len==testString.length())
-         return true;
-#else
       if ( pattern.exactMatch( testString ) )
          return true;
-#endif
    }
 
    return false;
@@ -927,9 +944,9 @@
 
 
 // class CvsIgnoreList from Cervisia cvsdir.cpp
-//    Copyright (C) 1999-2002 Bernd Gehrmann <bernd@mail.berlios.de>
+//    Copyright (C) 1999-2002 Bernd Gehrmann <bernd at mail.berlios.de>
 // with elements from class StringMatcher
-//    Copyright (c) 2003 Andr�W�beking <Woebbeking@web.de>
+//    Copyright (c) 2003 Andr�Woebeking <Woebbeking at web.de>
 // Modifications for KDiff3 by Joachim Eibl
 class CvsIgnoreList
 {
@@ -978,10 +995,9 @@
                {
                   if (pos>pos1)
                   {
-                     QCString entry( &buf[pos1], pos-pos1+1 );
-                     addEntry( entry );
+                     addEntry( QString::fromLatin1( &buf[pos1], pos-pos1 ) );
                   }
-                  pos1=pos+1;
+                  ++pos1;
                }
             }
             delete buf;
@@ -1023,7 +1039,7 @@
 
 void CvsIgnoreList::addEntry(const QString& pattern)
 {
-   if (pattern != QChar('!'))
+   if (pattern != QString("!"))
    {
       if (pattern.isEmpty())    return;
 
@@ -1254,7 +1270,7 @@
                fa.m_fileType    = 0;
 
                fa.m_name = QT_WA_INLINE(
-                  QString::fromUcs2(findData.cFileName),
+                  QString::fromUcs2((const ushort*)findData.cFileName),
                   QString::fromLocal8Bit(findDataA.cFileName)
                   );
 
@@ -1420,14 +1436,16 @@
    m_pSubProgressBar = new KProgress(1000, this);
    layout->addWidget( m_pSubProgressBar );
 
+   m_pSlowJobInfo = new QLabel( " ", this);
+   layout->addWidget( m_pSlowJobInfo );
+
    QHBoxLayout* hlayout = new QHBoxLayout( layout );
-   m_pSlowJobInfo = new QLabel( " ", this);
-   hlayout->addWidget( m_pSlowJobInfo );
-
+   hlayout->addStretch(1);
    m_pAbortButton = new QPushButton( i18n("&Cancel"), this);
    hlayout->addWidget( m_pAbortButton );
    connect( m_pAbortButton, SIGNAL(clicked()), this, SLOT(slotAbort()) );
 
+   m_progressDelayTimer = 0;
    resize( 400, 100 );
    m_t1.start();
    m_t2.start();
@@ -1559,8 +1577,10 @@
 void ProgressDialog::enterEventLoop( KIO::Job* pJob, const QString& jobInfo )
 {
    m_pJob = pJob;
+   m_pSlowJobInfo->setText("");
    m_currentJobInfo = jobInfo;
-   startTimer( 3000 ); /* 3 s delay */
+   killTimer( m_progressDelayTimer );
+   m_progressDelayTimer = startTimer( 3000 ); /* 3 s delay */
 
    // instead of using exec() the eventloop is entered and exited often without hiding/showing the window.
 #if QT_VERSION==230
@@ -1574,17 +1594,17 @@
 
 void ProgressDialog::exitEventLoop()
 {
-   killTimers();
+   killTimer( m_progressDelayTimer );
+   m_progressDelayTimer = 0;
    m_pJob = 0;
-#if QT_VERSION==230
-   //qApp->exit_loop();
-#else
    qApp->eventLoop()->exitLoop();
-#endif
 }
 
 void ProgressDialog::recalc( bool bUpdate )
 {
+   killTimer( m_progressDelayTimer );
+   m_progressDelayTimer = startTimer( 3000 ); /* 3 s delay */
+
    int level = m_progressStack.size();
    if( ( bUpdate && level==1) || m_t1.elapsed()>200 )
    {
@@ -1605,7 +1625,6 @@
       }
 
       if ( !isVisible() ) show();
-      m_pSlowJobInfo->setText("");
       qApp->processEvents();
       m_t1.restart();
    }
@@ -1615,8 +1634,9 @@
 #include <qtimer.h>
 void ProgressDialog::show()
 {
-   killTimers();
-   if ( !isVisible() )
+   killTimer( m_progressDelayTimer );
+   m_progressDelayTimer = 0;
+   if ( !isVisible() && (parentWidget()==0 || parentWidget()->isVisible()) )
    {
 #if QT_VERSION==230
       QWidget::show();
@@ -1628,7 +1648,8 @@
 
 void ProgressDialog::hide()
 {
-   killTimers();
+   killTimer( m_progressDelayTimer );
+   m_progressDelayTimer = 0;
    // Calling QDialog::hide() directly doesn't always work. (?)
    QTimer::singleShot( 100, this, SLOT(delayedHide()) );
 }
@@ -1643,7 +1664,7 @@
    QDialog::hide();
    m_pInformation->setText( "" );
 
-   m_progressStack.clear();
+   //m_progressStack.clear();
 
    m_pProgressBar->setProgress( 0 );
    m_pSubProgressBar->setProgress( 0 );
--- a/kdiff3/src/fileaccess.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/fileaccess.h	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 /***************************************************************************
- *   Copyright (C) 2003 by Joachim Eibl                                    *
- *   joachim.eibl@gmx.de                                                   *
+ *   Copyright (C) 2003-2006 by Joachim Eibl                               *
+ *   joachim.eibl at gmx.de                                                   *
  *                                                                         *
  *   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  *
@@ -21,6 +21,8 @@
 #include <qstring.h>
 #include <qdatetime.h>
 
+bool wildcardMultiMatch( const QString& wildcard, const QString& testString, bool bCaseSensitive );
+
 class t_DirectoryList;
 
 class FileAccess
@@ -212,6 +214,8 @@
       double m_dSubRangeMin;
    };
    std::list<ProgressLevelData> m_progressStack;
+   
+   int m_progressDelayTimer;
 
    KProgress* m_pProgressBar;
    KProgress* m_pSubProgressBar;
--- a/kdiff3/src/gnudiff_analyze.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/gnudiff_analyze.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -19,7 +19,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING.
    If not, write to the Free Software Foundation,
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 /* The basic algorithm is described in:
    "An O(ND) Difference Algorithm and its Variations", Eugene Myers,
@@ -792,13 +792,6 @@
 
 
 /* Report the differences of two files.  */
-// WARNING:
-//  This algorithm has one big problem: It must have a line end character
-//  at the end of the last line, even if there is none in the file.
-//  Because of this the algorithm first places a line end character there
-//  which means that the input data can't be const and some extra bytes of memory 
-//  must be allocated in advance for this purpose. This is very dangerous, because
-//  easy to forget.
 GnuDiff::change* GnuDiff::diff_2_files (struct comparison *cmp)
 {
   lin diags;
@@ -859,12 +852,9 @@
       shift_boundaries (cmp->file);
 
       /* Get the results of comparison in the form of a chain
-	 of `struct change's -- an edit script.  */
+         of `struct change's -- an edit script.  */
 
-      if (output_style == OUTPUT_ED)
-	script = build_reverse_script (cmp->file);
-      else
-	script = build_script (cmp->file);
+      script = build_script (cmp->file);
 
       changes = (script != 0);
 
@@ -881,50 +871,3 @@
 
   return script;
 }
-
-/* Compare two lines (typically one from each input file)
-   according to the command line options.
-   For efficiency, this is invoked only when the lines do not match exactly
-   but an option like -i might cause us to ignore the difference.
-   Return nonzero if the lines differ.  */
-
-bool
-GnuDiff::lines_differ (const QChar *s1, const QChar *s2)
-{
-  const QChar *t1 = s1;
-  const QChar *t2 = s2;
-
-  while (1)
-    {
-      QChar c1 = *t1++;
-      QChar c2 = *t2++;
-
-      /* Test for exact char equality first, since it's a common case.  */
-      if (c1 != c2)
-	{
-          while ( bIgnoreWhiteSpace && isWhite( c1 )  ||
-                  bIgnoreNumbers    && (c1.isDigit() || c1=='-' || c1=='.' ))
-             c1 = *t1++;
-
-          while ( bIgnoreWhiteSpace && isWhite( c2 )  ||
-                  bIgnoreNumbers    && (c2.isDigit() || c2=='-' || c2=='.' ))
-             c2 = *t2++;
-
-	  /* Lowercase all letters if -i is specified.  */
-
-	  if (ignore_case)
-	    {
-	      c1 = c1.lower();
-              c2 = c2.lower();
-	    }
-
-	  if (c1 != c2)
-	    break;
-	}
-      if (c1 == '\n')
-	return 0;
-    }
-
-  return 1;
-}
-
--- a/kdiff3/src/gnudiff_diff.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/gnudiff_diff.h	Mon Apr 10 08:40:51 2006 +0000
@@ -19,7 +19,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING.
    If not, write to the Free Software Foundation,
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #ifndef GNUDIFF_DIFF_H
 #define GNUDIFF_DIFF_H
@@ -52,42 +52,6 @@
 
 /* Variables for command line options */
 
-enum output_style
-{
-  /* No output style specified.  */
-  OUTPUT_UNSPECIFIED,
-
-  /* Default output style.  */
-  OUTPUT_NORMAL,
-
-  /* Output the differences with lines of context before and after (-c).  */
-  OUTPUT_CONTEXT,
-
-  /* Output the differences in a unified context diff format (-u).  */
-  OUTPUT_UNIFIED,
-
-  /* Output the differences as commands suitable for `ed' (-e).  */
-  OUTPUT_ED,
-
-  /* Output the diff as a forward ed script (-f).  */
-  OUTPUT_FORWARD_ED,
-
-  /* Like -f, but output a count of changed lines in each "command" (-n).  */
-  OUTPUT_RCS,
-
-  /* Output merged #ifdef'd file (-D).  */
-  OUTPUT_IFDEF,
-
-  /* Output sdiff style (-y).  */
-  OUTPUT_SDIFF
-};
-
-/* True for output styles that are robust,
-   i.e. can handle a file that ends in a non-newline.  */
-#define ROBUST_OUTPUT_STYLE(S) ((S) != OUTPUT_ED && (S) != OUTPUT_FORWARD_ED)
-
-enum output_style output_style;
-
 /* Nonzero if output cannot be generated for identical files.  */
 bool no_diff_means_no_output;
 
@@ -99,9 +63,6 @@
    Don't interpret codes over 0177 as implying a "binary file".  */
 bool text;
 
-/* Number of lines to keep in identical prefix and suffix.  */
-lin horizon_lines;
-
 /* The significance of white space during comparisons.  */
 enum
 {
@@ -218,13 +179,8 @@
 /* Data on one input file being compared.  */
 
 struct file_data {
-#if 0
-    int             desc;	/* File descriptor  */
-    const QChar      *name;	/* File name  */
-    struct stat     stat;	/* File status */
-#endif
     /* Buffer in which text of file is read.  */
-    word *buffer;
+    const QChar* buffer;
 
     /* Allocated size of buffer, in QChars.  Always a multiple of
        sizeof *buffer.  */
@@ -273,9 +229,6 @@
        The results of comparison are stored here.  */
     bool *changed;
 
-    /* 1 if file ends in a line with no final newline.  */
-    bool missing_newline;
-
     /* 1 if at end of file.  */
     bool eof;
 
@@ -284,10 +237,6 @@
     lin equiv_max;
 };
 
-/* The file buffer, considered as an array of bytes rather than
-   as an array of words.  */
-#define FILE_BUFFER(f) ((QChar *) (f)->buffer)
-
 /* Data on two input files being compared.  */
 
 struct comparison
@@ -338,7 +287,7 @@
 
 /* util.c */
 QChar *concat (const QChar *, const QChar *, const QChar *);
-bool lines_differ (const QChar *, const QChar *);
+bool lines_differ ( const QChar *, size_t, const QChar *, size_t );
 lin translate_line_number (struct file_data const *, lin);
 struct change *find_change (struct change *);
 struct change *find_reverse_change (struct change *);
@@ -368,17 +317,16 @@
    struct change * add_change (lin line0, lin line1, lin deleted, lin inserted, struct change *old);
    struct change * build_reverse_script (struct file_data const filevec[]);
    struct change* build_script (struct file_data const filevec[]);
-   
+
    // gnudiff_io.cpp
    void find_and_hash_each_line (struct file_data *current);
-   void prepare_text (struct file_data *current);
    void find_identical_ends (struct file_data filevec[]);
 
    // gnudiff_xmalloc.cpp
    void *xmalloc (size_t n);
    void *xrealloc(void *p, size_t n);
    void xalloc_die (void);
-   
+
    inline bool isWhite( QChar c )
    {
       return c==' ' || c=='\t' ||  c=='\r';
--- a/kdiff3/src/gnudiff_io.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/gnudiff_io.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -19,7 +19,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING.
    If not, write to the Free Software Foundation,
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #include "gnudiff_diff.h"
 #include <stdlib.h>
@@ -72,6 +72,61 @@
 
 #define binary_file_p(buf, size) (memchr (buf, 0, size) != 0)
 
+/* Compare two lines (typically one from each input file)
+   according to the command line options.
+   For efficiency, this is invoked only when the lines do not match exactly
+   but an option like -i might cause us to ignore the difference.
+   Return nonzero if the lines differ.  */
+
+bool GnuDiff::lines_differ (const QChar *s1, size_t len1, const QChar *s2, size_t len2 )
+{
+   const QChar *t1 = s1;
+   const QChar *t2 = s2;
+   const QChar *s1end = s1+len1;
+   const QChar *s2end = s2+len2;
+
+   for ( ; ; ++t1, ++t2 )
+   {
+      /* Test for exact char equality first, since it's a common case.  */
+      if ( t1!=s1end && t2!=s2end && *t1==*t2 )
+         continue;
+      else
+      {
+         while ( t1!=s1end &&
+                 ( bIgnoreWhiteSpace && isWhite( *t1 )  ||
+                   bIgnoreNumbers    && (t1->isDigit() || *t1=='-' || *t1=='.' )))
+         {
+            ++t1;
+         }
+
+         while ( t2 != s2end &&
+                 ( bIgnoreWhiteSpace && isWhite( *t2 )  ||
+                   bIgnoreNumbers    && (t2->isDigit() || *t2=='-' || *t2=='.' )))
+         {
+            ++t2;
+         }
+
+         if ( t1!=s1end && t2!=s2end )
+         {
+            if (ignore_case)
+            {  /* Lowercase comparison. */
+               if ( t1->lower() == t2->lower() )
+                  continue;
+            }
+            else if ( *t1 == *t2 )
+               continue;
+            else
+               return true;
+         }
+         else if ( t1==s1end && t2==s2end )
+            return false;
+         else
+            return true;
+      }
+   }
+   return false;
+}
+
 
 /* Split the file into lines, simultaneously computing the equivalence
    class for each line.  */
@@ -79,7 +134,7 @@
 void GnuDiff::find_and_hash_each_line (struct file_data *current)
 {
   hash_value h;
-  const QChar *p = (const QChar *) current->prefix_end;
+  const QChar *p = current->prefix_end;
   QChar c;
   lin i, *bucket;
   size_t length;
@@ -94,64 +149,63 @@
   lin eqs_index = equivs_index;
   lin eqs_alloc = equivs_alloc;
   const QChar *suffix_begin = current->suffix_begin;
-  const QChar *bufend = FILE_BUFFER (current) + current->buffered;
+  const QChar *bufend = current->buffer + current->buffered;
   bool diff_length_compare_anyway =
     ignore_white_space != IGNORE_NO_WHITE_SPACE || bIgnoreNumbers;
   bool same_length_diff_contents_compare_anyway =
     diff_length_compare_anyway | ignore_case;
 
-  while ((const QChar *) p < suffix_begin)
+  while ( p < suffix_begin)
     {
-      const QChar *ip = (const QChar *) p;
+      const QChar *ip = p;
 
       h = 0;
 
-      /* Hash this line until we find a newline.  */
+      /* Hash this line until we find a newline or bufend is reached.  */
       if (ignore_case)
 	switch (ignore_white_space)
 	  {
 	  case IGNORE_ALL_SPACE:
-	    while ((c = *p++) != '\n')
+	    while ( p<bufend && (c = *p) != '\n' )
+            {
 	      if (! (isWhite(c) || bIgnoreNumbers && (c.isDigit() || c=='-' || c=='.' ) ))
                   h = HASH (h, c.lower().unicode());
+              ++p;
+            }            
 	    break;
 
 	  default:
-	    while ((c = *p++) != '\n')
+	    while ( p<bufend && (c = *p) != '\n' )
+            {
                h = HASH (h, c.lower().unicode());
+               ++p;
+            }
 	    break;
 	  }
       else
 	switch (ignore_white_space)
 	  {
 	  case IGNORE_ALL_SPACE:
-	    while ((c = *p++) != '\n')
+	    while ( p<bufend && (c = *p) != '\n')
+            {
 	      if (! (isWhite(c)|| bIgnoreNumbers && (c.isDigit() || c=='-' || c=='.' ) ))
-                  h = HASH (h, c.unicode());
+                 h = HASH (h, c.unicode());
+              ++p;
+            }
 	    break;
 
 	  default:
-	    while ((c = *p++) != '\n')
+	    while ( p<bufend && (c = *p) != '\n')
+            {
                h = HASH (h, c.unicode());
+               ++p;
+            }
 	    break;
 	  }
 
       bucket = &buckets[h % nbuckets];
-      length = (const QChar *) p - ip - 1;
-
-      if ((const QChar *) p >= bufend
-	  && current->missing_newline
-	  && ROBUST_OUTPUT_STYLE (output_style))
-	{
-	  /* This line is incomplete.  If this is significant,
-	     put the line into buckets[-1].  */
-	  if (ignore_white_space < IGNORE_SPACE_CHANGE)
-	    bucket = &buckets[-1];
-
-	  /* Omit the inserted newline when computing linbuf later.  */
-	  p--;
-	  bufend = suffix_begin = (const QChar *) p;
-	}
+      length = p - ip;
+      ++p;
 
       for (i = *bucket;  ;  i = eqs[i].next)
 	if (!i)
@@ -183,7 +237,7 @@
 		/* Reuse existing equivalence class if the lines are identical.
 		   This detects the common case of exact identity
 		   faster than lines_differ would.  */
-		if (memcmp (eqline, ip, length) == 0)
+		if (memcmp (eqline, ip, length*sizeof(QChar)) == 0)
 		  break;
 		if (!same_length_diff_contents_compare_anyway)
 		  continue;
@@ -191,7 +245,7 @@
 	    else if (!diff_length_compare_anyway)
 	      continue;
 
-	    if (! lines_differ (eqline, ip))
+	    if (! lines_differ (eqline, eqs[i].length, ip, length))
 	      break;
 	  }
 
@@ -235,9 +289,9 @@
 			     (alloc_lines - linbuf_base) * sizeof *linbuf);
 	  linbuf -= linbuf_base;
 	}
-      linbuf[line] = (const QChar *) p;
+      linbuf[line] = p;
 
-      if ((const QChar *) p >= bufend)
+      if ( p >= bufend)
 	break;
 
       if (context <= i && no_diff_means_no_output)
@@ -245,8 +299,8 @@
 
       line++;
 
-      while (*p++ != '\n')
-	continue;
+      while (p<bufend && *p++ != '\n')
+        continue;
     }
 
   /* Done with cache in local variables.  */
@@ -259,33 +313,6 @@
   equivs_index = eqs_index;
 }
 
-/* Prepare the text.  Make sure the text end is initialized.
-   Make sure text ends in a newline,
-   but remember that we had to add one.
-   Strip trailing CRs, if that was requested.  */
-
-void GnuDiff::prepare_text (struct file_data *current)
-{
-  size_t buffered = current->buffered;
-  QChar *p = FILE_BUFFER (current);
-
-  if (buffered == 0 || p[buffered - 1] == '\n')
-    current->missing_newline = 0;
-  else
-    {
-      p[buffered++] = '\n';
-      current->missing_newline = 1;
-    }
-
-  if (!p)
-    return;
-
-  /* Don't use uninitialized storage when planting or using sentinels.  */
-  memset (p + buffered, 0, sizeof (word));
-
-  current->buffered = buffered;
-}
-
 /* We have found N lines in a buffer of size S; guess the
    proportionate number of lines that will be found in a buffer of
    size T.  However, do not guess a number of lines so large that the
@@ -303,67 +330,33 @@
 
 void GnuDiff::find_identical_ends (struct file_data filevec[])
 {
-  word *w0, *w1;
-  QChar *p0, *p1, *buffer0, *buffer1;
-  const QChar *end0, *beg0;
-  const QChar **linbuf0, **linbuf1;
-  lin i, lines;
+  /* Find identical prefix.  */
+  const QChar *p0, *p1, *buffer0, *buffer1;
+  p0 = buffer0 = filevec[0].buffer;
+  p1 = buffer1 = filevec[1].buffer;
   size_t n0, n1;
-  lin alloc_lines0, alloc_lines1;
-  lin buffered_prefix, prefix_count, prefix_mask;
-  lin middle_guess, suffix_guess;
-
-  prepare_text (&filevec[0]);
-  prepare_text (&filevec[1]);
-
-  /* Find identical prefix.  */
-
-  w0 = filevec[0].buffer;
-  w1 = filevec[1].buffer;
-  p0 = buffer0 = (QChar *) w0;
-  p1 = buffer1 = (QChar *) w1;
   n0 = filevec[0].buffered;
   n1 = filevec[1].buffered;
+  const QChar* const pEnd0 = p0 + n0;
+  const QChar* const pEnd1 = p1 + n1;
 
   if (p0 == p1)
     /* The buffers are the same; sentinels won't work.  */
     p0 = p1 += n1;
   else
     {
-      /* Insert end sentinels, in this case characters that are guaranteed
-	 to make the equality test false, and thus terminate the loop.  */
-
-      if (n0 < n1)
-	p0[n0] = ~p1[n0];
-      else
-	p1[n1] = ~p0[n1];
-
-      /* Loop until first mismatch, or to the sentinel characters.  */
-
-      /* Compare a word at a time for speed.  */
-      while (*w0 == *w1)
-	w0++, w1++;
-
-      /* Do the last few bytes of comparison a byte at a time.  */
-      p0 = (QChar *) w0;
-      p1 = (QChar *) w1;
-      while (*p0 == *p1)
-	p0++, p1++;
-
-      /* Don't mistakenly count missing newline as part of prefix.  */
-      if (ROBUST_OUTPUT_STYLE (output_style)
-	  && ((buffer0 + n0 - filevec[0].missing_newline < p0)
-	      !=
-	      (buffer1 + n1 - filevec[1].missing_newline < p1)))
-	p0--, p1--;
+      /* Loop until first mismatch, or end. */
+      while ( p0!=pEnd0  &&  p1!=pEnd1  &&  *p0 == *p1 )
+      {
+         p0++;
+         p1++;
+      }
     }
 
   /* Now P0 and P1 point at the first nonmatching characters.  */
 
-  /* Skip back to last line-beginning in the prefix,
-     and then discard up to HORIZON_LINES lines from the prefix.  */
-  i = horizon_lines;
-  while (p0 != buffer0 && (p0[-1] != '\n' || i--))
+  /* Skip back to last line-beginning in the prefix. */
+  while (p0 != buffer0 && (p0[-1] != '\n' ))
     p0--, p1--;
 
   /* Record the prefix.  */
@@ -376,38 +369,35 @@
   p0 = buffer0 + n0;
   p1 = buffer1 + n1;
 
-  if (! ROBUST_OUTPUT_STYLE (output_style)
-      || filevec[0].missing_newline == filevec[1].missing_newline)
-    {
-      end0 = p0;	/* Addr of last char in file 0.  */
+   const QChar *end0, *beg0;
+   end0 = p0; /* Addr of last char in file 0.  */
 
-      /* Get value of P0 at which we should stop scanning backward:
-	 this is when either P0 or P1 points just past the last char
-	 of the identical prefix.  */
-      beg0 = filevec[0].prefix_end + (n0 < n1 ? 0 : n0 - n1);
+   /* Get value of P0 at which we should stop scanning backward:
+      this is when either P0 or P1 points just past the last char
+      of the identical prefix.  */
+   beg0 = filevec[0].prefix_end + (n0 < n1 ? 0 : n0 - n1);
 
-      /* Scan back until chars don't match or we reach that point.  */
-      for (; p0 != beg0; p0--, p1--)
-	if (*p0 != *p1)
-	  {
-	    /* Point at the first char of the matching suffix.  */
-	    beg0 = p0;
-	    break;
-	  }
+   /* Scan back until chars don't match or we reach that point.  */
+   for (; p0 != beg0; p0--, p1--)
+   {
+      if (*p0 != *p1)
+      {
+         /* Point at the first char of the matching suffix.  */
+         beg0 = p0;
+         break;
+      }
+   }
 
-      /* Are we at a line-beginning in both files?  If not, add the rest of
-	 this line to the main body.  Discard up to HORIZON_LINES lines from
-	 the identical suffix.  Also, discard one extra line,
-	 because shift_boundaries may need it.  */
-      i = horizon_lines + !((buffer0 == p0 || p0[-1] == '\n')
-			    &&
-			    (buffer1 == p1 || p1[-1] == '\n'));
-      while (i-- && p0 != end0)
-	while (*p0++ != '\n')
-	  continue;
+   // Go to the next line (skip last line with a difference)
+   if ( p0 != end0 )
+   {
+      if (*p0 != *p1)
+         ++p0;
+      while ( p0<pEnd0 && *p0++ != '\n')
+         continue;
+   }
 
-      p1 += p0 - beg0;
-    }
+   p1 += p0 - beg0;
 
   /* Record the suffix.  */
   filevec[0].suffix_begin = p0;
@@ -427,6 +417,10 @@
      Handle 1 more line than the context says (because we count 1 too many),
      rounded up to the next power of 2 to speed index computation.  */
 
+  const QChar **linbuf0, **linbuf1;
+  lin alloc_lines0, alloc_lines1;
+  lin buffered_prefix, prefix_count, prefix_mask;
+  lin middle_guess, suffix_guess;
   if (no_diff_means_no_output
       && context < (lin)(LIN_MAX / 4) && context < (lin)(n0))
     {
@@ -444,7 +438,7 @@
     }
 
   prefix_mask = prefix_count - 1;
-  lines = 0;
+  lin lines = 0;
   linbuf0 = (const QChar**) xmalloc (alloc_lines0 * sizeof(*linbuf0));
   p0 = buffer0;
 
@@ -465,7 +459,7 @@
               linbuf0 = (const QChar**) xrealloc (linbuf0, alloc_lines0 * sizeof(*linbuf0));
 	    }
 	  linbuf0[l] = p0;
-	  while (*p0++ != '\n')
+	  while ( p0<pEnd0 && *p0++ != '\n' )
 	    continue;
 	}
     }
@@ -481,14 +475,15 @@
     xalloc_die ();
   linbuf1 = (const QChar**)xmalloc (alloc_lines1 * sizeof(*linbuf1));
 
+  lin i;
   if (buffered_prefix != lines)
-    {
+  {
       /* Rotate prefix lines to proper location.  */
       for (i = 0;  i < buffered_prefix;  i++)
 	linbuf1[i] = linbuf0[(lines - context + i) & prefix_mask];
       for (i = 0;  i < buffered_prefix;  i++)
 	linbuf0[i] = linbuf1[i];
-    }
+  }
 
   /* Initialize line buffer 1 from line buffer 0.  */
   for (i = 0; i < buffered_prefix; i++)
--- a/kdiff3/src/gnudiff_system.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/gnudiff_system.h	Mon Apr 10 08:40:51 2006 +0000
@@ -19,7 +19,7 @@
    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING.
    If not, write to the Free Software Foundation,
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #ifndef GNUDIFF_SYSTEM_H
 #define GNUDIFF_SYSTEM_H
@@ -120,13 +120,6 @@
 #define MAX(a, b) ((a) >= (b) ? (a) : (b))
 
 
-
-/* Type used for fast comparison of several bytes at a time.  */
-
-#ifndef word
-# define word unsigned int
-#endif
-
 /* The integer type of a line number.  Since files are read into main
    memory, ptrdiff_t should be wide enough.  */
 
--- a/kdiff3/src/gnudiff_xmalloc.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/gnudiff_xmalloc.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -17,7 +17,7 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 #if HAVE_CONFIG_H
 # include <config.h>
--- a/kdiff3/src/kdiff3.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Don Jul 11 12:31:29 CEST 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -15,7 +15,8 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "diff.h"
+#include "difftextwindow.h"
+#include "mergeresultwindow.h"
 
 #include <iostream>
 
@@ -24,12 +25,14 @@
 #include <qprinter.h>
 #include <qpainter.h>
 #include <qsplitter.h>
-#include <qlayout.h>
 #include <qlineedit.h>
 #include <qcheckbox.h>
 #include <qpushbutton.h>
 #include <qpopupmenu.h>
 #include <qlabel.h>
+#include <qtextedit.h>
+#include <qlayout.h>
+#include <qpaintdevicemetrics.h>
 
 // include files for KDE
 #include <kiconloader.h>
@@ -41,6 +44,7 @@
 #include <kconfig.h>
 #include <kstdaction.h>
 #include <kcmdlineargs.h>
+#include <kprinter.h>
 //#include <kkeydialog.h>
 
 // application specific includes
@@ -49,6 +53,7 @@
 #include "fileaccess.h"
 #include "kdiff3_part.h"
 #include "directorymergewindow.h"
+#include "smalldialogs.h"
 
 #define ID_STATUS_MSG 1
 
@@ -81,6 +86,10 @@
    return m_pKDiff3Shell==0;
 }
 
+bool KDiff3App::isFileSaved()
+{
+   return m_bFileSaved;
+}
 
 KDiff3App::KDiff3App(QWidget* pParent, const char* name, KDiff3Part* pKDiff3Part )
    :QSplitter(pParent, name)  //previously KMainWindow
@@ -97,17 +106,22 @@
    m_pDiffTextWindow1 = 0;
    m_pDiffTextWindow2 = 0;
    m_pDiffTextWindow3 = 0;
+   m_pDiffTextWindowFrame1 = 0;
+   m_pDiffTextWindowFrame2 = 0;
+   m_pDiffTextWindowFrame3 = 0;
    m_pDiffWindowSplitter = 0;
    m_pOverview        = 0;
    m_bTripleDiff = false;
    m_pMergeResultWindow = 0;
    m_pMergeWindowFrame = 0;
    m_bOutputModified = false;
+   m_bFileSaved = false;
    m_bTimerBlock = false;
    m_pHScrollBar = 0;
 
    // Needed before any file operations via FileAccess happen.
-   g_pProgressDialog = new ProgressDialog(this);
+   if (!g_pProgressDialog)
+      g_pProgressDialog = new ProgressDialog(0);
 
    // All default values must be set before calling readOptions().
    m_pOptionDialog = new OptionDialog( m_pKDiff3Shell!=0, this );
@@ -115,13 +129,50 @@
 
    m_pOptionDialog->readOptions( isPart() ? m_pKDiff3Part->instance()->config() : kapp->config() );
 
+   // Option handling: Only when pParent==0 (no parent)
+   KCmdLineArgs *args = isPart() ? 0 : KCmdLineArgs::parsedArgs();
+
+   if (args)
+   {
+      QString s;
+      QString title;
+      if ( args->isSet("confighelp") )
+      {
+         s = m_pOptionDialog->calcOptionHelp();
+         title = i18n("Current Configuration:");
+      }
+      else
+      {
+         s = m_pOptionDialog->parseOptions( args->getOptionList("cs") );
+         title = i18n("Config Option Error:");
+      }
+      if (!s.isEmpty())
+      {
+#ifdef _WIN32 
+         // A windows program has no console
+         //KMessageBox::information(0, s,i18n("KDiff3-Usage"));
+         QDialog* pDialog = new QDialog(this,"",true,Qt::WDestructiveClose);
+         pDialog->setCaption(title);
+         QVBoxLayout* pVBoxLayout = new QVBoxLayout( pDialog );
+         QTextEdit* pTextEdit = new QTextEdit(pDialog);
+         pTextEdit->setText(s);
+         pTextEdit->setReadOnly(true);
+         pTextEdit->setWordWrap(QTextEdit::NoWrap);
+         pVBoxLayout->addWidget(pTextEdit);
+         pDialog->resize(600,400);
+         pDialog->exec();
+#else
+         std::cerr << title.latin1() << std::endl;
+         std::cerr << s.latin1() << std::endl;
+#endif
+         exit(1);
+      }
+   }
+
    m_sd1.setOptionDialog(m_pOptionDialog);
    m_sd2.setOptionDialog(m_pOptionDialog);
    m_sd3.setOptionDialog(m_pOptionDialog);
 
-   // Option handling: Only when pParent==0 (no parent)
-   KCmdLineArgs *args = isPart() ? 0 : KCmdLineArgs::parsedArgs();
-
    if (args!=0)
    {
       m_outputFilename = args->getOption("output");
@@ -186,14 +237,31 @@
    m_pFindDialog = new FindDialog( this );
    connect( m_pFindDialog, SIGNAL(findNext()), this, SLOT(slotEditFindNext()));
 
-   readOptions( isPart() ? m_pKDiff3Part->instance()->config() : kapp->config() );
-
    autoAdvance->setChecked( m_pOptionDialog->m_bAutoAdvance );
    showWhiteSpaceCharacters->setChecked( m_pOptionDialog->m_bShowWhiteSpaceCharacters );
    showWhiteSpace->setChecked( m_pOptionDialog->m_bShowWhiteSpace );
    showWhiteSpaceCharacters->setEnabled( m_pOptionDialog->m_bShowWhiteSpace );
    showLineNumbers->setChecked( m_pOptionDialog->m_bShowLineNumbers );
    wordWrap->setChecked( m_pOptionDialog->m_bWordWrap );
+   if ( ! isPart() )
+   {
+      viewToolBar->setChecked( m_pOptionDialog->m_bShowToolBar );
+      viewStatusBar->setChecked( m_pOptionDialog->m_bShowStatusBar );
+      slotViewToolBar();
+      slotViewStatusBar();
+      if( toolBar("mainToolBar")!=0 )
+         toolBar("mainToolBar")->setBarPos( (KToolBar::BarPosition) m_pOptionDialog->m_toolBarPos );
+/*      QSize size = m_pOptionDialog->m_geometry;
+      QPoint pos = m_pOptionDialog->m_position;
+      if(!size.isEmpty())
+      {
+         m_pKDiff3Shell->resize( size );
+         QRect visibleRect = QRect( pos, size ) & QApplication::desktop()->rect();
+         if ( visibleRect.width()>100 && visibleRect.height()>100 )
+            m_pKDiff3Shell->move( pos );
+      }*/
+   }
+   slotRefresh();
 
    m_pMainSplitter = this; //new QSplitter(this);
    m_pMainSplitter->setOrientation( Vertical );
@@ -223,20 +291,27 @@
 }
 
 
-void KDiff3App::completeInit()
+void KDiff3App::completeInit( const QString& fn1, const QString& fn2, const QString& fn3 )
 {
    if (m_pKDiff3Shell!=0)
    {
-      QSize size=kapp->config()->readSizeEntry("Geometry");
-      QPoint pos=kapp->config()->readPointEntry("Position");
+      QSize size=m_pOptionDialog->m_geometry;
+      QPoint pos=m_pOptionDialog->m_position;
       if(!size.isEmpty())
       {
          m_pKDiff3Shell->resize( size );
-         m_pKDiff3Shell->move( pos );
+         QRect visibleRect = QRect( pos, size ) & QApplication::desktop()->rect();
+         if ( visibleRect.width()>100 && visibleRect.height()>100 )
+            m_pKDiff3Shell->move( pos );
+         if (!m_bAuto)
+            m_pKDiff3Shell->show();
       }
    }
+   if ( ! fn1.isEmpty() )  { m_sd1.setFilename(fn1); }
+   if ( ! fn2.isEmpty() )  { m_sd2.setFilename(fn2); }
+   if ( ! fn3.isEmpty() )  { m_sd3.setFilename(fn3); }
 
-   bool bSuccess = improveFilenames();
+   bool bSuccess = improveFilenames(false);
 
    if ( m_bAuto && m_bDirCompare )
    {
@@ -286,8 +361,11 @@
       }
    }
 
+   if (m_pKDiff3Shell)
+      m_pKDiff3Shell->show();
+
    if (statusBar() !=0 )
-      statusBar()->setSizeGripEnabled(false);
+      statusBar()->setSizeGripEnabled(true);
 
    slotClipboardChanged(); // For initialisation.
 
@@ -333,10 +411,15 @@
 
    fileOpen = KStdAction::open(this, SLOT(slotFileOpen()), ac);
    fileOpen->setStatusText(i18n("Opens documents for comparison..."));
+
+   fileReload  = new KAction(i18n("Reload"), /*QIconSet(QPixmap(reloadIcon)),*/ Key_F5, this, SLOT(slotReload()), ac, "file_reload");
+   
    fileSave = KStdAction::save(this, SLOT(slotFileSave()), ac);
    fileSave->setStatusText(i18n("Saves the merge result. All conflicts must be solved!"));
    fileSaveAs = KStdAction::saveAs(this, SLOT(slotFileSaveAs()), ac);
    fileSaveAs->setStatusText(i18n("Saves the current document as..."));
+   filePrint = KStdAction::print(this, SLOT(slotFilePrint()), ac);
+   filePrint->setStatusText(i18n("Print the differences"));
    fileQuit = KStdAction::quit(this, SLOT(slotFileQuit()), ac);
    fileQuit->setStatusText(i18n("Quits the application"));
    editCut = KStdAction::cut(this, SLOT(slotEditCut()), ac);
@@ -345,6 +428,8 @@
    editCopy->setStatusText(i18n("Copies the selected section to the clipboard"));
    editPaste = KStdAction::paste(this, SLOT(slotEditPaste()), ac);
    editPaste->setStatusText(i18n("Pastes the clipboard contents to actual position"));
+   editSelectAll = KStdAction::selectAll(this, SLOT(slotEditSelectAll()), ac);
+   editSelectAll->setStatusText(i18n("Select everything in current window"));
    editFind = KStdAction::find(this, SLOT(slotEditFind()), ac);
    editFind->setStatusText(i18n("Search for a string"));
    editFindNext = KStdAction::findNext(this, SLOT(slotEditFindNext()), ac);
@@ -381,7 +466,7 @@
    goTop = new KAction(i18n("Go to First Delta"), QIconSet(QPixmap(upend)), 0, this, SLOT(slotGoTop()), ac, "go_top");
    goBottom = new KAction(i18n("Go to Last Delta"), QIconSet(QPixmap(downend)), 0, this, SLOT(slotGoBottom()), ac, "go_bottom");
    QString omitsWhitespace = ".\n" + i18n("(Skips white space differences when \"Show White Space\" is disabled.)");
-   QString includeWhitespace = ".\n" + i18n("(Doesn't skip white space differences even when \"Show White Space\" is disabled.)");
+   QString includeWhitespace = ".\n" + i18n("(Does not skip white space differences even when \"Show White Space\" is disabled.)");
    goPrevDelta = new KAction(i18n("Go to Previous Delta"), QIconSet(QPixmap(up1arrow)), CTRL+Key_Up, this, SLOT(slotGoPrevDelta()), ac, "go_prev_delta");
    goPrevDelta->setToolTip( goPrevDelta->text() + omitsWhitespace );
    goNextDelta = new KAction(i18n("Go to Next Delta"), QIconSet(QPixmap(down1arrow)), CTRL+Key_Down, this, SLOT(slotGoNextDelta()), ac, "go_next_delta");
@@ -412,9 +497,13 @@
    chooseAForUnsolvedWhiteSpaceConflicts = new KAction(i18n("Choose A for All Unsolved Whitespace Conflicts"), 0, this, SLOT(slotChooseAForUnsolvedWhiteSpaceConflicts()), ac, "merge_choose_a_for_unsolved_whitespace_conflicts");
    chooseBForUnsolvedWhiteSpaceConflicts = new KAction(i18n("Choose B for All Unsolved Whitespace Conflicts"), 0, this, SLOT(slotChooseBForUnsolvedWhiteSpaceConflicts()), ac, "merge_choose_b_for_unsolved_whitespace_conflicts");
    chooseCForUnsolvedWhiteSpaceConflicts = new KAction(i18n("Choose C for All Unsolved Whitespace Conflicts"), 0, this, SLOT(slotChooseCForUnsolvedWhiteSpaceConflicts()), ac, "merge_choose_c_for_unsolved_whitespace_conflicts");
-   autoSolve = new KAction(i18n("Automatically Solve Simple Conflicts"), 0, this, SLOT(slotAutoSolve()), ac, "merge_autosolve");
-   unsolve = new KAction(i18n("Set Deltas to Conflicts"), 0, this, SLOT(slotUnsolve()), actionCollection(), "merge_autounsolve");
-   fileReload  = new KAction(i18n("Reload"), /*QIconSet(QPixmap(reloadIcon)),*/ Key_F5, this, SLOT(slotReload()), ac, "file_reload");
+   autoSolve    = new KAction(i18n("Automatically Solve Simple Conflicts"),  0, this, SLOT(slotAutoSolve()),    ac, "merge_autosolve");
+   unsolve      = new KAction(i18n("Set Deltas to Conflicts"),               0, this, SLOT(slotUnsolve()),      ac, "merge_autounsolve");
+   mergeRegExp  = new KAction(i18n("Run Regular Expression Auto Merge"),     0, this, SLOT(slotRegExpAutoMerge()),ac, "merge_regexp_automerge" );
+   mergeHistory = new KAction(i18n("Automatically Solve History Conflicts"), 0, this, SLOT(slotMergeHistory()), ac, "merge_versioncontrol_history" );
+   splitDiff    = new KAction(i18n("Split Diff At Selection"),               0, this, SLOT(slotSplitDiff()),    ac, "merge_splitdiff");
+   joinDiffs    = new KAction(i18n("Join Selected Diffs"),                   0, this, SLOT(slotJoinDiffs()),    ac, "merge_joindiffs");
+
    showWindowA = new KToggleAction(i18n("Show Window A"), 0, this, SLOT(slotShowWindowAToggled()), ac, "win_show_a");
    showWindowB = new KToggleAction(i18n("Show Window B"), 0, this, SLOT(slotShowWindowBToggled()), ac, "win_show_b");
    showWindowC = new KToggleAction(i18n("Show Window C"), 0, this, SLOT(slotShowWindowCToggled()), ac, "win_show_c");
@@ -424,12 +513,14 @@
    overviewModeAB     = new KToggleAction(i18n("A vs. B Overview"), 0, this, SLOT(slotOverviewAB()), ac, "diff_overview_ab");
    overviewModeAC     = new KToggleAction(i18n("A vs. C Overview"), 0, this, SLOT(slotOverviewAC()), ac, "diff_overview_ac");
    overviewModeBC     = new KToggleAction(i18n("B vs. C Overview"), 0, this, SLOT(slotOverviewBC()), ac, "diff_overview_bc");
-   wordWrap = new KToggleAction(i18n("Word Wrap Diff Windows"), 0, this, SLOT(slotWordWrapToggled()), ac, "diff_wordwrap");
+   wordWrap     = new KToggleAction(i18n("Word Wrap Diff Windows"), 0, this, SLOT(slotWordWrapToggled()), ac, "diff_wordwrap");
+   addManualDiffHelp  = new KAction(i18n("Add Manual Diff Alignment"), Qt::CTRL+Qt::Key_Y, this, SLOT(slotAddManualDiffHelp()), ac, "diff_add_manual_diff_help");
+   clearManualDiffHelpList  = new KAction(i18n("Clear All Manual Diff Alignments"), Qt::CTRL+Qt::SHIFT+Qt::Key_Y, this, SLOT(slotClearManualDiffHelpList()), ac, "diff_clear_manual_diff_help_list");
 
 #ifdef _WIN32
-   new KAction(i18n("Focus Next Window"), CTRL+Key_Tab, this, SLOT(slotWinFocusNext()), ac, "win_focus_next", false, false);
+   new KAction(i18n("Focus Next Window"), Qt::CTRL+Qt::Key_Tab, this, SLOT(slotWinFocusNext()), ac, "win_focus_next", false, false);
 #endif
-   winFocusPrev = new KAction(i18n("Focus Prev Window"), ALT+Key_Left, this, SLOT(slotWinFocusPrev()), ac, "win_focus_prev");
+   winFocusPrev = new KAction(i18n("Focus Prev Window"), Qt::ALT+Qt::Key_Left, this, SLOT(slotWinFocusPrev()), ac, "win_focus_prev");
    winToggleSplitOrientation = new KAction(i18n("Toggle Split Orientation"), 0, this, SLOT(slotWinToggleSplitterOrientation()), ac, "win_toggle_split_orientation");
 
    dirShowBoth = new KToggleAction(i18n("Dir && Text Split Screen View"), 0, this, SLOT(slotDirShowBoth()), ac, "win_dir_show_both");
@@ -458,54 +549,18 @@
 
 void KDiff3App::saveOptions( KConfig* config )
 {
-   if ( !isPart() )
+   if (!isPart())
    {
-      config->setGroup("General Options");
-      config->writeEntry("Geometry", m_pKDiff3Shell->size());
-      config->writeEntry("Position", m_pKDiff3Shell->pos());
-      config->writeEntry("Show Toolbar", viewToolBar->isChecked());
-      config->writeEntry("Show Statusbar",viewStatusBar->isChecked());
-      if(toolBar("mainToolBar")!=0)
-         config->writeEntry("ToolBarPos", (int) toolBar("mainToolBar")->barPos());
+      m_pOptionDialog->m_geometry = m_pKDiff3Shell->size();
+      m_pOptionDialog->m_position = m_pKDiff3Shell->pos();
+      if ( toolBar("mainToolBar")!=0 )
+         m_pOptionDialog->m_toolBarPos = (int) toolBar("mainToolBar")->barPos();
    }
 
    m_pOptionDialog->saveOptions( config );
 }
 
 
-void KDiff3App::readOptions( KConfig* config )
-{
-   if( !isPart() )
-   {
-      config->setGroup("General Options");
-
-      // bar status settings
-      bool bViewToolbar = config->readBoolEntry("Show Toolbar", true);
-      viewToolBar->setChecked(bViewToolbar);
-      slotViewToolBar();
-
-      bool bViewStatusbar = config->readBoolEntry("Show Statusbar", true);
-      viewStatusBar->setChecked(bViewStatusbar);
-      slotViewStatusBar();
-
-
-      // bar position settings
-      KToolBar::BarPosition toolBarPos;
-      toolBarPos=(KToolBar::BarPosition) config->readNumEntry("ToolBarPos", KToolBar::Top);
-      if( toolBar("mainToolBar")!=0 )
-         toolBar("mainToolBar")->setBarPos(toolBarPos);
-
-      QSize size=config->readSizeEntry("Geometry");
-      QPoint pos=config->readPointEntry("Position");
-      if(!size.isEmpty())
-      {
-         m_pKDiff3Shell->resize( size );
-         m_pKDiff3Shell->move( pos );
-      }
-   }
-
-   slotRefresh();
-}
 
 
 bool KDiff3App::queryClose()
@@ -563,6 +618,7 @@
       bool bSuccess = m_pMergeResultWindow->saveDocument( m_outputFilename );
       if ( bSuccess )
       {
+         m_bFileSaved = true;
          m_bOutputModified = false;
          if ( m_bDirCompare )
             m_pDirectoryMergeWindow->mergeResultSaved(m_outputFilename);
@@ -596,6 +652,245 @@
 }
 
 
+void printDiffTextWindow( MyPainter& painter, const QRect& view, const QString& headerText, DiffTextWindow* pDiffTextWindow, int line, int linesPerPage, QColor fgColor )
+{
+   QRect clipRect = view;
+   clipRect.setTop(0);
+   painter.setClipRect( clipRect );
+   painter.translate( view.left() , 0 );
+   QFontMetrics fm = painter.fontMetrics();
+   //if ( fm.width(headerText) > view.width() )
+   {
+      // A simple wrapline algorithm
+      int l=0;
+      for (unsigned int p=0; p<headerText.length(); )
+      {
+         QString s = headerText.mid(p);
+         unsigned int i;
+         for(i=2;i<s.length();++i) 
+            if (fm.width(s,i)>view.width())
+            {
+               --i;
+               break;
+            }
+         //QString s2 = s.left(i);
+         painter.drawText( 0, l*fm.height() + fm.ascent(), s.left(i) );
+         p+=i;
+         ++l;
+      }
+      painter.setPen( fgColor );
+      painter.drawLine( 0, view.top()-2, view.width(), view.top()-2 );
+   }
+
+   painter.translate( 0, view.top() );
+   pDiffTextWindow->print( painter, view, line, linesPerPage );
+   painter.resetXForm();
+}
+
+void KDiff3App::slotFilePrint()
+{
+   if ( !m_pDiffTextWindow1 )
+      return;
+
+   KPrinter printer;
+
+   int firstSelectionD3LIdx = -1;
+   int lastSelectionD3LIdx = -1;
+   if (                           m_pDiffTextWindow1 ) { m_pDiffTextWindow1->getSelectionRange(&firstSelectionD3LIdx, &lastSelectionD3LIdx, eD3LLineCoords); }
+   if ( firstSelectionD3LIdx<0 && m_pDiffTextWindow2 ) { m_pDiffTextWindow2->getSelectionRange(&firstSelectionD3LIdx, &lastSelectionD3LIdx, eD3LLineCoords); }
+   if ( firstSelectionD3LIdx<0 && m_pDiffTextWindow3 ) { m_pDiffTextWindow3->getSelectionRange(&firstSelectionD3LIdx, &lastSelectionD3LIdx, eD3LLineCoords); }
+#ifdef KREPLACEMENTS_H  // Currently PrintSelection is not supported in KDEs print dialog.
+   if ( firstSelectionD3LIdx>=0 )
+   {
+      printer.setOptionEnabled(KPrinter::PrintSelection,true);
+   }
+#endif
+
+   printer.setPageSelection(KPrinter::ApplicationSide);
+   printer.setMinMax(1,10000);
+   printer.setCurrentPage(10000);
+
+   int currentFirstLine = m_pDiffTextWindow1->getFirstLine();
+   int currentFirstD3LIdx = m_pDiffTextWindow1->convertLineToDiff3LineIdx( currentFirstLine );
+
+   // do some printer initialization
+   printer.setFullPage( false );
+
+   // initialize the printer using the print dialog
+   if ( printer.setup( this ) )
+   {
+      slotStatusMsg( i18n( "Printing..." ) );
+      // create a painter to paint on the printer object
+      MyPainter painter( 0, m_pOptionDialog->m_bRightToLeftLanguage, width(), fontMetrics().width('W') );
+
+      // start painting
+      if( !painter.begin( &printer ) ) {               // paint on printer
+         slotStatusMsg( i18n( "Printing aborted." ) );
+         return;
+      }
+      QPaintDeviceMetrics metrics( painter.device() );
+      int dpiy = metrics.logicalDpiY();
+      int columnDistance = (int) ( (0.5/2.54)*dpiy ); // 0.5 cm between the columns
+
+      int columns = m_bTripleDiff ? 3 : 2;
+      int columnWidth = ( metrics.width()  - (columns-1)*columnDistance ) / columns;
+
+      QFont f = m_pOptionDialog->m_font;
+      f.setPointSizeFloat(f.pointSizeFloat()-1); // Print with slightly smaller font.
+      painter.setFont( f );
+      QFontMetrics fm = painter.fontMetrics();
+
+      QString topLineText = i18n("Top line"); 
+
+      //int headerWidth = fm.width( m_sd1.getAliasName() + ", "+topLineText+": 01234567" );
+      int headerLines = fm.width( m_sd1.getAliasName() + ", "+topLineText+": 01234567" )/columnWidth+1;
+
+      int headerMargin = headerLines * fm.height() + 3; // Text + one horizontal line
+      int footerMargin = fm.height() + 3;
+
+      QRect view ( 0, headerMargin, metrics.width(), metrics.height() - (headerMargin + footerMargin) );
+      QRect view1( 0*(columnWidth + columnDistance), view.top(), columnWidth,     view.height() );
+      QRect view2( 1*(columnWidth + columnDistance), view.top(), columnWidth,     view.height() );
+      QRect view3( 2*(columnWidth + columnDistance), view.top(), columnWidth,     view.height() );
+
+      int linesPerPage = view.height() / fm.height();
+      int charactersPerLine = columnWidth / fm.width("W");
+      if ( m_pOptionDialog->m_bWordWrap )
+      {
+         // For printing the lines are wrapped differently (this invalidates the first line)
+         recalcWordWrap( charactersPerLine );
+      }
+
+      int totalNofLines = max2(m_pDiffTextWindow1->getNofLines(), m_pDiffTextWindow2->getNofLines());
+      if ( m_bTripleDiff && m_pDiffTextWindow3)
+         totalNofLines = max2(totalNofLines, m_pDiffTextWindow3->getNofLines());
+
+      QValueList<int> pageList = printer.pageList();
+
+      bool bPrintCurrentPage=false;
+      bool bFirstPrintedPage = false;
+
+      bool bPrintSelection = false;
+      int totalNofPages = (totalNofLines+linesPerPage-1) / linesPerPage;
+      int line=-1;
+      int selectionEndLine = -1;
+
+#ifdef KREPLACEMENTS_H
+      if ( printer.printRange()==KPrinter::AllPages )
+      {
+         pageList.clear();
+         for(int i=0; i<totalNofPages; ++i)
+         {
+            pageList.push_back(i+1);
+         }
+      }
+
+      if ( printer.printRange()==KPrinter::Selection )
+#else
+      if ( !pageList.empty() && pageList.front()==9999 )
+#endif
+      {
+         bPrintSelection = true;
+         if ( firstSelectionD3LIdx >=0 )
+         {
+            line = m_pDiffTextWindow1->convertDiff3LineIdxToLine( firstSelectionD3LIdx );
+            selectionEndLine = m_pDiffTextWindow1->convertDiff3LineIdxToLine( lastSelectionD3LIdx+1 );
+            totalNofPages = (selectionEndLine-line+linesPerPage-1) / linesPerPage;
+         }
+      }
+
+      int page = 1;
+
+      QValueList<int>::iterator pageListIt = pageList.begin();
+      for(;;)
+      {
+         if (!bPrintSelection)
+         {
+            if (pageListIt==pageList.end())
+               break;
+            page = *pageListIt;
+            line = (page - 1) * linesPerPage;
+            if (page==10000)  // This means "Print the current page"
+            {
+               bPrintCurrentPage=true;
+               // Detect the first visible line in the window.
+               line = m_pDiffTextWindow1->convertDiff3LineIdxToLine( currentFirstD3LIdx );
+            }
+         }
+         else
+         {
+            if ( line>=selectionEndLine )
+            {
+               break;
+            }
+            else
+            {
+               if ( selectionEndLine-line < linesPerPage )
+                  linesPerPage=selectionEndLine-line;
+            }
+         }
+         if (line>=0 && line<totalNofLines )
+         {
+
+            if (bFirstPrintedPage)
+               printer.newPage();
+
+            painter.setClipping(true);
+
+            painter.setPen( m_pOptionDialog->m_colorA );
+            QString headerText1 = m_sd1.getAliasName() + ", "+topLineText+": " + QString::number(m_pDiffTextWindow1->calcTopLineInFile(line)+1);
+            printDiffTextWindow( painter, view1, headerText1, m_pDiffTextWindow1, line, linesPerPage, m_pOptionDialog->m_fgColor );
+
+            painter.setPen( m_pOptionDialog->m_colorB );
+            QString headerText2 = m_sd2.getAliasName() + ", "+topLineText+": " + QString::number(m_pDiffTextWindow2->calcTopLineInFile(line)+1);
+            printDiffTextWindow( painter, view2, headerText2, m_pDiffTextWindow2, line, linesPerPage, m_pOptionDialog->m_fgColor );
+
+            if ( m_bTripleDiff && m_pDiffTextWindow3 )
+            {
+               painter.setPen( m_pOptionDialog->m_colorC );
+               QString headerText3 = m_sd3.getAliasName() + ", "+topLineText+": " + QString::number(m_pDiffTextWindow3->calcTopLineInFile(line)+1);
+               printDiffTextWindow( painter, view3, headerText3, m_pDiffTextWindow3, line, linesPerPage, m_pOptionDialog->m_fgColor );
+            }
+            painter.setClipping(false);
+
+            painter.setPen( m_pOptionDialog->m_fgColor );
+            painter.drawLine( 0, view.bottom()+3, view.width(), view.bottom()+3 ); 
+            QString s = bPrintCurrentPage ? QString("") 
+                                          : QString::number( page ) + "/" + QString::number(totalNofPages);
+            if ( bPrintSelection ) s+=" (" + i18n("Selection") + ")";
+            painter.drawText( (view.right() - painter.fontMetrics().width( s ))/2,
+                        view.bottom() + painter.fontMetrics().ascent() + 5, s );
+
+            bFirstPrintedPage = true;
+         }
+
+         if ( bPrintSelection )
+         {
+            line+=linesPerPage;
+            ++page;
+         }
+         else
+         {
+            ++pageListIt;
+         }
+      }
+
+      painter.end();
+
+      if ( m_pOptionDialog->m_bWordWrap )
+      {
+         recalcWordWrap();
+         m_pDiffVScrollBar->setValue( m_pDiffTextWindow1->convertDiff3LineIdxToLine( currentFirstD3LIdx ) );
+      }
+
+      slotStatusMsg( i18n( "Printing completed." ) );
+   }
+   else
+   {
+      slotStatusMsg( i18n( "Printing aborted." ) );
+   }
+}
+
 void KDiff3App::slotFileQuit()
 {
    slotStatusMsg(i18n("Exiting..."));
@@ -603,7 +898,7 @@
    if( !queryClose() )
        return;      // Don't quit
 
-   KApplication::exit(0);
+   KApplication::exit( isFileSaved() ? 0 : 1 );
 }
 
 
@@ -611,11 +906,12 @@
 void KDiff3App::slotViewToolBar()
 {
    slotStatusMsg(i18n("Toggling toolbar..."));
+   m_pOptionDialog->m_bShowToolBar = viewToolBar->isChecked();
    ///////////////////////////////////////////////////////////////////
    // turn Toolbar on or off
    if ( toolBar("mainToolBar") !=0 )
    {
-      if(!viewToolBar->isChecked())
+      if(!m_pOptionDialog->m_bShowToolBar)
       {
          toolBar("mainToolBar")->hide();
       }
@@ -631,6 +927,7 @@
 void KDiff3App::slotViewStatusBar()
 {
    slotStatusMsg(i18n("Toggle the statusbar..."));
+   m_pOptionDialog->m_bShowStatusBar = viewStatusBar->isChecked();
    ///////////////////////////////////////////////////////////////////
    //turn Statusbar on or off
    if (statusBar() !=0 )
@@ -662,53 +959,5 @@
 
 
 
-FindDialog::FindDialog(QWidget* pParent)
-: QDialog( pParent )
-{
-   QGridLayout* layout = new QGridLayout( this );
-   layout->setMargin(5);
-   layout->setSpacing(5);
-
-   int line=0;
-   layout->addMultiCellWidget( new QLabel(i18n("Search text:"),this), line,line,0,1 );
-   ++line;
-
-   m_pSearchString = new QLineEdit( this );
-   layout->addMultiCellWidget( m_pSearchString, line,line,0,1 );
-   ++line;
-
-   m_pCaseSensitive = new QCheckBox(i18n("Case sensitive"),this);
-   layout->addWidget( m_pCaseSensitive, line, 1 );
-
-   m_pSearchInA = new QCheckBox(i18n("Search A"),this);
-   layout->addWidget( m_pSearchInA, line, 0 );
-   m_pSearchInA->setChecked( true );
-   ++line;
-
-   m_pSearchInB = new QCheckBox(i18n("Search B"),this);
-   layout->addWidget( m_pSearchInB, line, 0 );
-   m_pSearchInB->setChecked( true );
-   ++line;
-
-   m_pSearchInC = new QCheckBox(i18n("Search C"),this);
-   layout->addWidget( m_pSearchInC, line, 0 );
-   m_pSearchInC->setChecked( true );
-   ++line;
-
-   m_pSearchInOutput = new QCheckBox(i18n("Search output"),this);
-   layout->addWidget( m_pSearchInOutput, line, 0 );
-   m_pSearchInOutput->setChecked( true );
-   ++line;
-
-   QPushButton* pButton = new QPushButton( i18n("&Search"), this );
-   layout->addWidget( pButton, line, 0 );
-   connect( pButton, SIGNAL(clicked()), this, SLOT(accept()));
-
-   pButton = new QPushButton( i18n("&Cancel"), this );
-   layout->addWidget( pButton, line, 1 );
-   connect( pButton, SIGNAL(clicked()), this, SLOT(reject()));
-
-   hide();
-}
 
 #include "kdiff3.moc"
--- a/kdiff3/src/kdiff3.desktop	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3.desktop	Mon Apr 10 08:40:51 2006 +0000
@@ -7,28 +7,38 @@
 Name[ta]=கேடிஃபà¯3
 Name[xx]=xxKDiff3xx
 GenericName=Diff/Patch Frontend
+GenericName[bg]=Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° Diff/Patch
 GenericName[bs]=Interfejs za Diff/Patch
+GenericName[ca]=Interfície per a diff/patch
+GenericName[cs]=Rozhraní pro Diff/Patch
 GenericName[cy]=Blaen Gwahaniaethau/Clytiau
 GenericName[da]=Forende for diff/patch
 GenericName[de]=Graphische Oberfläche zu Diff/Patch
+GenericName[el]=ΣÏστημα υποστήÏιξης χÏήστη για τα Diff/Patch
 GenericName[es]=Interfaz Diff/Patch
 GenericName[et]=Võrdlemise ja liitmise rakendus
 GenericName[fr]=Interface graphique à diff / patch
+GenericName[ga]=Comhéadan Diff/Patch
+GenericName[hi]=डिफ/पैच फà¥à¤°à¤¨à¥à¤Ÿà¤à¤£à¥à¤¡
 GenericName[hu]=Grafikus diff/patch
 GenericName[is]=Diff/Patch viðmót
 GenericName[it]=Interfaccia per diff/patch
 GenericName[ja]=Diff/Patch フロントエンド
-GenericName[lt]=Diff/Patch vartotojo sÄ…saja
+GenericName[lt]=Diff/Patch naudotojo sÄ…saja
 GenericName[ms]=Bahagian Depan Beza/Tampal
+GenericName[nb]=Endrings-/lappeprogram
 GenericName[nl]=Een schil voor Diff/Patch
+GenericName[pa]=Diff/Patch ਮà©à©±à¨–
 GenericName[pl]=Interfejs do programów Diff/Patch
 GenericName[pt]=Interface do Diff/Patch
 GenericName[pt_BR]=Um front-end para Diff/Patch
 GenericName[ru]=ГрафичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ðº Diff и Patch
-GenericName[sr]=Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° Diff и Patch
+GenericName[sr]=Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° diff и patch
+GenericName[sr@Latn]=Interfejs za diff i patch
 GenericName[sv]=Jämförelse- och programfixgränssnitt
 GenericName[ta]= Diff/Patch Frontend
 GenericName[tg]=ИнтерфейÑи графикӣ ба Diff ва Patch
+GenericName[tr]=Diff/Patch Arayüzü
 GenericName[uk]=Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾ diff/patch
 GenericName[xx]=xxDiff/Patch Frontendxx
 GenericName[zh_CN]=Diff/Patch å‰ç«¯
@@ -41,11 +51,12 @@
 Comment[bg]=ИнÑтрумент за ÑравнÑване и Ñливане на файлове и директории
 Comment[bs]=Alat za upoređivanje i spajanje datoteka i direktorija
 Comment[ca]=Una eina per a comparar i fusionar fitxers o directoris
+Comment[cs]=Nástroj pro porovnávání a sluÄování souborů a adresářů
 Comment[da]=Et indfletningsværktøj for filer og mapper
 Comment[de]=Programm zum Vergleichen und Zusammenführen von Dateien und Ordnern
 Comment[el]=Ένα εÏγαλείο σÏγκÏισης και συγχώνευσης αÏχείων και καταλόγων
 Comment[es]=Una herramienta para mezclar y comparar archivos y directorios
-Comment[et]=Failide ja kataloogide võrdlemise ja liitmise vahend
+Comment[et]=Failide ja kataloogide võrdlemise ja liitmise tööriist
 Comment[fr]=Un outil de comparaison et de fusion de fichiers et dossiers
 Comment[hi]=à¤à¤• फाइल तथा डिरेकà¥à¤Ÿà¥à¤°à¥€ तà¥à¤²à¤¨à¤¾ तथा विलीन उपकरण
 Comment[hu]=Segédprogram fájlok, könyvtárak összehasonlításához
@@ -53,14 +64,18 @@
 Comment[it]=Uno strumento di confronto e unione di file e directory
 Comment[ja]=ファイル/ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æ¯”較/çµ±åˆãƒ„ール
 Comment[ms]=Perbandingan Fail Dan Direktori Dan Alatan Gabungan
+Comment[nb]=Et verktøy for å sammenlikne og slå sammen filer og mapper
 Comment[nl]=Hulpmiddel voor het vergelijken en samenvoegen van bestanden en mappen
+Comment[pa]=ਇੱਕ ਫਾਇਲ ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਤà©à¨²à¨¨à¨¾ ਅਤੇ ਮਿਲਾਨ ਸੰਦ ਹੈ
 Comment[pl]=Narzędzie do porównywania oraz łączenia plików i katalogów
 Comment[pt]=Uma Ferramenta de Comparação e Junção de Ficheiros e Pastas
 Comment[pt_BR]=Uma Comparação de Arquivos e Pastas e uma Ferramenta para Mesclar Diferenças
 Comment[ru]=Утилита ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² и каталогов
 Comment[sr]=Ðлат за поређење и Ñтапање фајлова и директоријума
+Comment[sr@Latn]=Alat za poređenje i stapanje fajlova i direktorijuma
 Comment[sv]=Ett jämförelseverktyg för fil- och katalogjämförelser
 Comment[tg]=ÐÑбоби баробаркунӣ ва пайванди файлҳо ва каталогҳо
+Comment[tr]=Bir Dosya Ve Klasör Karşılaştırma Ve Birleştirme Aracı
 Comment[uk]=ЗаÑіб-утиліта Ð´Ð»Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ñ– Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² та каталогів
 Comment[xx]=xxA File And Directory Comparison And Merge Toolxx
 Comment[zh_CN]=一个文件和目录的比较åŠåˆå¹¶å·¥å…·
--- a/kdiff3/src/kdiff3.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3.h	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Don Jul 11 12:31:29 CEST 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -41,6 +41,11 @@
 // forward declaration of the KDiff3 classes
 class OptionDialog;
 class FindDialog;
+class ManualDiffHelpDialog;
+class DiffTextWindow;
+class DiffTextWindowFrame;
+class MergeResultWindow;
+class Overview;
 
 class QScrollBar;
 class QComboBox;
@@ -92,7 +97,7 @@
   Q_OBJECT
 
   public:
-    /** construtor of KDiff3App, calls all init functions to create the application.
+    /** constructor of KDiff3App, calls all init functions to create the application.
      */
     KDiff3App( QWidget* parent, const char* name, KDiff3Part* pKDiff3Part );
     ~KDiff3App();
@@ -110,7 +115,7 @@
     void readOptions( KConfig* );
 
     // Finish initialisation (virtual, so that it can be called from the shell too.)
-    virtual void completeInit();
+    virtual void completeInit(const QString& fn1="", const QString& fn2="", const QString& fn3="");
 
     /** queryClose is called by KMainWindow on each closeEvent of a window. Against the
      * default implementation (only returns true), this calles saveModified() on the document object to ask if the document shall
@@ -119,7 +124,10 @@
      * @see KMainWindow#closeEvent
      */
     virtual bool queryClose();
+    virtual bool isFileSaved();
 
+  signals:
+     void createNewInstance( const QString& fn1, const QString& fn2, const QString& fn3 );
   protected:
     void initDirectoryMergeActions();
     /** sets up the statusbar for the main window by initialzing a statuslabel. */
@@ -135,11 +143,15 @@
     void slotFileOpen2( QString fn1, QString fn2, QString fn3, QString ofn,
                         QString an1, QString an2, QString an3, TotalDiffStatus* pTotalDiffStatus );
 
+    void slotFileNameChanged(const QString& fileName, int winIdx);
+
     /** save a document */
     void slotFileSave();
     /** save a document by a new filename*/
     void slotFileSaveAs();
 
+    void slotFilePrint();
+
     /** closes all open windows by calling close() on each memberList item until the list is empty, then quits the application.
      * If queryClose() returns false because the user canceled the saveModified() dialog, the closing breaks.
      */
@@ -173,11 +185,13 @@
     KAction* fileOpen;
     KAction* fileSave;
     KAction* fileSaveAs;
+    KAction* filePrint;
     KAction* fileQuit;
     KAction* fileReload;
     KAction* editCut;
     KAction* editCopy;
     KAction* editPaste;
+    KAction* editSelectAll;
     KToggleAction* viewToolBar;
     KToggleAction* viewStatusBar;
 
@@ -200,6 +214,10 @@
     KToggleAction *chooseC;
     KToggleAction *autoAdvance;
     KToggleAction *wordWrap;
+    KAction* splitDiff;
+    KAction* joinDiffs;
+    KAction* addManualDiffHelp;
+    KAction* clearManualDiffHelpList;
     KToggleAction *showWhiteSpaceCharacters;
     KToggleAction *showWhiteSpace;
     KToggleAction *showLineNumbers;
@@ -212,8 +230,10 @@
     KAction* chooseAForUnsolvedWhiteSpaceConflicts;
     KAction* chooseBForUnsolvedWhiteSpaceConflicts;
     KAction* chooseCForUnsolvedWhiteSpaceConflicts;
-    KAction *autoSolve;
-    KAction *unsolve;
+    KAction* autoSolve;
+    KAction* unsolve;
+    KAction* mergeHistory;
+    KAction* mergeRegExp;
     KToggleAction *showWindowA;
     KToggleAction *showWindowB;
     KToggleAction *showWindowC;
@@ -231,8 +251,8 @@
     QPopupMenu* m_pMergeEditorPopupMenu;
 
     QSplitter*  m_pMainSplitter;
-    QFrame*     m_pMainWidget;
-    QFrame*     m_pMergeWindowFrame;
+    QWidget*    m_pMainWidget;
+    QWidget*    m_pMergeWindowFrame;
     ReversibleScrollBar* m_pHScrollBar;
     QScrollBar* m_pDiffVScrollBar;
     QScrollBar* m_pMergeVScrollBar;
@@ -240,6 +260,9 @@
     DiffTextWindow* m_pDiffTextWindow1;
     DiffTextWindow* m_pDiffTextWindow2;
     DiffTextWindow* m_pDiffTextWindow3;
+    DiffTextWindowFrame* m_pDiffTextWindowFrame1;
+    DiffTextWindowFrame* m_pDiffTextWindowFrame2;
+    DiffTextWindowFrame* m_pDiffTextWindowFrame3;
     QSplitter* m_pDiffWindowSplitter;
 
     MergeResultWindow* m_pMergeResultWindow;
@@ -267,25 +290,30 @@
    DiffList m_diffList23;
    DiffList m_diffList13;
 
+   DiffBufferInfo m_diffBufferInfo;
    Diff3LineList m_diff3LineList;
    Diff3LineVector m_diff3LineVector;
+   //ManualDiffHelpDialog* m_pManualDiffHelpDialog;
+   ManualDiffHelpList m_manualDiffHelpList;
 
    int m_neededLines;
    int m_maxWidth;
    int m_DTWHeight;
    bool m_bOutputModified;
+   bool m_bFileSaved;
    bool m_bTimerBlock;      // Synchronisation
 
    OptionDialog* m_pOptionDialog;
    FindDialog*   m_pFindDialog;
 
-   void init( bool bAuto=false, TotalDiffStatus* pTotalDiffStatus=0 );
+   void init( bool bAuto=false, TotalDiffStatus* pTotalDiffStatus=0, bool bLoadFiles=true );
 
    virtual bool eventFilter( QObject* o, QEvent* e );
    virtual void resizeEvent(QResizeEvent*);
 
-   bool improveFilenames();
+   bool improveFilenames(bool bCreateNewInstance);
 
+   bool runDiff( const LineData* p1, int size1, const LineData* p2, int size2, DiffList& diffList, int winIdx1, int winIdx2 );
    bool runDiff( const LineData* p1, int size1, const LineData* p2, int size2, DiffList& diffList );
    bool canContinue();
 
@@ -297,11 +325,12 @@
    KDiff3Part*        m_pKDiff3Part;
    KParts::MainWindow*       m_pKDiff3Shell;
    bool m_bAuto;
+   void recalcWordWrap(int nofVisibleColumns=-1);
 
 public slots:
    void resizeDiffTextWindow(int newWidth, int newHeight);
    void resizeMergeResultWindow();
-   void recalcWordWrap();
+   void slotRecalcWordWrap();
 
    void showPopupMenu( const QPoint& point );
 
@@ -314,6 +343,7 @@
    void slotDirViewToggle();
 
    void slotUpdateAvailabilities();
+   void slotEditSelectAll();
    void slotEditFind();
    void slotEditFindNext();
    void slotGoCurrent();
@@ -330,6 +360,8 @@
    void slotChooseC();
    void slotAutoSolve();
    void slotUnsolve();
+   void slotMergeHistory();
+   void slotRegExpAutoMerge();
    void slotChooseAEverywhere();
    void slotChooseBEverywhere();
    void slotChooseCEverywhere();
@@ -364,63 +396,12 @@
    void slotOverviewAB();
    void slotOverviewAC();
    void slotOverviewBC();
+   void slotSplitDiff();
+   void slotJoinDiffs();
+   void slotAddManualDiffHelp();
+   void slotClearManualDiffHelpList();
+
+   void slotNoRelevantChangesDetected();
 };
 
-
-class OpenDialog : public QDialog
-{
-   Q_OBJECT
-public:
-   OpenDialog(
-      QWidget* pParent, const QString& n1, const QString& n2, const QString& n3,
-      bool bMerge, const QString& outputName, const char* slotConfigure, OptionDialog* pOptions  );
-
-   QComboBox* m_lineA;
-   QComboBox* m_lineB;
-   QComboBox* m_lineC;
-   QComboBox* m_lineOut;
-
-   QCheckBox* m_pMerge;
-   virtual void accept();
-   virtual bool eventFilter(QObject* o, QEvent* e);
-private:
-   OptionDialog* m_pOptions;
-   void selectURL( QComboBox* pLine, bool bDir, int i, bool bSave );
-   bool m_bInputFileNameChanged;
-private slots:
-   void selectFileA();
-   void selectFileB();
-   void selectFileC();
-   void selectDirA();
-   void selectDirB();
-   void selectDirC();
-   void selectOutputName();
-   void selectOutputDir();
-   void internalSlot(int);
-   void inputFilenameChanged();
-signals:
-   void internalSignal(bool);
-};
-
-class FindDialog : public QDialog
-{
-   Q_OBJECT
-public:
-   FindDialog(QWidget* pParent);
-   
-signals:
-   void findNext();
-
-public:
-   QLineEdit* m_pSearchString;
-   QCheckBox* m_pSearchInA;
-   QCheckBox* m_pSearchInB;
-   QCheckBox* m_pSearchInC;
-   QCheckBox* m_pSearchInOutput;
-   QCheckBox* m_pCaseSensitive;
-
-   int currentLine;
-   int currentPos;
-   int currentWindow;
-};
 #endif // KDIFF3_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kdiff3.lsm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,16 @@
+Begin3
+Title:          kdiff3 -- Comparison and Merge of Files and Directories
+Version:        0.9.89
+Entered-date:   
+Description:    Tool for comparison and merge of two or three files or directories
+Keywords:       KDE Qt
+Author:         Joachim Eibl <joachim at gmx.de>
+Maintained-by:  Joachim Eibl <joachim at gmx.de>
+Home-page:      http://kdiff3.sourceforge.net
+Alternate-site: http://extragear.kde.org/apps/kdiff3
+Primary-site:   http://sourceforge.net/project/showfiles.php?group_id=58666
+                xxxxxx  kdiff3-0.9.89.tar.gz
+                xxx     kdiff3-0.9.89.lsm
+Platform:       Linux. Needs Qt, runs even better on KDE
+Copying-policy: GPL
+End
--- a/kdiff3/src/kdiff3.pro	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3.pro	Mon Apr 10 08:40:51 2006 +0000
@@ -1,21 +1,49 @@
 TEMPLATE = app
 # When unresolved items remain during linking: Try adding "shared" in the CONFIG.
 CONFIG  += qt warn_on thread release
-
-HEADERS  = version.h diff.h kdiff3.h merger.h optiondialog.h kreplacements/kreplacements.h \
-                  directorymergewindow.h fileaccess.h kdiff3_shell.h kdiff3_part.h
-SOURCES  = diff.cpp difftextwindow.cpp kdiff3.cpp main.cpp merger.cpp mergeresultwindow.cpp \
-                  optiondialog.cpp pdiff.cpp directorymergewindow.cpp fileaccess.cpp \
-                  kdiff3_shell.cpp kdiff3_part.cpp kreplacements/kreplacements.cpp \
-                  gnudiff_analyze.cpp gnudiff_io.cpp gnudiff_xmalloc.cpp
+HEADERS  = version.h                     \
+           diff.h                        \
+           difftextwindow.h              \
+           mergeresultwindow.h           \
+           kdiff3.h                      \
+           merger.h                      \
+           optiondialog.h                \
+           kreplacements/kreplacements.h \
+           directorymergewindow.h        \
+           fileaccess.h                  \
+           kdiff3_shell.h                \
+           kdiff3_part.h                 \
+           smalldialogs.h
+SOURCES  = main.cpp                      \
+           diff.cpp                      \
+           difftextwindow.cpp            \
+           kdiff3.cpp                    \
+           merger.cpp                    \
+           mergeresultwindow.cpp         \
+           optiondialog.cpp              \
+           pdiff.cpp                     \
+           directorymergewindow.cpp      \
+           fileaccess.cpp                \
+           smalldialogs.cpp              \
+           kdiff3_shell.cpp              \
+           kdiff3_part.cpp               \
+           gnudiff_analyze.cpp           \
+           gnudiff_io.cpp                \
+           gnudiff_xmalloc.cpp           \
+           common.cpp                    \
+           kreplacements/kreplacements.cpp \
+           kreplacements/ShellContextMenu.cpp
 TARGET   = kdiff3
 INCLUDEPATH += . ./kreplacements
 
 win32 {
-   QMAKE_CXXFLAGS_DEBUG  -= -Zi
-   QMAKE_CXXFLAGS_DEBUG  += -GX -GR -Z7 /FR -DQT_NO_ASCII_CAST
-   QMAKE_LFLAGS_DEBUG  += /PDB:NONE
-   QMAKE_CXXFLAGS_RELEASE  += -GX -GR -DNDEBUG -DQT_NO_ASCII_CAST
+#   QMAKE_CXXFLAGS_DEBUG  -= -Zi
+#   QMAKE_CXXFLAGS_DEBUG  += -GX -GR -Z7 /FR -DQT_NO_ASCII_CAST
+#   QMAKE_LFLAGS_DEBUG  += /PDB:NONE
+#   QMAKE_CXXFLAGS_RELEASE  += -GX -GR -DNDEBUG -DQT_NO_ASCII_CAST
+
+   QMAKE_CXXFLAGS_DEBUG  += -DQT_NO_ASCII_CAST
+   QMAKE_CXXFLAGS_RELEASE  += -DNDEBUG -DQT_NO_ASCII_CAST
    RC_FILE = kdiff3.rc
 }
 unix {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kdiff3_meta_unload.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,1 @@
+
--- a/kdiff3/src/kdiff3_part.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3_part.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,21 @@
-/*
- * Copyright (C) 2003 Joachim Eibl <joachim.eibl@gmx.de>
- */
+/***************************************************************************
+ * Copyright (C) 2003-2006 Joachim Eibl <joachim.eibl at gmx.de>           *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
 
 #include "kdiff3_part.h"
 
@@ -273,7 +288,7 @@
     if( !s_instance )
     {
         s_about = new KAboutData("kdiff3part", I18N_NOOP("KDiff3Part"), VERSION);
-        s_about->addAuthor("Joachim Eibl", 0, "joachim.eibl@gmx.de");
+        s_about->addAuthor("Joachim Eibl", 0, "joachim.eibl at gmx.de");
         s_instance = new KInstance(s_about);
     }
     return s_instance;
--- a/kdiff3/src/kdiff3_part.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3_part.h	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,21 @@
-/*
- * Copyright (C) 2003 Joachim Eibl <joachim.eibl@gmx.de>
- */
+/***************************************************************************
+ * Copyright (C) 2003-2006 Joachim Eibl <joachim.eibl at gmx.de>           *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
 
 #ifndef _KDIFF3PART_H_
 #define _KDIFF3PART_H_
@@ -18,7 +33,7 @@
  * application.
  *
  * @short Main Part
- * @author Joachim Eibl <joachim.eibl@gmx.de>
+ * @author Joachim Eibl <joachim.eibl at gmx.de>
  */
 class KDiff3Part : public KParts::ReadOnlyPart
 {
--- a/kdiff3/src/kdiff3_shell.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3_shell.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,21 @@
-/*
- * Copyright (C) 2003 Joachim Eibl <joachim@gmx.de>
- */
+/***************************************************************************
+ * Copyright (C) 2003-2006 Joachim Eibl <joachim.eibl at gmx.de>           *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
 
 #include "kdiff3_shell.h"
 #include "kdiff3.h"
@@ -22,7 +37,7 @@
 
 #include <iostream>
 
-KDiff3Shell::KDiff3Shell()
+KDiff3Shell::KDiff3Shell(bool bCompleteInit)
     : KParts::MainWindow( 0L, "kdiff3" )
 {
     m_bUnderConstruction = true;
@@ -51,9 +66,9 @@
             // tell the KParts::MainWindow that this is indeed the main widget
             setCentralWidget(m_part->widget());
 
-            show();
-
-            ((KDiff3App*)m_part->widget())->completeInit();
+            if (bCompleteInit)
+               ((KDiff3App*)m_part->widget())->completeInit();
+            connect(((KDiff3App*)m_part->widget()), SIGNAL(createNewInstance(const QString&, const QString&, const QString&)), this, SLOT(slotNewInstance(const QString&, const QString&, const QString&)));
         }
     }
     else
@@ -98,8 +113,17 @@
    return true;
 }
 
-
-
+void KDiff3Shell::closeEvent(QCloseEvent*e)
+{
+   if ( queryClose() )
+   {
+      e->accept();
+      bool bFileSaved = ((KDiff3App*)m_part->widget())->isFileSaved();
+      KApplication::exit( bFileSaved ? 0 : 1 );
+   }
+   else
+      e->ignore();
+}
 
 void KDiff3Shell::optionsShowToolbar()
 {
@@ -158,4 +182,10 @@
 #endif
 }
 
+void KDiff3Shell::slotNewInstance( const QString& fn1, const QString& fn2, const QString& fn3 )
+{
+   KDiff3Shell* pKDiff3Shell = new KDiff3Shell(false);
+   ((KDiff3App*)pKDiff3Shell->m_part->widget())->completeInit(fn1,fn2,fn3);
+}
+
 #include "kdiff3_shell.moc"
--- a/kdiff3/src/kdiff3_shell.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3_shell.h	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,21 @@
-/*
- * Copyright (C) 2003 Joachim Eibl <joachim.eibl@gmx.de>
- */
+/***************************************************************************
+ * Copyright (C) 2003-2006 Joachim Eibl <joachim.eibl at gmx.de>           *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
 
 #ifndef _KDIFF3SHELL_H_
 #define _KDIFF3SHELL_H_
@@ -19,7 +34,7 @@
  * statusbar but relies on the "Part" to do all the real work.
  *
  * @short Application Shell
- * @author Joachim Eibl <joachim.eibl@gmx.de>
+ * @author Joachim Eibl <joachim.eibl at gmx.de>
  */
 class KDiff3Shell : public KParts::MainWindow
 {
@@ -28,7 +43,7 @@
     /**
      * Default Constructor
      */
-    KDiff3Shell();
+    KDiff3Shell(bool bCompleteInit=true);
 
     /**
      * Default Destructor
@@ -37,6 +52,7 @@
 
     bool queryClose();
     bool queryExit();
+    virtual void closeEvent(QCloseEvent*e);
 
 private slots:
     void optionsShowToolbar();
@@ -45,6 +61,7 @@
     void optionsConfigureToolbars();
 
     void applyNewToolbarConfig();
+    void slotNewInstance( const QString& fn1, const QString& fn2, const QString& fn3 );
 
 private:
     KParts::ReadWritePart *m_part;
--- a/kdiff3/src/kdiff3_shell.rc	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3_shell.rc	Mon Apr 10 08:40:51 2006 +0000
@@ -9,13 +9,24 @@
     <Action name="dir_run_operation_for_current_item"/>
     <Action name="dir_compare_current"/>
     <Action name="dir_rescan"/>
+    <!-- <Action name="dir_save_merge_state"/>
+    <Action name="dir_load_merge_state"/> -->
     <Action name="dir_fold_all"/>
     <Action name="dir_unfold_all"/>
+    <Action name="dir_show_identical_files"/>
+    <Action name="dir_show_different_files"/>
+    <Action name="dir_show_files_only_in_a"/>
+    <Action name="dir_show_files_only_in_b"/>
+    <Action name="dir_show_files_only_in_c"/>
     <Action name="dir_choose_a_everywhere"/>
     <Action name="dir_choose_b_everywhere"/>
     <Action name="dir_choose_c_everywhere"/>
     <Action name="dir_autochoose_everywhere"/>
     <Action name="dir_nothing_everywhere"/>
+    <Action name="dir_synchronize_directories"/>
+    <Action name="dir_choose_newer_files"/>
+    <Action name="dir_compare_explicitly_selected_files"/>
+    <Action name="dir_merge_explicitly_selected_files"/>
     <Menu name="dir_current_merge_menu"><text>Current Item Merge Operation</text>
        <Action name="dir_current_do_nothing"/>
        <Action name="dir_current_choose_a"/>
@@ -56,6 +67,8 @@
     <Action name="diff_overview_ac"/>
     <Action name="diff_overview_bc"/>
     <Action name="diff_wordwrap"/>
+    <Action name="diff_add_manual_diff_help"/>
+    <Action name="diff_clear_manual_diff_help_list"/>
   </Menu>  
   <Menu name="merge"><text>&amp;Merge</text>
     <Action name="merge_current"/>
@@ -74,6 +87,10 @@
     <Action name="merge_choose_c_for_unsolved_whitespace_conflicts"/>
     <Action name="merge_autosolve"/>
     <Action name="merge_autounsolve"/>
+    <Action name="merge_splitdiff"/>
+    <Action name="merge_joindiffs"/>
+    <Action name="merge_regexp_automerge"/>
+    <Action name="merge_versioncontrol_history"/>
   </Menu>
   <Menu name="window"><text>&amp;Window</text>
     <Action name="win_focus_prev"/>
@@ -104,5 +121,8 @@
   <Action name="diff_show_whitespace"/>
   <Action name="diff_show_whitespace_characters"/>
   <Action name="diff_showlinenumbers"/>
+  <Action name="dir_show_identical_files"/>
+  <Action name="dir_show_files_only_in_a"/>
+  <Action name="dir_show_files_only_in_b"/>
 </ToolBar>
 </kpartgui>
--- a/kdiff3/src/kdiff3part.desktop	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kdiff3part.desktop	Mon Apr 10 08:40:51 2006 +0000
@@ -4,6 +4,7 @@
 Name[cs]=Komponenta KDiff3
 Name[fr]=Composant KDiff3
 Name[hi]=के-डिफ3पारà¥à¤Ÿ
+Name[nb]=KDiff3-del
 Name[pt_BR]=Componente KDiff3
 Name[sv]=Kdiff3-del
 Name[ta]=கேடிஃபà¯3 பகà¯à®¤à®¿
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kreplacements/ShellContextMenu.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,474 @@
+// ShellContextMenu.cpp: Implementierung der Klasse CShellContextMenu.
+//
+//////////////////////////////////////////////////////////////////////
+#ifdef _WIN32
+#include <windows.h>
+#include <shlobj.h>
+#include <malloc.h>
+#include <qstring.h>
+#include <qstringlist.h>
+#include <qwidget.h>
+#include <qdir.h>
+#include <qpopupmenu.h>
+#include "ShellContextMenu.h"
+
+#ifdef _DEBUG
+#undef THIS_FILE
+static char THIS_FILE[]=__FILE__;
+#define new DEBUG_NEW
+#endif
+
+//////////////////////////////////////////////////////////////////////
+// Konstruktion/Destruktion
+//////////////////////////////////////////////////////////////////////
+
+#define MIN_ID 100
+#define MAX_ID 10000
+
+
+void showShellContextMenu( const QString& itemPath, QPoint pt, QWidget* pParentWidget, QPopupMenu* pMenu )
+{
+    CShellContextMenu scm;
+    scm.SetObjects(QDir::convertSeparators(itemPath));
+    int id = scm.ShowContextMenu (pParentWidget, pt, pMenu);
+    if (id>=1)
+       pMenu->activateItemAt(id-1);
+}
+
+IContextMenu2 * g_IContext2 = NULL;
+IContextMenu3 * g_IContext3 = NULL;
+
+CShellContextMenu::CShellContextMenu()
+{
+	m_psfFolder = NULL;
+	m_pidlArray = NULL;
+	m_hMenu = NULL;
+}
+
+CShellContextMenu::~CShellContextMenu()
+{
+	// free all allocated datas
+	if (m_psfFolder && bDelete)
+		m_psfFolder->Release ();
+	m_psfFolder = NULL;
+	FreePIDLArray (m_pidlArray);
+	m_pidlArray = NULL;
+
+	if (m_hMenu)
+		DestroyMenu( m_hMenu );
+}
+
+
+
+// this functions determines which version of IContextMenu is avaibale for those objects (always the highest one)
+// and returns that interface
+BOOL CShellContextMenu::GetContextMenu (void ** ppContextMenu, int & iMenuType)
+{
+	*ppContextMenu = NULL;
+	LPCONTEXTMENU icm1 = NULL;
+	
+	// first we retrieve the normal IContextMenu interface (every object should have it)
+	m_psfFolder->GetUIObjectOf (NULL, nItems, (LPCITEMIDLIST *) m_pidlArray, IID_IContextMenu, NULL, (void**) &icm1);
+
+	if (icm1)
+	{	// since we got an IContextMenu interface we can now obtain the higher version interfaces via that
+		if (icm1->QueryInterface (IID_IContextMenu3, ppContextMenu) == NOERROR)
+			iMenuType = 3;
+		else if (icm1->QueryInterface (IID_IContextMenu2, ppContextMenu) == NOERROR)
+			iMenuType = 2;
+
+		if (*ppContextMenu) 
+			icm1->Release(); // we can now release version 1 interface, cause we got a higher one
+		else 
+		{	
+			iMenuType = 1;
+			*ppContextMenu = icm1;	// since no higher versions were found
+		}							// redirect ppContextMenu to version 1 interface
+	}
+	else
+		return (FALSE);	// something went wrong
+	
+	return (TRUE); // success
+}
+
+
+LRESULT CALLBACK CShellContextMenu::HookWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+	switch (message)
+	{ 
+	case WM_MENUCHAR:	// only supported by IContextMenu3
+		if (g_IContext3)
+		{
+			LRESULT lResult = 0;
+			g_IContext3->HandleMenuMsg2 (message, wParam, lParam, &lResult);
+			return (lResult);
+		}
+		break;
+
+	case WM_DRAWITEM:
+	case WM_MEASUREITEM:
+		if (wParam) 
+			break; // if wParam != 0 then the message is not menu-related
+  
+	case WM_INITMENUPOPUP:
+		if (g_IContext2)
+			g_IContext2->HandleMenuMsg (message, wParam, lParam);
+		else	// version 3
+			g_IContext3->HandleMenuMsg (message, wParam, lParam);
+		return (message == WM_INITMENUPOPUP ? 0 : TRUE); // inform caller that we handled WM_INITPOPUPMENU by ourself
+		break;
+
+	default:
+		break;
+	}
+
+	// call original WndProc of window to prevent undefined bevhaviour of window
+	return ::CallWindowProc ((WNDPROC) GetProp ( hWnd, TEXT ("OldWndProc")), hWnd, message, wParam, lParam);
+}
+
+
+UINT CShellContextMenu::ShowContextMenu(QWidget * pParentWidget, QPoint pt, QPopupMenu* pMenu )
+{
+        HWND hWnd = pParentWidget->winId();
+        int iMenuType = 0;	// to know which version of IContextMenu is supported
+	LPCONTEXTMENU pContextMenu;	// common pointer to IContextMenu and higher version interface
+   
+	if (!GetContextMenu ((void**) &pContextMenu, iMenuType))	
+		return (0);	// something went wrong
+
+	if (!m_hMenu)
+	{
+		DestroyMenu( m_hMenu );
+		m_hMenu = CreatePopupMenu ();
+	}
+
+        UINT_PTR i;
+        for( i=0; i<pMenu->count(); ++i )
+        {
+           QString s = pMenu->text(pMenu->idAt(i));
+           if (!s.isEmpty())
+              AppendMenuW( m_hMenu, MF_STRING, i+1, (LPCWSTR)s.ucs2() );
+        }
+        AppendMenuW( m_hMenu, MF_SEPARATOR, i+1, L"" );
+
+	// lets fill the our popupmenu  
+	pContextMenu->QueryContextMenu (m_hMenu, GetMenuItemCount (m_hMenu), MIN_ID, MAX_ID, CMF_NORMAL | CMF_EXPLORE);
+ 
+	// subclass window to handle menurelated messages in CShellContextMenu 
+	WNDPROC OldWndProc;
+	if (iMenuType > 1)	// only subclass if its version 2 or 3
+	{
+		OldWndProc = (WNDPROC) SetWindowLong (hWnd, GWL_WNDPROC, (DWORD) HookWndProc);
+		if (iMenuType == 2)
+			g_IContext2 = (LPCONTEXTMENU2) pContextMenu;
+		else	// version 3
+			g_IContext3 = (LPCONTEXTMENU3) pContextMenu;
+	}
+	else
+		OldWndProc = NULL;
+
+	UINT idCommand = TrackPopupMenu (m_hMenu,TPM_RETURNCMD | TPM_LEFTALIGN, pt.x(), pt.y(), 0, pParentWidget->winId(), 0);
+
+	if (OldWndProc) // unsubclass
+		SetWindowLong (hWnd, GWL_WNDPROC, (DWORD) OldWndProc);
+
+	if (idCommand >= MIN_ID && idCommand <= MAX_ID)	// see if returned idCommand belongs to shell menu entries
+	{
+		InvokeCommand (pContextMenu, idCommand - MIN_ID);	// execute related command
+		idCommand = 0;
+	}
+	
+	pContextMenu->Release();
+	g_IContext2 = NULL;
+	g_IContext3 = NULL;
+
+	return (idCommand);
+}
+
+
+void CShellContextMenu::InvokeCommand (LPCONTEXTMENU pContextMenu, UINT idCommand)
+{
+	CMINVOKECOMMANDINFO cmi = {0};
+	cmi.cbSize = sizeof (CMINVOKECOMMANDINFO);
+	cmi.lpVerb = (LPSTR) MAKEINTRESOURCE (idCommand);
+	cmi.nShow = SW_SHOWNORMAL;
+	
+	pContextMenu->InvokeCommand (&cmi);
+}
+
+
+void CShellContextMenu::SetObjects(const QString& strObject)
+{
+	// only one object is passed
+	QStringList strArray;
+	strArray << strObject;	// create a CStringArray with one element
+	
+	SetObjects (strArray);		// and pass it to SetObjects (CStringArray &strArray)
+								// for further processing
+}
+
+
+void CShellContextMenu::SetObjects(const QStringList &strList)
+{
+	// free all allocated datas
+	if (m_psfFolder && bDelete)
+		m_psfFolder->Release ();
+	m_psfFolder = NULL;
+	FreePIDLArray (m_pidlArray);
+	m_pidlArray = NULL;
+	
+	// get IShellFolder interface of Desktop (root of shell namespace)
+	IShellFolder * psfDesktop = NULL;
+	SHGetDesktopFolder (&psfDesktop);	// needed to obtain full qualified pidl
+
+	// ParseDisplayName creates a PIDL from a file system path relative to the IShellFolder interface
+	// but since we use the Desktop as our interface and the Desktop is the namespace root
+	// that means that it's a fully qualified PIDL, which is what we need
+	LPITEMIDLIST pidl = NULL;
+	
+	psfDesktop->ParseDisplayName (NULL, 0, (LPOLESTR)strList[0].ucs2(), NULL, &pidl, NULL);
+
+	// now we need the parent IShellFolder interface of pidl, and the relative PIDL to that interface
+	LPITEMIDLIST pidlItem = NULL;	// relative pidl
+	SHBindToParentEx (pidl, IID_IShellFolder, (void **) &m_psfFolder, NULL);
+	free (pidlItem);
+	// get interface to IMalloc (need to free the PIDLs allocated by the shell functions)
+	LPMALLOC lpMalloc = NULL;
+	SHGetMalloc (&lpMalloc);
+	lpMalloc->Free (pidl);
+
+	// now we have the IShellFolder interface to the parent folder specified in the first element in strArray
+	// since we assume that all objects are in the same folder (as it's stated in the MSDN)
+	// we now have the IShellFolder interface to every objects parent folder
+	
+	IShellFolder * psfFolder = NULL;
+	nItems = strList.size ();
+	for (int i = 0; i < nItems; i++)
+	{
+                pidl=0;
+		psfDesktop->ParseDisplayName (NULL, 0, (LPOLESTR)strList[i].ucs2(), NULL, &pidl, NULL);
+                if (pidl)
+                {
+                     m_pidlArray = (LPITEMIDLIST *) realloc (m_pidlArray, (i + 1) * sizeof (LPITEMIDLIST));
+                     // get relative pidl via SHBindToParent
+                     SHBindToParentEx (pidl, IID_IShellFolder, (void **) &psfFolder, (LPCITEMIDLIST *) &pidlItem);
+                     m_pidlArray[i] = CopyPIDL (pidlItem);	// copy relative pidl to pidlArray
+                     free (pidlItem);
+                     lpMalloc->Free (pidl);		// free pidl allocated by ParseDisplayName
+                     psfFolder->Release ();
+                }
+	}
+	lpMalloc->Release ();
+	psfDesktop->Release ();
+
+	bDelete = TRUE;	// indicates that m_psfFolder should be deleted by CShellContextMenu
+}
+
+
+// only one full qualified PIDL has been passed
+void CShellContextMenu::SetObjects(LPITEMIDLIST /*pidl*/)
+{
+/*
+   // free all allocated datas
+	if (m_psfFolder && bDelete)
+		m_psfFolder->Release ();
+	m_psfFolder = NULL;
+	FreePIDLArray (m_pidlArray);
+	m_pidlArray = NULL;
+
+		// full qualified PIDL is passed so we need
+	// its parent IShellFolder interface and its relative PIDL to that
+	LPITEMIDLIST pidlItem = NULL;
+	SHBindToParent ((LPCITEMIDLIST) pidl, IID_IShellFolder, (void **) &m_psfFolder, (LPCITEMIDLIST *) &pidlItem);	
+
+	m_pidlArray = (LPITEMIDLIST *) malloc (sizeof (LPITEMIDLIST));	// allocate ony for one elemnt
+	m_pidlArray[0] = CopyPIDL (pidlItem);
+
+
+	// now free pidlItem via IMalloc interface (but not m_psfFolder, that we need later
+	LPMALLOC lpMalloc = NULL;
+	SHGetMalloc (&lpMalloc);
+	lpMalloc->Free (pidlItem);
+	lpMalloc->Release();
+
+	nItems = 1;
+	bDelete = TRUE;	// indicates that m_psfFolder should be deleted by CShellContextMenu
+*/
+}
+
+
+// IShellFolder interface with a relative pidl has been passed
+void CShellContextMenu::SetObjects(IShellFolder *psfFolder, LPITEMIDLIST pidlItem)
+{
+	// free all allocated datas
+	if (m_psfFolder && bDelete)
+		m_psfFolder->Release ();
+	m_psfFolder = NULL;
+	FreePIDLArray (m_pidlArray);
+	m_pidlArray = NULL;
+
+	m_psfFolder = psfFolder;
+
+	m_pidlArray = (LPITEMIDLIST *) malloc (sizeof (LPITEMIDLIST));
+	m_pidlArray[0] = CopyPIDL (pidlItem);
+	
+	nItems = 1;
+	bDelete = FALSE;	// indicates wheter m_psfFolder should be deleted by CShellContextMenu
+}
+
+void CShellContextMenu::SetObjects(IShellFolder * psfFolder, LPITEMIDLIST *pidlArray, int nItemCount)
+{
+	// free all allocated datas
+	if (m_psfFolder && bDelete)
+		m_psfFolder->Release ();
+	m_psfFolder = NULL;
+	FreePIDLArray (m_pidlArray);
+	m_pidlArray = NULL;
+
+	m_psfFolder = psfFolder;
+
+	m_pidlArray = (LPITEMIDLIST *) malloc (nItemCount * sizeof (LPITEMIDLIST));
+
+	for (int i = 0; i < nItemCount; i++)
+		m_pidlArray[i] = CopyPIDL (pidlArray[i]);
+
+	nItems = nItemCount;
+	bDelete = FALSE;	// indicates wheter m_psfFolder should be deleted by CShellContextMenu
+}
+
+
+void CShellContextMenu::FreePIDLArray(LPITEMIDLIST *pidlArray)
+{
+	if (!pidlArray)
+		return;
+
+	int iSize = _msize (pidlArray) / sizeof (LPITEMIDLIST);
+
+	for (int i = 0; i < iSize; i++)
+		free (pidlArray[i]);
+	free (pidlArray);
+}
+
+
+LPITEMIDLIST CShellContextMenu::CopyPIDL (LPCITEMIDLIST pidl, int cb)
+{
+	if (cb == -1)
+		cb = GetPIDLSize (pidl); // Calculate size of list.
+
+    LPITEMIDLIST pidlRet = (LPITEMIDLIST) calloc (cb + sizeof (USHORT), sizeof (BYTE));
+    if (pidlRet)
+		CopyMemory(pidlRet, pidl, cb);
+
+    return (pidlRet);
+}
+
+
+UINT CShellContextMenu::GetPIDLSize (LPCITEMIDLIST pidl)
+{  
+	if (!pidl) 
+		return 0;
+	int nSize = 0;
+	LPITEMIDLIST pidlTemp = (LPITEMIDLIST) pidl;
+	while (pidlTemp->mkid.cb)
+	{
+		nSize += pidlTemp->mkid.cb;
+		pidlTemp = (LPITEMIDLIST) (((LPBYTE) pidlTemp) + pidlTemp->mkid.cb);
+	}
+	return nSize;
+}
+
+HMENU  CShellContextMenu::GetMenu()
+{
+	if (!m_hMenu)
+	{
+		m_hMenu = CreatePopupMenu();	// create the popupmenu (its empty)
+	}
+	return (m_hMenu);
+}
+
+
+// this is workaround function for the Shell API Function SHBindToParent
+// SHBindToParent is not available under Win95/98
+HRESULT CShellContextMenu::SHBindToParentEx (LPCITEMIDLIST pidl, REFIID riid, VOID **ppv, LPCITEMIDLIST *ppidlLast)
+{
+	HRESULT hr = 0;
+	if (!pidl || !ppv)
+		return E_POINTER;
+	
+	int nCount = GetPIDLCount (pidl);
+	if (nCount == 0)	// desktop pidl of invalid pidl
+		return E_POINTER;
+
+	IShellFolder * psfDesktop = NULL;
+	SHGetDesktopFolder (&psfDesktop);
+	if (nCount == 1)	// desktop pidl
+	{
+		if ((hr = psfDesktop->QueryInterface(riid, ppv)) == S_OK)
+		{
+			if (ppidlLast) 
+				*ppidlLast = CopyPIDL (pidl);
+		}
+		psfDesktop->Release ();
+		return hr;
+	}
+
+	LPBYTE pRel = GetPIDLPos (pidl, nCount - 1);
+	LPITEMIDLIST pidlParent = NULL;
+	pidlParent = CopyPIDL (pidl, pRel - (LPBYTE) pidl);
+	IShellFolder * psfFolder = NULL;
+	
+	if ((hr = psfDesktop->BindToObject (pidlParent, NULL, IID_IShellFolder, (void **) &psfFolder)) != S_OK)
+	{
+		free (pidlParent);
+		psfDesktop->Release ();
+		return hr;
+	}
+	if ((hr = psfFolder->QueryInterface (riid, ppv)) == S_OK)
+	{
+		if (ppidlLast)
+			*ppidlLast = CopyPIDL ((LPCITEMIDLIST) pRel);
+	}
+	free (pidlParent);
+	psfFolder->Release ();
+	psfDesktop->Release ();
+	return hr;
+}
+
+
+LPBYTE CShellContextMenu::GetPIDLPos (LPCITEMIDLIST pidl, int nPos)
+{
+	if (!pidl)
+		return 0;
+	int nCount = 0;
+	
+	BYTE * pCur = (BYTE *) pidl;
+	while (((LPCITEMIDLIST) pCur)->mkid.cb)
+	{
+		if (nCount == nPos)
+			return pCur;
+		nCount++;
+		pCur += ((LPCITEMIDLIST) pCur)->mkid.cb;	// + sizeof(pidl->mkid.cb);
+	}
+	if (nCount == nPos) 
+		return pCur;
+	return NULL;
+}
+
+
+int CShellContextMenu::GetPIDLCount (LPCITEMIDLIST pidl)
+{
+	if (!pidl)
+		return 0;
+
+	int nCount = 0;
+	BYTE*  pCur = (BYTE *) pidl;
+	while (((LPCITEMIDLIST) pCur)->mkid.cb)
+	{
+		nCount++;
+		pCur += ((LPCITEMIDLIST) pCur)->mkid.cb;
+	}
+	return nCount;
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kreplacements/ShellContextMenu.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,44 @@
+// ShellContextMenu.h: Schnittstelle für die Klasse CShellContextMenu.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef SHELLCONTEXTMENU_H
+#define SHELLCONTEXTMENU_H
+
+/////////////////////////////////////////////////////////////////////
+// class to show shell contextmenu of files/folders/shell objects
+// developed by R. Engels 2003
+/////////////////////////////////////////////////////////////////////
+
+class CShellContextMenu  
+{
+public:
+	HMENU GetMenu ();
+	void SetObjects (IShellFolder * psfFolder, LPITEMIDLIST pidlItem);
+	void SetObjects (IShellFolder * psfFolder, LPITEMIDLIST * pidlArray, int nItemCount);
+	void SetObjects (LPITEMIDLIST pidl);
+	void SetObjects (const QString& strObject);
+	void SetObjects (const QStringList& strList);
+	UINT ShowContextMenu (QWidget* pParent, QPoint pt, QPopupMenu* pMenu);
+	CShellContextMenu();
+	virtual ~CShellContextMenu();
+
+private:
+	int nItems;
+	BOOL bDelete;
+	HMENU m_hMenu;
+	IShellFolder * m_psfFolder;
+	LPITEMIDLIST * m_pidlArray;	
+	
+	void InvokeCommand (LPCONTEXTMENU pContextMenu, UINT idCommand);
+	BOOL GetContextMenu (void ** ppContextMenu, int & iMenuType);
+	HRESULT SHBindToParentEx (LPCITEMIDLIST pidl, REFIID riid, VOID **ppv, LPCITEMIDLIST *ppidlLast);
+	static LRESULT CALLBACK HookWndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
+	void FreePIDLArray (LPITEMIDLIST * pidlArray);
+	LPITEMIDLIST CopyPIDL (LPCITEMIDLIST pidl, int cb = -1);
+	UINT GetPIDLSize (LPCITEMIDLIST pidl);
+	LPBYTE GetPIDLPos (LPCITEMIDLIST pidl, int nPos);
+	int GetPIDLCount (LPCITEMIDLIST pidl);
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kreplacements/konq_popupmenu.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2 @@
+#include "kreplacements.h"      
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kreplacements/kprinter.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2 @@
+#include "kreplacements.h"      
+ 
--- a/kdiff3/src/kreplacements/kreplacements.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kreplacements/kreplacements.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           kreplacements.cpp  -  description
                              -------------------
     begin                : Sat Aug 3 2002
-    copyright            : (C) 2002-2003 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -277,6 +277,14 @@
    return KURL(s);
 }
 
+QString KFileDialog::getSaveFileName (const QString &startDir, 
+                        const QString &filter, 
+                        QWidget *parent, 
+                        const QString &caption)
+{
+   return QFileDialog::getSaveFileName( startDir, filter, parent, 0, caption );
+}
+
 
 KToolBar::BarPosition KToolBar::barPos()
 {
@@ -330,22 +338,6 @@
       
    memberList = new QList<KMainWindow>;
    memberList->append(this);
-   connect( qApp, SIGNAL(lastWindowClosed()), this, SLOT(quit())); 
-}
-
-void KMainWindow::closeEvent(QCloseEvent*e)
-{
-   if ( queryClose() )
-   {
-      e->accept();
-   }
-   else
-      e->ignore();
-}
-
-bool KMainWindow::event( QEvent* e )
-{
-   return QMainWindow::event(e);
 }
 
 KToolBar* KMainWindow::toolBar(const QString&)
@@ -362,14 +354,7 @@
 {
    KStdAction::help(this, SLOT(slotHelp()), actionCollection());
    KStdAction::about(this, SLOT(slotAbout()), actionCollection());
-}
-
-void KMainWindow::quit()
-{
-   if ( queryExit() )
-   {
-      qApp->quit();
-   }
+   KStdAction::aboutQt(actionCollection());
 }
 
 void KMainWindow::slotAbout()
@@ -437,26 +422,37 @@
    showHelp();
 }
 
+
+QString KStandardDirs::findResource(const QString& resource, const QString& /*appName*/)
+{
+   if (resource=="config")
+   {
+      QString home = QDir::homeDirPath();
+      return home + "/.kdiff3rc";
+   }
+   return QString();
+}
+
 KConfig::KConfig()
 {
-   QString home = QDir::homeDirPath();
-   m_fileName = home + "/.kdiff3rc";
+}
+
+void KConfig::readConfigFile( const QString& configFileName )
+{
+   if ( !configFileName.isEmpty() )
+   {
+      m_fileName = configFileName;
+   }
+   else
+   {
+      m_fileName = KStandardDirs().findResource("config","kdiff3rc");
+   }
 
    QFile f( m_fileName );
    if ( f.open(IO_ReadOnly) )
    {                               // file opened successfully
-      QTextStream t( &f );        // use a text stream
-      while ( !t.eof() )
-      {                                 // until end of file...	   
-         QString s = t.readLine();         // line of text excluding '\n'
-         int pos = s.find('=');
-         if( pos > 0 )                     // seems not to have a tag
-         {
-            QString key = s.left(pos);
-            QString val = s.mid(pos+1);
-            m_map[key] = val;
-         }	   
-      }
+      QTextStream t( &f );         // use a text stream
+      load(t);
       f.close();
    }
 }
@@ -467,13 +463,7 @@
    if ( f.open( IO_WriteOnly | IO_Translate ) )
    {                               // file opened successfully
        QTextStream t( &f );        // use a text stream
-       std::map<QString,QString>::iterator i;
-       for( i=m_map.begin(); i!=m_map.end(); ++i)
-       {
-          QString key = i->first;
-          QString val = i->second;
-          t << key << "=" << val << "\n";
-       }
+       save(t);
        f.close();
    }
 }
@@ -482,247 +472,6 @@
 {
 }
 
-// safeStringJoin and safeStringSplit allow to convert a stringlist into a string and back
-// safely, even if the individual strings in the list contain the separator character.
-static QString safeStringJoin(const QStringList& sl, char sepChar=',', char metaChar='\\' )
-{
-   // Join the strings in the list, using the separator ','
-   // If a string contains the separator character, it will be replaced with "\,".
-   // Any occurances of "\" (one backslash) will be replaced with "\\" (2 backslashes)
-   
-   assert(sepChar!=metaChar);
-   
-   QString sep;
-   sep += sepChar;
-   QString meta;
-   meta += metaChar;   
-   
-   QString safeString;
-   
-   QStringList::const_iterator i;
-   for (i=sl.begin(); i!=sl.end(); ++i)
-   {
-      QString s = *i;
-      s.replace(meta, meta+meta);   //  "\" -> "\\"
-      s.replace(sep, meta+sep);     //  "," -> "\,"
-      if ( i==sl.begin() )
-         safeString = s;
-      else
-         safeString += sep + s;
-   }
-   return safeString;
-}
-
-// Split a string that was joined with safeStringJoin
-static QStringList safeStringSplit(const QString& s, char sepChar=',', char metaChar='\\' )
-{
-   assert(sepChar!=metaChar);
-   QStringList sl;
-   // Miniparser
-   int i=0;
-   int len=s.length();
-   QString b;
-   for(i=0;i<len;++i)
-   {
-      if      ( i+1<len && s[i]==metaChar && s[i+1]==metaChar ){ b+=metaChar; ++i; }
-      else if ( i+1<len && s[i]==metaChar && s[i+1]==sepChar ){ b+=sepChar; ++i; }
-      else if ( s[i]==sepChar )  // real separator
-      {
-         sl.push_back(b);
-         b="";
-      }
-      else { b+=s[i]; }     
-   }
-   if ( !b.isEmpty() )
-      sl.push_back(b);
-
-   return sl;
-}
-
-
-
-static QString numStr(int n)
-{
-   QString s;
-   s.setNum( n );
-   return s;
-}
-
-static QString subSection( const QString& s, int idx, char sep )
-{
-   int pos=0;
-   while( idx>0 )
-   {
-      pos = s.find( sep, pos );
-      --idx;
-      if (pos<0) break;
-      ++pos;
-   }
-   if ( pos>=0 )
-   {
-      int pos2 = s.find( sep, pos );
-      if ( pos2>0 )
-         return s.mid(pos, pos2-pos);
-      else
-         return s.mid(pos);
-   }
-
-   return "";
-}
-
-static int num( QString& s, int idx )
-{
-   return subSection( s, idx, ',').toInt();
-
-   //return s.section(',', idx, idx).toInt();
-}
-
-void KConfig::writeEntry(const QString& k, const QFont& v )
-{
-   m_map[k] = v.family() + "," + QString::number(v.pointSize()) + "," + (v.bold() ? "bold" : "normal");
-}
-
-void KConfig::writeEntry(const QString& k, const QColor& v )
-{
-   m_map[k] = numStr(v.red()) + "," + numStr(v.green()) + "," + numStr(v.blue());
-}
-
-void KConfig::writeEntry(const QString& k, const QSize& v )
-{
-   m_map[k] = numStr(v.width()) + "," + numStr(v.height());
-}
-
-void KConfig::writeEntry(const QString& k, const QPoint& v )
-{
-   m_map[k] = numStr(v.x()) + "," + numStr(v.y());
-}
-
-void KConfig::writeEntry(const QString& k, int v )
-{
-   m_map[k] = numStr(v);
-}
-
-void KConfig::writeEntry(const QString& k, bool v )
-{
-   m_map[k] = numStr(v);
-}
-
-void KConfig::writeEntry(const QString& k, const QString& v )
-{
-   m_map[k] = v;
-}
-
-void KConfig::writeEntry(const QString& k, const QStringList& v, char separator )
-{
-   m_map[k] = safeStringJoin(v, separator);
-}
-
-
-QFont KConfig::readFontEntry(const QString& k, QFont* defaultVal )
-{
-   QFont f = *defaultVal;
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      f.setFamily( subSection( i->second, 0, ',' ) );
-      f.setPointSize( subSection( i->second, 1, ',' ).toInt() );
-      f.setBold( subSection( i->second, 2, ',' )=="bold" );
-      //f.fromString(i->second);
-   }
-
-   return f;
-}
-
-QColor KConfig::readColorEntry(const QString& k, QColor* defaultVal )
-{
-   QColor c= *defaultVal;
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      QString s = i->second;
-      c = QColor( num(s,0),num(s,1),num(s,2) );
-   }
-
-   return c;
-}
-
-QSize KConfig::readSizeEntry(const QString& k)
-{
-   QSize size(640,400);
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-
-      QString s = i->second;
-      size = QSize( num(s,0),num(s,1) );
-   }
-
-   return size;
-}
-
-QPoint KConfig::readPointEntry(const QString& k)
-{
-   QPoint point(0,0);
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      QString s = i->second;
-      point = QPoint( num(s,0),num(s,1) );
-   }
-
-   return point;
-}
-
-bool KConfig::readBoolEntry(const QString& k, bool bDefault )
-{
-   bool b = bDefault;
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      QString s = i->second;
-      b = (bool)num(s,0);
-   }
-
-   return b;
-}
-
-int KConfig::readNumEntry(const QString& k, int iDefault )
-{
-   int ival = iDefault;
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      QString s = i->second;
-      ival = num(s,0);
-   }
-
-   return ival;
-}
-
-QString KConfig::readEntry(const QString& k, const QString& sDefault )
-{
-   QString sval = sDefault;
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      sval = i->second;
-   }
-
-   return sval;
-}
-
-QStringList KConfig::readListEntry(const QString& k, char separator )
-{
-   QStringList strList;
-
-   std::map<QString,QString>::iterator i = m_map.find( k );
-   if ( i!=m_map.end() )
-   {
-      strList = safeStringSplit( i->second, separator );
-   }
-   return strList;
-}
-
 void KAction::init(QObject* receiver, const char* slot, KActionCollection* actionCollection, 
                    const char* name, bool bToggle, bool bMenu)
 {
@@ -859,6 +608,15 @@
    return a;
 }
 
+KAction* KStdAction::print( QWidget* parent, const char* slot, KActionCollection* actionCollection)
+{
+   #include "../xpm/fileprint.xpm"
+   KMainWindow* p = actionCollection->m_pMainWindow;
+   KAction* a = new KAction( i18n("Print..."), QIconSet(QPixmap(fileprint)),Qt::CTRL+Qt::Key_P, parent, slot, actionCollection, "print", false, false);
+   if(p) a->addTo( p->fileMenu );
+   return a;
+}
+
 KAction* KStdAction::quit( QWidget* parent, const char* slot, KActionCollection* actionCollection)
 {
    KMainWindow* p = actionCollection->m_pMainWindow;
@@ -891,6 +649,14 @@
    return a;
 }
 
+KAction* KStdAction::selectAll( QWidget* parent, const char* slot, KActionCollection* actionCollection)
+{
+   KMainWindow* p = actionCollection->m_pMainWindow;
+   KAction* a = new KAction( i18n("Select All"), Qt::CTRL+Qt::Key_A, parent, slot, actionCollection, "selectall", false, false );
+   if(p) a->addTo( p->editMenu );
+   return a;
+}
+
 KToggleAction* KStdAction::showToolbar( QWidget* parent, const char* slot, KActionCollection* actionCollection)
 {
    KMainWindow* p = actionCollection->m_pMainWindow;
@@ -922,7 +688,15 @@
 KAction* KStdAction::about( QWidget* parent, const char* slot, KActionCollection* actionCollection)
 {
    KMainWindow* p = actionCollection->m_pMainWindow;
-   KAction* a = new KAction( i18n("About"), 0, parent, slot, actionCollection, "about", false, false );
+   KAction* a = new KAction( i18n("About")+" KDiff3", 0, parent, slot, actionCollection, "about_kdiff3", false, false );
+   if(p) a->addTo( p->helpMenu );
+   return a;
+}
+
+KAction* KStdAction::aboutQt( KActionCollection* actionCollection )
+{
+   KMainWindow* p = actionCollection->m_pMainWindow;
+   KAction* a = new KAction( i18n("About")+" Qt", 0, qApp, SLOT(aboutQt()), actionCollection, "about_qt", false, false );
    if(p) a->addTo( p->helpMenu );
    return a;
 }
@@ -1047,6 +821,27 @@
    update();
 }
 
+KPrinter::KPrinter()
+{
+}
+QValueList<int> KPrinter::pageList()
+{
+   QValueList<int> vl;
+   int to = toPage();
+   for(int i=fromPage(); i<=to; ++i)
+   {
+      vl.push_back(i);
+   }
+   return vl;
+}
+void KPrinter::setCurrentPage(int)
+{
+}
+void KPrinter::setPageSelection(e_PageSelection)
+{
+}
+
+
 QPixmap KIconLoader::loadIcon( const QString&, int )
 {
    return QPixmap();
@@ -1133,7 +928,7 @@
    int j=0;
    for( j=0; j<(int)s_vOption.size(); ++j )
    {
-      const char* optName = s_pOptions[j].shortName;
+      const char* optName = s_pOptions[j].name;
       const char* pos = strchr( optName,' ' );
       int len = pos==0 ? strlen( optName ) : pos - optName;
 
@@ -1152,7 +947,7 @@
    int j=0;
    for( j=0; j<(int)s_vOption.size(); ++j )
    {
-      const char* optName = s_pOptions[j].shortName;
+      const char* optName = s_pOptions[j].name;
       const char* pos = strchr( optName,' ' );
       int len = pos==0 ? strlen( optName ) : pos - optName;
 
@@ -1172,7 +967,7 @@
    int j=0;
    for( j=0; j<(int)s_vOption.size(); ++j )
    {
-      const char* optName = s_pOptions[j].shortName;
+      const char* optName = s_pOptions[j].name;
       if( s == QString( optName ) )
       {
          return ! s_vOption[j].isEmpty();
@@ -1193,9 +988,9 @@
    int nofOptions=0;
    int nofArgs=0;
    int i=0;
-   while( s_pOptions[i].shortName != 0 )
+   while( s_pOptions[i].name != 0 )
    {
-      if ( s_pOptions[i].shortName[0]=='[' )
+      if ( s_pOptions[i].name[0]=='[' )
          nofArgs++;
       else
          nofOptions++;
@@ -1203,27 +998,47 @@
       ++i;
    }
 
+   // First find the option "-config" or "--config" to allow loading of options
+   QString configFileName;
+   for( i=1; i<s_argc-1; ++i )
+   {
+      QString arg = s_argv[i];
+      if ( arg == "-config" || arg == "--config" )
+      {
+         configFileName = s_argv[i+1];
+      }
+   }
+   m_config.readConfigFile(configFileName);
+
+   QStringList ignorableCmdLineOptionsList = m_config.readListEntry("IgnorableCmdLineOptions", QString("-u;-query;-html;-abort"), '|');
+   QString ignorableCmdLineOptions;
+   if ( !ignorableCmdLineOptionsList.isEmpty() ) 
+      ignorableCmdLineOptions = ignorableCmdLineOptionsList.front() + ";";
+
    s_vOption.resize(nofOptions);
 
    for( i=1; i<s_argc; ++i )
    {
       if ( s_argv[i][0]=='-' )  // An option
       {
+         if ( ignorableCmdLineOptions.contains(QString(s_argv[i])+";") )
+            continue;
          // Find the option
          int j=0;
          for( j=0; j<nofOptions; ++j )
          {
-            const char* optName = s_pOptions[j].shortName;
+            const char* optName = s_pOptions[j].name;
             const char* pos = strchr( optName,' ' );
             int len = pos==0 ? strlen( optName ) : pos - optName;
+            int len2 = strlen(s_argv[i]);
 
-            if( len>0 && ( s_argv[i][1]=='-' && memcmp( &s_argv[i][2], optName, len )==0  ||
-                                                memcmp( &s_argv[i][1], optName, len )==0  ))
+            if( len>0 && ( s_argv[i][1]=='-' && len2-2==len && memcmp( &s_argv[i][2], optName, len )==0  ||
+                                                len2-1==len && memcmp( &s_argv[i][1], optName, len )==0  ))
             {
-               if (s_pOptions[j].longName == 0)  // alias, because without description.
+               if (s_pOptions[j].description == 0)  // alias, because without description.
                {
                   ++j;
-                  optName = s_pOptions[j].shortName;
+                  optName = s_pOptions[j].name;
                   pos = strchr( optName,' ' );
                }
                if (pos!=0){ ++i; s_vOption[j].append(s_argv[i]); } //use param
@@ -1235,6 +1050,8 @@
          {
             QString s;
             s = QString("Unknown option: ") +  s_argv[i] + "\n";
+            s += "If KDiff3 should ignore this option, run KDiff3 normally and edit\n"
+                 "the \"Command line options to ignore\" in the \"Integration Settings\".\n\n";
 
             s += "KDiff3-Usage when starting via commandline: \n";
             s += "- Comparing 2 files:\t\tkdiff3 file1 file2\n";
@@ -1253,36 +1070,37 @@
             int pos=s.length();
             for( j=0; j<nofOptions; ++j )
             {
-               if ( s_pOptions[j].longName!=0 )
+               if ( s_pOptions[j].description!=0 )
                {
-                  if (s_pOptions[j].shortName[0]!='+')
+                  if (s_pOptions[j].name[0]!='+')
                   {
                      s += "-";
-                     if ( strlen(s_pOptions[j].shortName)>1 ) s += "-";
+                     if ( strlen(s_pOptions[j].name)>1 ) s += "-";
                   }
-                  s += s_pOptions[j].shortName;
+                  s += s_pOptions[j].name;
                   s += QString().fill(' ', minMaxLimiter( 20 - ((int)s.length()-pos), 3, 20 ) );
-                  s += s_pOptions[j].longName;
+                  s += s_pOptions[j].description;
                   s +="\n";
                   pos=s.length();
                }
                else
                {
                   s += "-";
-                  if ( strlen(s_pOptions[j].shortName)>1 ) s += "-";
-                  s += s_pOptions[j].shortName;
+                  if ( strlen(s_pOptions[j].name)>1 ) s += "-";
+                  s += s_pOptions[j].name;
                   s += ", ";
                }
             }
-            
-            s += "\nFor more documentation, see the help-menu or the subdirectory doc.\n";
-#ifdef _WIN32 
+
+            s += "\n"+i18n("For more documentation, see the help-menu or the subdirectory doc.")+"\n";
+#ifdef _WIN32
             // A windows program has no console
-            KMessageBox::information(0, s,i18n("KDiff3-Usage"));
+            if ( 0==QMessageBox::information(0, i18n("KDiff3-Usage"), s, i18n("Ignore"),i18n("Exit") ) )
+               continue;
 #else
             std::cerr << s.latin1() << std::endl;
 #endif
-            
+
             ::exit(-1);
          }
       }
--- a/kdiff3/src/kreplacements/kreplacements.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/kreplacements/kreplacements.h	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           kreplacements.h  -  description
                              -------------------
     begin                : Sat Aug 3 2002
-    copyright            : (C) 2002 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -18,6 +18,8 @@
 #ifndef KREPLACEMENTS_H
 #define KREPLACEMENTS_H
 
+#include "common.h"
+
 #include <qobject.h>
 #include <qtabdialog.h>
 #include <qmainwindow.h>
@@ -31,6 +33,7 @@
 #include <qprogressbar.h>
 #include <qpopupmenu.h>
 #include <qstringlist.h>
+#include <qprinter.h>
 
 #include <map>
 #include <list>
@@ -125,6 +128,10 @@
    static KURL getExistingURL( const QString &  startDir = QString::null,
                                QWidget *  parent = 0,
                                const QString &  caption = QString::null );
+   static QString getSaveFileName (const QString &startDir=QString::null, 
+                                   const QString &filter=QString::null, 
+                                   QWidget *parent=0, 
+                                   const QString &caption=QString::null);
 };
 
 typedef QStatusBar KStatusBar;
@@ -168,10 +175,8 @@
    KStatusBar m_statusBar;
    KActionCollection m_actionCollection;
 protected:
-   void closeEvent(QCloseEvent* e);
    virtual bool queryClose() = 0;
    virtual bool queryExit() = 0;
-   bool event( QEvent* e );
 public:
    QPopupMenu* fileMenu;
    QPopupMenu* editMenu;
@@ -195,38 +200,19 @@
 
    QList<KMainWindow>* memberList;
 public slots:
-   void quit();
    void slotHelp();
    void slotAbout();
 };
 
-class KConfig
+class KConfig : public ValueMap
 {
    QString m_fileName;
-   std::map<QString,QString> m_map;
 public:
    KConfig();
    ~KConfig();
+   void readConfigFile(const QString& configFileName);
 
    void setGroup(const QString&);
-
-   void writeEntry(const QString&, const QFont& );
-   void writeEntry(const QString&, const QColor& );
-   void writeEntry(const QString&, const QSize& );
-   void writeEntry(const QString&, const QPoint& );
-   void writeEntry(const QString&, int );
-   void writeEntry(const QString&, bool );
-   void writeEntry(const QString&, const QStringList&, char separator );
-   void writeEntry(const QString&, const QString& );
-
-   QFont readFontEntry(const QString&, QFont* defaultVal );
-   QColor readColorEntry(const QString&, QColor* defaultVal );
-   QSize readSizeEntry(const QString& );
-   QPoint readPointEntry(const QString& );
-   bool readBoolEntry(const QString&, bool bDefault );
-   int readNumEntry(const QString&, int iDefault );
-   QStringList readListEntry(const QString&, char separator );
-   QString readEntry(const QString&, const QString& );
 };
 
 class KAction : public QAction
@@ -258,14 +244,17 @@
    static KAction* open( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* save( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* saveAs( QWidget* parent, const char* slot, KActionCollection* );
+   static KAction* print( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* quit( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* cut( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* copy( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* paste( QWidget* parent, const char* slot, KActionCollection* );
+   static KAction* selectAll( QWidget* parent, const char* slot, KActionCollection* );
    static KToggleAction* showToolbar( QWidget* parent, const char* slot, KActionCollection* );
    static KToggleAction* showStatusbar( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* preferences( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* about( QWidget* parent, const char* slot, KActionCollection* );
+   static KAction* aboutQt( KActionCollection* );
    static KAction* help( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* find( QWidget* parent, const char* slot, KActionCollection* );
    static KAction* findNext( QWidget* parent, const char* slot, KActionCollection* );
@@ -306,13 +295,30 @@
    void slotClicked();
 };
 
+class KPrinter : public QPrinter
+{
+public:
+   KPrinter();
+   enum e_PageSelection {ApplicationSide};
+   QValueList<int> pageList();
+   void setCurrentPage(int);
+   void setPageSelection(e_PageSelection);
+};
+
+class KStandardDirs
+{
+public:
+   QString findResource(const QString& resource, const QString& appName);
+};   
+
 struct KCmdLineOptions
 {
-   const char* shortName;
-   const char* longName;
-   int whatever;
+   const char* name;
+   const char* description;
+   int def;
 };
 
+#define KCmdLineLastOption {0,0,0}
 
 class KAboutData
 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/kreplacements/kstandarddirs.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,2 @@
+#include "kreplacements.h"      
+ 
--- a/kdiff3/src/main.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/main.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           main.cpp  -  Where everything starts.
                              -------------------
     begin                : Don Jul 11 12:31:29 CEST 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -19,12 +19,17 @@
 #include <kaboutdata.h>
 #include <klocale.h>
 #include "kdiff3_shell.h"
+#include <kstandarddirs.h>
 #include "version.h"
 #include <qtextcodec.h>
+#include <qfile.h>
+#include <qtextstream.h>
+#include <vector>
 
 #ifdef KREPLACEMENTS_H
 #include "optiondialog.h"
 #endif
+#include "common.h"
 
 static const char *description =
    I18N_NOOP("Tool for Comparison and Merge of Files and Directories");
@@ -45,17 +50,65 @@
   { "L3 alias3",   I18N_NOOP("Visible name replacement for input file 3."), 0 },
   { "L", 0, 0 },
   { "fname alias", I18N_NOOP("Alternative visible name replacement. Supply this once for every input."), 0 },
-  { "u",  I18N_NOOP("Has no effect. For compatibility with certain tools."), 0 },
-#ifdef _WIN32
-  { "query",       I18N_NOOP("For compatibility with certain tools."), 0 },
-#endif
+  { "cs string",   I18N_NOOP("Override a config setting. Use once for every setting. E.g.: --cs \"AutoAdvance=1\""), 0 },
+  { "confighelp",  I18N_NOOP("Show list of config settings and current values."), 0 },
+  { "config file", I18N_NOOP("Use a different config file."), 0 }
+};
+static KCmdLineOptions options2[] =
+{
   { "+[File1]", I18N_NOOP("file1 to open (base, if not specified via --base)"), 0 },
   { "+[File2]", I18N_NOOP("file2 to open"), 0 },
-  { "+[File3]", I18N_NOOP("file3 to open"), 0 },
-  { 0, 0, 0 }
+  { "+[File3]", I18N_NOOP("file3 to open"), 0 }
 };
 
 
+void initialiseCmdLineArgs(std::vector<KCmdLineOptions>& vOptions, QStringList& ignorableOptions)
+{
+   vOptions.insert( vOptions.end(), options, (KCmdLineOptions*)((char*)options+sizeof(options)));
+   QString configFileName = KStandardDirs().findResource("config","kdiff3rc");
+   QFile configFile( configFileName );
+   if ( configFile.open( IO_ReadOnly ) )
+   {
+      QTextStream ts( &configFile );
+      while(!ts.atEnd())
+      {
+         QString line = ts.readLine();
+         if ( line.startsWith("IgnorableCmdLineOptions=") )
+         {
+            int pos = line.find('=');
+            if (pos>=0)
+            {
+               QString s = line.mid(pos+1);
+               QStringList sl = QStringList::split( '|', s );
+               if (!sl.isEmpty())
+               {
+                  ignorableOptions = QStringList::split( ';', sl.front() );
+                  for (QStringList::iterator i=ignorableOptions.begin(); i!=ignorableOptions.end(); ++i)
+                  {
+                     KCmdLineOptions ignoreOption;
+                     (*i).remove('-');
+                     if (!(*i).isEmpty())
+                     {
+                        ignoreOption.name = (*i).latin1();
+                        ignoreOption.description = I18N_NOOP("Ignored. (User defined.)");
+                        ignoreOption.def = 0;
+                        vOptions.push_back(ignoreOption);
+                     }
+                  }
+               }
+            }
+            break;
+         }
+      }
+   }
+   vOptions.insert(vOptions.end(),options2,(KCmdLineOptions*)((char*)options2+sizeof(options2)));
+
+   KCmdLineOptions last = KCmdLineLastOption;
+   vOptions.push_back(last);
+   KCmdLineArgs::addCmdLineOptions( &vOptions[0] ); // Add our own options.
+}
+
+
 #ifdef _WIN32
 #include <process.h>
 // This command checks the comm
@@ -78,22 +131,32 @@
    /* KDiff3 can be used as replacement for the text-diff and merge tool provided by
       Clearcase. This is experimental and so far has only been tested under Windows.
 
-      The installation is very simple:
-      1. In the Clearcase "bin"-directory rename "cleardiffmrg.exe" to "cleardiffmrg_orig.exe".
-      2. Copy kdiff3.exe into that "bin"-directory and rename it to "cleardiffmrg.exe".
-         (Also copy the other files that are needed by KDiff3 there.)
-
-      Now when a file comparison or merge is done by Clearcase then of course KDiff3 will be
-      run instead.
-      If the commandline contains the option "-directory" then KDiff3 can't do it but will
-      run "cleardiffmrg_orig.exe" instead.
+      There are two ways to use KDiff3 with clearcase
+      -  The file lib/mgrs/map contains the list of compare/merge tasks on one side and 
+         the tool on the other. Originally this contains only clearcase tools, but you can
+         edit this file and put kdiff3 there instead. (Recommended method)
+      -  Exchange the original program with KDiff3: (Hackish, no fine control)
+         1. In the Clearcase "bin"-directory rename "cleardiffmrg.exe" to "cleardiffmrg_orig.exe".
+         2. Copy kdiff3.exe into that "bin"-directory and rename it to "cleardiffmrg.exe".
+            (Also copy the other files that are needed by KDiff3 there.)
+         Now when a file comparison or merge is done by Clearcase then of course KDiff3 will be
+         run instead.
+         If the commandline contains the option "-directory" then KDiff3 can't do it but will
+         run "cleardiffmrg_orig.exe" instead.
    */
 
-   /* // Write all args into a temporary file. Uncomment this for debugging purposes.
+   // Write all args into a temporary file. Uncomment this for debugging purposes.
+   /*
    FILE* f = fopen("c:\\t.txt","w");
    for(int i=0; i< argc; ++i)
       fprintf(f,"Arg %d: %s\n", i, argv[i]);
+
+   // Call orig cleardiffmrg.exe to see what result it returns.
+   int result=0;
+   result = ::_spawnvp(_P_WAIT , "C:\\Programme\\Rational\\ClearCase\\bin\\cleardiffmrg.exe", argv );
+   fprintf(f,"Result: %d\n", result );
    fclose(f);
+   return result;
    */
 
    // KDiff3 can replace cleardiffmrg from clearcase. But not all functions.
@@ -101,33 +164,35 @@
    {
       return ::_spawnvp(_P_WAIT , "cleardiffmrg_orig", argv );      
    }
-   
+
 #endif
-   QApplication::setColorSpec( QApplication::ManyColor ); // Grab all 216 colors
+   //QApplication::setColorSpec( QApplication::ManyColor ); // Grab all 216 colors
 
    KAboutData aboutData( "kdiff3", I18N_NOOP("KDiff3"),
       VERSION, description, KAboutData::License_GPL,
-      "(c) 2002-2005 Joachim Eibl", 0, "http://kdiff3.sourceforge.net/", "joachim.eibl@gmx.de");
-   aboutData.addAuthor("Joachim Eibl",0, "joachim.eibl@gmx.de");
+      "(c) 2002-2005 Joachim Eibl", 0, "http://kdiff3.sourceforge.net/", "joachim.eibl" "@" "gmx.de");
+   aboutData.addAuthor("Joachim Eibl",0, "joachim.eibl" "@" "gmx.de");
    aboutData.addCredit("Eike Sauer", "Bugfixes, Debian package maintainer" );
    aboutData.addCredit("Sebastien Fricker", "Windows installer" );
-   aboutData.addCredit("Stephan Binner", "i18n-help", "binner@kde.org" );
+   aboutData.addCredit("Stephan Binner", "i18n-help", "binner" "@" "kde.org" );
    aboutData.addCredit("Stefan Partheymueller", "Clipboard-patch" );
-   aboutData.addCredit("David Faure", "KIO-Help", "faure@kde.org" );
+   aboutData.addCredit("David Faure", "KIO-Help", "faure" "@" "kde.org" );
    aboutData.addCredit("Bernd Gehrmann", "Class CvsIgnoreList from Cervisia" );
    aboutData.addCredit("Andre Woebbeking", "Class StringMatcher" );
    aboutData.addCredit("Michael Denio", "Directory Equality-Coloring patch");
    aboutData.addCredit("Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, Len Tower", "GNU-Diffutils");
    aboutData.addCredit(I18N_NOOP("+ Many thanks to those who reported bugs and contributed ideas!"));
-   
-   
+
    KCmdLineArgs::init( argc, argv, &aboutData );
-   KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
+   std::vector<KCmdLineOptions> vOptions;
+   QStringList ignorableOptions;
+   initialiseCmdLineArgs(vOptions, ignorableOptions);
 
    KApplication app;
+
 #ifdef KREPLACEMENTS_H
    QString locale;
-   
+
    locale = app.config()->readEntry("Language", "Auto");
    int spacePos = locale.find(' ');
    if (spacePos>0) locale = locale.left(spacePos);
@@ -156,7 +221,8 @@
      new KDiff3Shell();
   }
 
-  return app.exec();
+  int retVal = app.exec();
+  return retVal;
 }
 
 // Suppress warning with --enable-final
--- a/kdiff3/src/merger.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/merger.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Sun Mar 24 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
--- a/kdiff3/src/merger.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/merger.h	Mon Apr 10 08:40:51 2006 +0000
@@ -3,7 +3,7 @@
                              -------------------
     begin                : Sun Mar 24 2002
     copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
--- a/kdiff3/src/mergeresultwindow.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/mergeresultwindow.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
                           mergeresultwindow.cpp  -  description
                              -------------------
     begin                : Sun Apr 14 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -15,8 +15,9 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "diff.h"
-#include <stdio.h>
+#include "mergeresultwindow.h"
+#include "optiondialog.h"
+
 #include <qpainter.h>
 #include <qapplication.h>
 #include <qclipboard.h>
@@ -24,11 +25,12 @@
 #include <qfile.h>
 #include <qcursor.h>
 #include <qpopupmenu.h>
-#include <optiondialog.h>
+#include <qstatusbar.h>
+#include <qregexp.h>
+
 #include <klocale.h>
 #include <kmessagebox.h>
 #include <iostream>
-#include <qstatusbar.h>
 
 int g_bAutoSolve = true;
 
@@ -54,11 +56,15 @@
    m_scrollDeltaX = 0;
    m_scrollDeltaY = 0;
    m_bModified = false;
+   m_eOverviewMode=Overview::eOMNormal;
 
    m_fileName = "";
    m_pldA = 0;
    m_pldB = 0;
    m_pldC = 0;
+   m_sizeA = 0;
+   m_sizeB = 0;
+   m_sizeC = 0;
 
    m_pDiff3LineList = 0;
    m_pTotalDiffStatus = 0;
@@ -66,11 +72,13 @@
 
    m_pOptionDialog = pOptionDialog;
    m_bPaintingAllowed = false;
+   m_delayedDrawTimer = 0;
 
    m_cursorXPos=0;
    m_cursorOldXPos=0;
    m_cursorYPos=0;
    m_bCursorOn = true;
+   m_bCursorUpdate = false;
    connect( &m_cursorTimer, SIGNAL(timeout()), this, SLOT( slotCursorUpdate() ) );
    m_cursorTimer.start( 500 /*ms*/, true /*single shot*/ );
    m_selection.reset();
@@ -80,9 +88,9 @@
 }
 
 void MergeResultWindow::init(
-   const LineData* pLineDataA,
-   const LineData* pLineDataB,
-   const LineData* pLineDataC,
+   const LineData* pLineDataA, int sizeA,
+   const LineData* pLineDataB, int sizeB,
+   const LineData* pLineDataC, int sizeC,
    const Diff3LineList* pDiff3LineList,
    TotalDiffStatus* pTotalDiffStatus,
    QString fileName
@@ -102,6 +110,9 @@
    m_pldA = pLineDataA;
    m_pldB = pLineDataB;
    m_pldC = pLineDataC;
+   m_sizeA = sizeA;
+   m_sizeB = sizeB;
+   m_sizeC = sizeC;
 
    m_pDiff3LineList = pDiff3LineList;
    m_pTotalDiffStatus = pTotalDiffStatus;
@@ -117,10 +128,20 @@
    updateSourceMask();
 
    int wsc;
+   int nofUnsolved = getNrOfUnsolvedConflicts(&wsc);
    m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)")
-         .arg(getNrOfUnsolvedConflicts(&wsc)).arg(wsc) );
+         .arg(nofUnsolved).arg(wsc) );
 }
 
+void MergeResultWindow::reset()
+{
+   m_pDiff3LineList = 0;
+   m_pTotalDiffStatus = 0;
+   m_pldA = 0;
+   m_pldB = 0;
+   m_pldC = 0;
+   m_fileName = "";
+}
 
 // Calculate the merge information for the given Diff3Line.
 // Results will be stored in mergeDetails, bConflict, bLineRemoved and src.
@@ -321,14 +342,14 @@
          if ( ! ml.bConflict )
          {
             MergeLine& tmpBack = m_mergeLineList.back();
-            MergeEditLine mel;
-            mel.setSource( ml.srcSelect, ml.id3l, bLineRemoved );
+            MergeEditLine mel(ml.id3l);
+            mel.setSource( ml.srcSelect, bLineRemoved );
             tmpBack.mergeEditLineList.push_back(mel);
          }
          else if ( back==0  || ! back->bConflict || !bSame )
          {
             MergeLine& tmpBack = m_mergeLineList.back();
-            MergeEditLine mel;
+            MergeEditLine mel(ml.id3l);
             mel.setConflict();
             tmpBack.mergeEditLineList.push_back(mel);
          }
@@ -348,7 +369,7 @@
             ml.mergeEditLineList.clear();
             if ( defaultSelector==-1 && ml.bDelta )
             {
-               MergeEditLine mel;
+               MergeEditLine mel(ml.id3l);;
                mel.setConflict();
                ml.bConflict = true;
                ml.mergeEditLineList.push_back(mel);
@@ -360,8 +381,8 @@
 
                for( j=0; j<ml.srcRangeLength; ++j )
                {
-                  MergeEditLine mel;
-                  mel.setSource( defaultSelector, d3llit, false );
+                  MergeEditLine mel(d3llit);
+                  mel.setSource( defaultSelector, false );
 
                   int srcLine = defaultSelector==1 ? d3llit->lineA :
                                 defaultSelector==2 ? d3llit->lineB :
@@ -377,8 +398,7 @@
 
                if ( ml.mergeEditLineList.empty() ) // Make a line nevertheless
                {
-                  MergeEditLine mel;
-                  mel.setSource( defaultSelector, ml.id3l, false );
+                  MergeEditLine mel(ml.id3l);
                   mel.setRemoved( defaultSelector );
                   ml.mergeEditLineList.push_back(mel);
                }
@@ -401,10 +421,13 @@
          MergeEditLine& mel = *melIt;
          int melsrc = mel.src();
 
-         int srcLine = melsrc==1 ? mel.id3l()->lineA :
+         int srcLine = mel.isRemoved() ? -1 :
+                       melsrc==1 ? mel.id3l()->lineA :
                        melsrc==2 ? mel.id3l()->lineB :
                        melsrc==3 ? mel.id3l()->lineC : -1;
 
+         // At least one line remains because oldSrc != melsrc for first line in list
+         // Other empty lines will be removed
          if ( srcLine == -1 && oldSrcLine==-1 && oldSrc == melsrc )
             melIt = ml.mergeEditLineList.erase( melIt );
          else
@@ -415,6 +438,16 @@
       }
    }
 
+   if ( bAutoSolve && !bConflictsOnly )
+   {
+      if ( m_pOptionDialog->m_bRunHistoryAutoMergeOnMergeStart )
+         slotMergeHistory();
+      if ( m_pOptionDialog->m_bRunRegExpAutoMergeOnMergeStart )
+         slotRegExpAutoMerge();
+      if ( m_pldC != 0 && ! doRelevantChangesExist() )
+         emit noRelevantChangesDetected();
+   }
+
    int nrOfSolvedConflicts = 0;
    int nrOfUnsolvedConflicts = 0;
    int nrOfWhiteSpaceConflicts = 0;
@@ -491,6 +524,29 @@
    emit resizeSignal();
 }
 
+Overview::e_OverviewMode MergeResultWindow::getOverviewMode()
+{
+   return m_eOverviewMode;
+}
+
+void MergeResultWindow::setOverviewMode( Overview::e_OverviewMode eOverviewMode )
+{
+   m_eOverviewMode = eOverviewMode;
+}
+
+// Check whether we should ignore current delta when moving to next/previous delta
+bool MergeResultWindow::checkOverviewIgnore(MergeLineList::iterator &i)
+{
+   if (m_eOverviewMode == Overview::eOMNormal) return false;
+   if (m_eOverviewMode == Overview::eOMAvsB)
+      return i->mergeDetails == eCAdded || i->mergeDetails == eCDeleted || i->mergeDetails == eCChanged;
+   if (m_eOverviewMode == Overview::eOMAvsC)
+      return i->mergeDetails == eBAdded || i->mergeDetails == eBDeleted || i->mergeDetails == eBChanged;
+   if (m_eOverviewMode == Overview::eOMBvsC)
+      return i->mergeDetails == eBCAddedAndEqual || i->mergeDetails == eBCDeleted || i->mergeDetails == eBCChangedAndEqual;
+   return false;
+}
+
 // Go to prev/next delta/conflict or first/last delta.
 void MergeResultWindow::go( e_Direction eDir, e_EndPoint eEndPoint )
 {
@@ -515,7 +571,7 @@
          if ( eDir==eUp )  --i;
          else              ++i;
       }
-      while ( i!=m_mergeLineList.end() && ( i->bDelta == false || bSkipWhiteConflicts && i->bWhiteSpaceConflict ) );
+      while ( i!=m_mergeLineList.end() && ( i->bDelta == false || checkOverviewIgnore(i) || bSkipWhiteConflicts && i->bWhiteSpaceConflict ) );
    }
    else if ( eEndPoint == eConflict  &&  i!=m_mergeLineList.end() )
    {
@@ -604,7 +660,7 @@
          if ( i->bConflict ) return true;
       }
    }
-   return false;   
+   return false;
 }
 
 bool MergeResultWindow::isUnsolvedConflictAboveCurrent()
@@ -726,16 +782,12 @@
 
 void MergeResultWindow::showNrOfConflicts()
 {
-   int nrOfSolvedConflicts = 0;
-   int nrOfUnsolvedConflicts = 0;
-
+   int nrOfConflicts = 0;
    MergeLineList::iterator i;
    for ( i = m_mergeLineList.begin();  i!=m_mergeLineList.end(); ++i )
    {
-      if ( i->bConflict )
-         ++nrOfUnsolvedConflicts;
-      else if ( i->bDelta )
-         ++nrOfSolvedConflicts;
+      if ( i->bConflict || i->bDelta )
+         ++nrOfConflicts;
    }
    QString totalInfo;
    if ( m_pTotalDiffStatus->bBinaryAEqB && m_pTotalDiffStatus->bBinaryAEqC )
@@ -750,9 +802,12 @@
       if    ( m_pTotalDiffStatus->bBinaryBEqC ) totalInfo += i18n("Files B and C are binary equal.\n");
       else if ( m_pTotalDiffStatus->bTextBEqC ) totalInfo += i18n("Files B and C have equal text. \n");
    }
+
+   int nrOfUnsolvedConflicts = getNrOfUnsolvedConflicts();
+
    KMessageBox::information( this,
-      i18n("Total number of conflicts: ") + QString::number(nrOfSolvedConflicts + nrOfUnsolvedConflicts) +
-      i18n("\nNr of automatically solved conflicts: ") + QString::number(nrOfSolvedConflicts) +
+      i18n("Total number of conflicts: ") + QString::number(nrOfConflicts) +
+      i18n("\nNr of automatically solved conflicts: ") + QString::number(nrOfConflicts-nrOfUnsolvedConflicts) +
       i18n("\nNr of unsolved conflicts: ") + QString::number(nrOfUnsolvedConflicts) +
       "\n"+totalInfo,
       i18n("Conflicts")
@@ -830,8 +885,8 @@
 
       for( j=0; j<ml.srcRangeLength; ++j )
       {
-         MergeEditLine mel;
-         mel.setSource( selector, d3llit, false );
+         MergeEditLine mel(d3llit);
+         mel.setSource( selector, false );
          ml.mergeEditLineList.push_back(mel);
 
          ++d3llit;
@@ -859,7 +914,7 @@
    if ( ml.mergeEditLineList.empty() )
    {
       // Insert a dummy line:
-      MergeEditLine mel;
+      MergeEditLine mel(ml.id3l);
 
       if ( bActive )  mel.setConflict();         // All src entries deleted => conflict
       else            mel.setRemoved(selector);  // No lines in corresponding src found.
@@ -877,8 +932,9 @@
    updateSourceMask();
    emit updateAvailabilities();
    int wsc;
+   int nofUnsolved = getNrOfUnsolvedConflicts(&wsc);
    m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)")
-         .arg(getNrOfUnsolvedConflicts(&wsc)).arg(wsc) );
+         .arg(nofUnsolved).arg(wsc) );
 }
 
 // bConflictsOnly: automatically choose for conflicts only (true) or for everywhere (false)
@@ -890,8 +946,9 @@
    emit modified();
    update();
    int wsc;
+   int nofUnsolved = getNrOfUnsolvedConflicts(&wsc);
    m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)")
-         .arg(getNrOfUnsolvedConflicts(&wsc)).arg(wsc) );
+         .arg(nofUnsolved).arg(wsc) );
 }
 
 void MergeResultWindow::slotAutoSolve()
@@ -901,8 +958,9 @@
    emit modified();
    update();
    int wsc;
+   int nofUnsolved = getNrOfUnsolvedConflicts(&wsc);
    m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)")
-         .arg(getNrOfUnsolvedConflicts(&wsc)).arg(wsc) );
+         .arg(nofUnsolved).arg(wsc) );
 }
 
 void MergeResultWindow::slotUnsolve()
@@ -912,24 +970,508 @@
    emit modified();
    update();
    int wsc;
+   int nofUnsolved = getNrOfUnsolvedConflicts(&wsc);
    m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1 (of which %2 are whitespace)")
-         .arg(getNrOfUnsolvedConflicts(&wsc)).arg(wsc) );
+         .arg(nofUnsolved).arg(wsc) );
+}
+
+
+static void findHistoryRange( bool bThreeFiles, const Diff3LineList* pD3LList, 
+                             Diff3LineList::const_iterator& iBegin, Diff3LineList::const_iterator& iEnd, int& idxBegin, int& idxEnd )
+{
+   QRegExp historyStart(".*\\$Log.*\\$.*");
+   QString historyLead;
+   // Search for start of history
+   for( iBegin = pD3LList->begin(), idxBegin=0; iBegin!=pD3LList->end(); ++iBegin, ++idxBegin )
+   {
+      if ( historyStart.exactMatch( iBegin->getString(A) ) && 
+           historyStart.exactMatch( iBegin->getString(B) ) && 
+           ( !bThreeFiles || historyStart.exactMatch( iBegin->getString(C) ) ) )
+      {
+         historyLead = iBegin->getString(A).section(' ', 0, 0, QString::SectionIncludeLeadingSep);
+         break;
+      }
+   }
+   // Search for end of history
+   for( iEnd = iBegin, idxEnd = idxBegin; iEnd!=pD3LList->end(); ++iEnd, ++idxEnd )
+   {
+      QString sA = iEnd->getString(A);
+      QString sB = iEnd->getString(B);
+      QString sC = iEnd->getString(C);
+      if ( ! ((sA.isNull() || historyLead == sA.section(' ',0,0,QString::SectionIncludeLeadingSep)) &&
+           (sB.isNull() || historyLead == sB.section(' ',0,0,QString::SectionIncludeLeadingSep)) &&
+           (!bThreeFiles || sC.isNull() || historyLead == sC.section(' ',0,0,QString::SectionIncludeLeadingSep))
+         ))
+      {
+         break; // End of the history
+      }
+   }
+}
+
+bool findParenthesesGroups( const QString& s, QStringList& sl )
+{
+   sl.clear();
+   int i=0;
+   std::list<int> startPosStack;
+   int length = s.length();
+   for( i=0; i<length; ++i )
+   {
+      if ( s[i]=='\\' && i+1<length && ( s[i+1]=='\\' || s[i+1]=='(' || s[i+1]==')' ) )
+      {
+         ++i;
+         continue;
+      }
+      if ( s[i]=='(' )
+      {
+         startPosStack.push_back(i);
+      }
+      else if ( s[i]==')' )
+      {
+         if (startPosStack.empty())
+            return false; // Parentheses don't match
+         int startPos = startPosStack.back();
+         startPosStack.pop_back();
+         sl.push_back( s.mid( startPos+1, i-startPos-1 ) );
+      }
+   }
+   return startPosStack.empty(); // false if parentheses don't match
+}
+
+QString calcHistorySortKey( const QString& keyOrder, QRegExp& matchedRegExpr, const QStringList& parenthesesGroupList )
+{
+   QStringList keyOrderList = QStringList::split(',', keyOrder );
+   QString key;
+   for ( QStringList::iterator keyIt = keyOrderList.begin(); keyIt!=keyOrderList.end(); ++keyIt )
+   {
+      if ( (*keyIt).isEmpty() )
+         continue;
+      bool bOk=false;
+      int groupIdx = (*keyIt).toInt(&bOk);
+      if (!bOk || groupIdx<0 || groupIdx >(int)parenthesesGroupList.size() )
+         continue;
+      QString s = matchedRegExpr.cap( groupIdx );
+      if ( groupIdx == 0 )
+      {
+         key += s + " ";
+         continue;
+      }
+
+      QString groupRegExp = parenthesesGroupList[groupIdx-1];
+      if( groupRegExp.find('|')<0 || groupRegExp.find('(')>=0 )
+      {
+         bool bOk = false;
+         int i = s.toInt( &bOk );
+         if ( bOk && i>=0 && i<10000 )
+            s.sprintf("%04d", i);  // This should help for correct sorting of numbers.
+         key += s + " ";
+      }
+      else
+      {
+         // Assume that the groupRegExp consists of something like "Jan|Feb|Mar|Apr"
+         // s is the string that managed to match.
+         // Now we want to know at which position it occurred. e.g. Jan=0, Feb=1, Mar=2, etc.
+         QStringList sl = QStringList::split( '|', groupRegExp );
+         int idx = sl.findIndex( s );
+         if (idx<0)
+         {
+            // Didn't match
+         }
+         else
+         {
+            QString sIdx;
+            sIdx.sprintf("%02d", idx+1 ); // Up to 99 words in the groupRegExp (more than 12 aren't expected)
+            key += sIdx + " ";
+         }
+      }
+   }
+   return key;
+}
+
+void MergeResultWindow::collectHistoryInformation(
+   int src, Diff3LineList::const_iterator iHistoryBegin, Diff3LineList::const_iterator iHistoryEnd,
+   HistoryMap& historyMap,
+   std::list< HistoryMap::iterator >& hitList  // list of iterators
+   )
+{
+   std::list< HistoryMap::iterator >::iterator itHitListFront = hitList.begin();
+   Diff3LineList::const_iterator id3l = iHistoryBegin;
+   QString historyLead;
+   {
+      const LineData* pld = id3l->getLineData(src);
+      QString s( pld->pLine, pld->size );
+      historyLead = s.section(' ',0,0,QString::SectionIncludeLeadingSep);
+   }
+   QRegExp historyStart = m_pOptionDialog->m_historyStartRegExp;
+   ++id3l; // Skip line with "$Log ... $"
+   QRegExp newHistoryEntry = m_pOptionDialog->m_historyEntryStartRegExp;
+   QStringList parenthesesGroups;
+   findParenthesesGroups( m_pOptionDialog->m_historyEntryStartRegExp, parenthesesGroups );
+   QString key;
+   MergeEditLineList melList;
+   bool bPrevLineIsEmpty = true;
+   bool bUseRegExp = !m_pOptionDialog->m_historyEntryStartRegExp.isEmpty();
+   for(; id3l != iHistoryEnd; ++id3l )
+   {
+      const LineData* pld = id3l->getLineData(src);
+      if ( !pld ) continue;
+      QString s( pld->pLine, pld->size );
+      if (historyLead.isNull()) historyLead = s.section(' ',0,0,QString::SectionIncludeLeadingSep);
+      QString sLine = s.mid(historyLead.length());
+      if ( ( !bUseRegExp && !sLine.stripWhiteSpace().isEmpty() && bPrevLineIsEmpty )
+           || bUseRegExp && newHistoryEntry.exactMatch( sLine ) 
+         )
+      {
+         if ( !key.isEmpty() && !melList.empty() )
+         {
+            // Only insert new HistoryMapEntry if key not found; in either case p.first is a valid iterator to element key.
+            std::pair<HistoryMap::iterator, bool> p = historyMap.insert(HistoryMap::value_type(key,HistoryMapEntry()));
+            HistoryMapEntry& hme = p.first->second;
+            if ( src==A ) hme.mellA = melList;
+            if ( src==B ) hme.mellB = melList;
+            if ( src==C ) hme.mellC = melList;
+            if ( p.second ) // Not in list yet?
+            {
+               hitList.insert( itHitListFront, p.first );
+            }
+         }
+
+         if ( ! bUseRegExp )
+            key = sLine;
+         else
+            key = calcHistorySortKey(m_pOptionDialog->m_historyEntryStartSortKeyOrder,newHistoryEntry,parenthesesGroups);
+
+         melList.clear();
+         melList.push_back( MergeEditLine(id3l,src) );
+      }
+      else if ( ! historyStart.exactMatch( s ) )
+      {
+         melList.push_back( MergeEditLine(id3l,src) );
+      }
+
+      bPrevLineIsEmpty = sLine.stripWhiteSpace().isEmpty();
+   }
+   if ( !key.isEmpty() )
+   {
+      // Only insert new HistoryMapEntry if key not found; in either case p.first is a valid iterator to element key.
+      std::pair<HistoryMap::iterator, bool> p = historyMap.insert(HistoryMap::value_type(key,HistoryMapEntry()));
+      HistoryMapEntry& hme = p.first->second;
+      if ( src==A ) hme.mellA = melList;
+      if ( src==B ) hme.mellB = melList;
+      if ( src==C ) hme.mellC = melList;
+      if ( p.second ) // Not in list yet?
+      {
+         hitList.insert( itHitListFront, p.first );
+      }
+   }
+   // End of the history
+}
+
+MergeResultWindow::MergeEditLineList& MergeResultWindow::HistoryMapEntry::choice( bool bThreeInputs )
+{
+   if ( !bThreeInputs )
+      return mellA.empty() ? mellB : mellA;
+   else
+   {
+      if ( mellA.empty() )
+         return mellC.empty() ? mellB : mellC;       // A doesn't exist, return one that exists
+      else if ( ! mellB.empty() && ! mellC.empty() )
+      {                                              // A, B and C exist
+         return mellA;
+      }
+      else
+         return mellB.empty() ? mellB : mellC;       // A exists, return the one that doesn't exist
+   }
+}
+
+bool MergeResultWindow::HistoryMapEntry::staysInPlace( bool bThreeInputs, Diff3LineList::const_iterator& iHistoryEnd )
+{
+   // The entry should stay in place if the decision made by the automerger is correct.
+   Diff3LineList::const_iterator& iHistoryLast = iHistoryEnd;
+   --iHistoryLast;
+   if ( !bThreeInputs )
+   {
+      if ( !mellA.empty() && !mellB.empty() && mellA.begin()->id3l()==mellB.begin()->id3l() && 
+           mellA.back().id3l() == iHistoryLast && mellB.back().id3l() == iHistoryLast )
+      {
+         iHistoryEnd = mellA.begin()->id3l();
+         return true;
+      }
+      else
+      {
+         return false;
+      }
+   }
+   else
+   {
+      if ( !mellA.empty() && !mellB.empty() && !mellC.empty() 
+           && mellA.begin()->id3l()==mellB.begin()->id3l() && mellA.begin()->id3l()==mellC.begin()->id3l()
+           && mellA.back().id3l() == iHistoryLast && mellB.back().id3l() == iHistoryLast && mellC.back().id3l() == iHistoryLast )
+      {
+         iHistoryEnd = mellA.begin()->id3l();
+         return true;
+      }
+      else
+      {
+         return false;
+      }
+   }
+}
+
+void MergeResultWindow::slotMergeHistory()
+{
+   Diff3LineList::const_iterator iD3LHistoryBegin;
+   Diff3LineList::const_iterator iD3LHistoryEnd;
+   int d3lHistoryBeginLineIdx = -1;
+   int d3lHistoryEndLineIdx = -1;
+
+   // Search for history start, history end in the diff3LineList
+   findHistoryRange( m_pldC!=0, m_pDiff3LineList, iD3LHistoryBegin, iD3LHistoryEnd, d3lHistoryBeginLineIdx, d3lHistoryEndLineIdx );
+
+   if (  iD3LHistoryBegin != m_pDiff3LineList->end() )
+   {
+      // Now collect the historyMap information
+      HistoryMap historyMap;
+      std::list< HistoryMap::iterator > hitList;
+      if (m_pldC==0)
+      {
+         collectHistoryInformation( A, iD3LHistoryBegin, iD3LHistoryEnd, historyMap, hitList );
+         collectHistoryInformation( B, iD3LHistoryBegin, iD3LHistoryEnd, historyMap, hitList );
+      }
+      else
+      {
+         collectHistoryInformation( A, iD3LHistoryBegin, iD3LHistoryEnd, historyMap, hitList );
+         collectHistoryInformation( B, iD3LHistoryBegin, iD3LHistoryEnd, historyMap, hitList );
+         collectHistoryInformation( C, iD3LHistoryBegin, iD3LHistoryEnd, historyMap, hitList );
+      }
+
+      Diff3LineList::const_iterator iD3LHistoryOrigEnd = iD3LHistoryEnd;
+
+      bool bHistoryMergeSorting = m_pOptionDialog->m_bHistoryMergeSorting  && ! m_pOptionDialog->m_historyEntryStartSortKeyOrder.isEmpty() && 
+                                  ! m_pOptionDialog->m_historyEntryStartRegExp.isEmpty();
+
+      // Remove parts from the historyMap and hitList that stay in place
+      if ( bHistoryMergeSorting )
+      {
+         while ( ! historyMap.empty() )
+         {
+            HistoryMap::iterator hMapIt = historyMap.begin();
+            if( hMapIt->second.staysInPlace( m_pldC!=0, iD3LHistoryEnd ) )
+               historyMap.erase(hMapIt);
+            else
+               break;
+         }
+      }
+      else
+      {
+         while ( ! hitList.empty() )
+         {
+            HistoryMap::iterator hMapIt = hitList.back();
+            if( hMapIt->second.staysInPlace( m_pldC!=0, iD3LHistoryEnd ) )
+               hitList.pop_back();
+            else
+               break;
+         }
+      }
+      while (iD3LHistoryOrigEnd != iD3LHistoryEnd)
+      {
+         --iD3LHistoryOrigEnd;
+         --d3lHistoryEndLineIdx;
+      }
+
+      MergeLineList::iterator iMLLStart = splitAtDiff3LineIdx(d3lHistoryBeginLineIdx);
+      MergeLineList::iterator iMLLEnd   = splitAtDiff3LineIdx(d3lHistoryEndLineIdx);
+      // Now join all MergeLines in the history
+      MergeLineList::iterator i = iMLLStart;
+      if ( i != iMLLEnd )
+      {
+         ++i;
+         while ( i!=iMLLEnd )
+         {
+            iMLLStart->join(*i);
+            i = m_mergeLineList.erase( i );
+         }
+      }
+      iMLLStart->mergeEditLineList.clear();
+      // Now insert the complete history into the first MergeLine of the history
+      iMLLStart->mergeEditLineList.push_back( MergeEditLine( iD3LHistoryBegin, m_pldC == 0 ? B : C ) );
+      QString lead = iD3LHistoryBegin->getString(A).section(' ',0,0,QString::SectionIncludeLeadingSep);
+      MergeEditLine mel( m_pDiff3LineList->end() );
+      mel.setString( lead );
+      iMLLStart->mergeEditLineList.push_back(mel);
+
+      if ( bHistoryMergeSorting )
+      {
+         // Create a sorted history
+         HistoryMap::reverse_iterator hmit;
+         for ( hmit = historyMap.rbegin(); hmit != historyMap.rend(); ++hmit )
+         {
+            HistoryMapEntry& hme = hmit->second;
+            MergeEditLineList& mell = hme.choice(m_pldC!=0);
+            if (!mell.empty())
+               iMLLStart->mergeEditLineList.splice( iMLLStart->mergeEditLineList.end(), mell, mell.begin(), mell.end() );
+         }
+      }
+      else
+      {
+         // Create history in order of appearance
+         std::list< HistoryMap::iterator >::iterator hlit;
+         for ( hlit = hitList.begin(); hlit != hitList.end(); ++hlit )
+         {
+            HistoryMapEntry& hme = (*hlit)->second;
+            MergeEditLineList& mell = hme.choice(m_pldC!=0);
+            if (!mell.empty())
+               iMLLStart->mergeEditLineList.splice( iMLLStart->mergeEditLineList.end(), mell, mell.begin(), mell.end() );
+         }
+      }
+      setFastSelector( iMLLStart );
+      update();
+   }
+}
+
+void MergeResultWindow::slotRegExpAutoMerge()
+{
+   if ( m_pOptionDialog->m_autoMergeRegExp.isEmpty() )
+      return;
+
+   QRegExp vcsKeywords = m_pOptionDialog->m_autoMergeRegExp;
+   MergeLineList::iterator i;
+   for ( i=m_mergeLineList.begin(); i!=m_mergeLineList.end(); ++i )
+   {
+      if (i->bConflict )
+      {
+         Diff3LineList::const_iterator id3l = i->id3l;
+         if ( vcsKeywords.exactMatch( id3l->getString(A) ) && 
+              vcsKeywords.exactMatch( id3l->getString(B) ) &&
+              (m_pldC==0 || vcsKeywords.exactMatch( id3l->getString(C) )))
+         {
+            MergeEditLine& mel = *i->mergeEditLineList.begin();
+            mel.setSource( m_pldC==0 ? B : C, false );
+            splitAtDiff3LineIdx( i->d3lLineIdx+1 );
+         }
+      }
+   }
+   update();
+}
+
+// This doesn't detect user modifications and should only be called after automatic merge
+// This will only do something for three file merge.
+// Irrelevant changes are those where all contributions from B are already contained in C.
+// Also irrelevant are conflicts automatically solved (automerge regexp and history automerge)
+// Precondition: The VCS-keyword would also be C.
+bool MergeResultWindow::doRelevantChangesExist()
+{
+   if ( m_pldC==0 || m_mergeLineList.size() <= 1 )
+      return true;
+
+   MergeLineList::iterator i;
+   for ( i=m_mergeLineList.begin(); i!=m_mergeLineList.end(); ++i )
+   {
+      if ( ( i->bConflict && i->mergeEditLineList.begin()->src()!=C )
+         || i->srcSelect == B )
+      {
+         return true;
+      }
+   }
+
+   return false;
+}
+
+// Returns the iterator to the MergeLine after the split
+MergeResultWindow::MergeLineList::iterator MergeResultWindow::splitAtDiff3LineIdx( int d3lLineIdx )
+{
+   MergeLineList::iterator i;
+   for ( i = m_mergeLineList.begin();  i!=m_mergeLineList.end(); ++i )
+   {
+      if ( i->d3lLineIdx==d3lLineIdx )
+      {
+         // No split needed, this is the beginning of a MergeLine
+         return i;
+      }
+      else if ( i->d3lLineIdx > d3lLineIdx )
+      {
+         // The split must be in the previous MergeLine
+         --i;
+         MergeLine& ml = *i;
+         MergeLine newML;
+         ml.split(newML,d3lLineIdx);
+         ++i;
+         return m_mergeLineList.insert( i, newML );
+      }
+   }
+   // The split must be in the previous MergeLine
+   --i;
+   MergeLine& ml = *i;
+   MergeLine newML;
+   ml.split(newML,d3lLineIdx);
+   ++i;
+   return m_mergeLineList.insert( i, newML );
+}
+
+void MergeResultWindow::slotSplitDiff( int firstD3lLineIdx, int lastD3lLineIdx )
+{
+   if (lastD3lLineIdx>=0)
+      splitAtDiff3LineIdx( lastD3lLineIdx + 1 );
+   setFastSelector( splitAtDiff3LineIdx(firstD3lLineIdx) );
+}
+
+void MergeResultWindow::slotJoinDiffs( int firstD3lLineIdx, int lastD3lLineIdx )
+{
+   MergeLineList::iterator i;
+   MergeLineList::iterator iMLLStart = m_mergeLineList.end();
+   MergeLineList::iterator iMLLEnd   = m_mergeLineList.end();
+   for ( i=m_mergeLineList.begin(); i!=m_mergeLineList.end(); ++i )
+   {
+      MergeLine& ml = *i;
+      if ( firstD3lLineIdx >= ml.d3lLineIdx && firstD3lLineIdx < ml.d3lLineIdx + ml.srcRangeLength )
+      {
+         iMLLStart = i;
+      }
+      if ( lastD3lLineIdx >= ml.d3lLineIdx && lastD3lLineIdx < ml.d3lLineIdx + ml.srcRangeLength )
+      {
+         iMLLEnd = i;
+         ++iMLLEnd;
+         break;
+      }
+   }
+
+   bool bJoined = false;
+   for( i=iMLLStart;  i!=iMLLEnd && i!=m_mergeLineList.end(); )
+   {
+      if ( i==iMLLStart )
+      {
+         ++i;
+      }
+      else
+      {
+         iMLLStart->join(*i);
+         i = m_mergeLineList.erase( i );
+         bJoined = true;
+      }
+   }
+   if (bJoined)
+   {
+      iMLLStart->mergeEditLineList.clear();
+      // Insert a conflict line as placeholder
+      iMLLStart->mergeEditLineList.push_back( MergeEditLine( iMLLStart->id3l ) );
+   }
+   setFastSelector( iMLLStart );
 }
 
 void MergeResultWindow::myUpdate(int afterMilliSecs)
 {
-   killTimers();
+   killTimer(m_delayedDrawTimer);
    m_bMyUpdate = true;
-   startTimer( afterMilliSecs );
+   m_delayedDrawTimer = startTimer( afterMilliSecs );
 }
 
 void MergeResultWindow::timerEvent(QTimerEvent*)
 {
-   killTimers();
+   killTimer(m_delayedDrawTimer);
+   m_delayedDrawTimer = 0;
 
    if ( m_bMyUpdate )
    {
-      update();//paintEvent( 0 );
+      update();
       m_bMyUpdate = false;
    }
 
@@ -937,8 +1479,8 @@
    {
       m_selection.end( m_selection.lastLine + m_scrollDeltaY, m_selection.lastPos +  m_scrollDeltaX );
       emit scroll( m_scrollDeltaX, m_scrollDeltaY );
-      killTimers();
-      startTimer(50);
+      killTimer(m_delayedDrawTimer);
+      m_delayedDrawTimer = startTimer(50);
    }
 }
 
@@ -974,7 +1516,7 @@
 }
 
 /// Converts the cursor-posOnScreen into a text index, considering tabulators.
-int convertToPosInText( const QString& s, int posOnScreen )
+int convertToPosInText( const QString& s, int posOnScreen, int tabSize )
 {
    int localPosOnScreen = 0;
    int size=s.length();
@@ -984,7 +1526,7 @@
          return i;
 
       // All letters except tabulator have width one.
-      int letterWidth = s[i]!='\t' ? 1 : tabber( localPosOnScreen, g_tabSize );
+      int letterWidth = s[i]!='\t' ? 1 : tabber( localPosOnScreen, tabSize );
 
       localPosOnScreen += letterWidth;
 
@@ -996,13 +1538,13 @@
 
 
 /// Converts the index into the text to a cursor-posOnScreen considering tabulators.
-int convertToPosOnScreen( const QString& p, int posInText )
+int convertToPosOnScreen( const QString& p, int posInText, int tabSize )
 {
    int posOnScreen = 0;
    for ( int i=0; i<posInText; ++i )
    {
       // All letters except tabulator have width one.
-      int letterWidth = p[i]!='\t' ? 1 : tabber( posOnScreen, g_tabSize );
+      int letterWidth = p[i]!='\t' ? 1 : tabber( posOnScreen, tabSize );
 
       posOnScreen += letterWidth;
    }
@@ -1049,7 +1591,7 @@
          int spaces = 1;
          if ( str[i]=='\t' )
          {
-            spaces = tabber( outPos, g_tabSize );
+            spaces = tabber( outPos, m_pOptionDialog->m_tabSize );
             for( int j=0; j<spaces; ++j )
                s+=' ';
          }
@@ -1062,8 +1604,8 @@
 
       if ( m_selection.lineWithin( line ) )
       {
-         int firstPosInLine = convertToPosOnScreen( str, convertToPosInText( str, m_selection.firstPosInLine(line) ) );
-         int lastPosInLine  = convertToPosOnScreen( str, convertToPosInText( str, m_selection.lastPosInLine(line) ) );
+         int firstPosInLine = convertToPosOnScreen( str, convertToPosInText( str, m_selection.firstPosInLine(line), m_pOptionDialog->m_tabSize ),m_pOptionDialog->m_tabSize );
+         int lastPosInLine  = convertToPosOnScreen( str, convertToPosInText( str, m_selection.lastPosInLine(line), m_pOptionDialog->m_tabSize ), m_pOptionDialog->m_tabSize );
          int lengthInLine = max2(0,lastPosInLine - firstPosInLine);
          if (lengthInLine>0) m_selection.bSelectionContainsData = true;
 
@@ -1078,7 +1620,7 @@
          if( m_selection.lineWithin( line+1 ) )
             p.fillRect( xOffset + fontWidth*(firstPosInLine2-m_firstColumn), yOffset,
                width(), fontHeight, colorGroup().highlight() );
-         else
+         else if ( lengthInLine2>0 )
             p.fillRect( xOffset + fontWidth*(firstPosInLine2-m_firstColumn), yOffset,
                fontWidth*lengthInLine2, fontHeight, colorGroup().highlight() );
 
@@ -1096,7 +1638,7 @@
       if ( m_cursorYPos==line )
       {
          m_cursorXPos = minMaxLimiter( m_cursorXPos, 0, outPos );
-         m_cursorXPos = convertToPosOnScreen( str, convertToPosInText( str, m_cursorXPos ) );
+         m_cursorXPos = convertToPosOnScreen( str, convertToPosInText( str, m_cursorXPos, m_pOptionDialog->m_tabSize ),m_pOptionDialog->m_tabSize );
       }
 
       p.drawText( 1, yOffset+fontAscent, srcName, true );
@@ -1155,10 +1697,13 @@
 {
    m_bPaintingAllowed = bPaintingAllowed;
    if ( !m_bPaintingAllowed )
+   {
       m_currentMergeLineIt = m_mergeLineList.end();
+      reset();
+   }
 }
 
-void MergeResultWindow::paintEvent( QPaintEvent* e )
+void MergeResultWindow::paintEvent( QPaintEvent*  )
 {
    if (m_pDiff3LineList==0 || !m_bPaintingAllowed) return;
 
@@ -1168,7 +1713,7 @@
    int fontWidth = fm.width("W");
    int fontAscent = fm.ascent();
 
-   if ( e!= 0 )  // e==0 for blinking cursor
+   if ( !m_bCursorUpdate )  // Don't redraw everything for blinking cursor?
    {
       m_selection.bSelectionContainsData = false;
       if ( size() != m_pixmap.size() )
@@ -1189,7 +1734,7 @@
 
          if (hasFocus())
          {
-            p.fillRect( 0, 0, width(), topLineYOffset, lightGray /*m_pOptionDialog->m_diffBgColor*/ );
+            p.fillRect( 0, 0, width(), topLineYOffset, Qt::lightGray /*m_pOptionDialog->m_diffBgColor*/ );
          }
          else
          {
@@ -1230,7 +1775,7 @@
 
                   QString s;
                   s = mel.getString( this );
-                  if ( convertToPosOnScreen(s,s.length()) >nofColumns)
+                  if ( convertToPosOnScreen(s,s.length(),m_pOptionDialog->m_tabSize) >nofColumns)
                      nofColumns = s.length();
 
                   writeLine( p, line, s, mel.src(), ml.mergeDetails, rangeMark,
@@ -1254,17 +1799,13 @@
    }
 
    QPainter painter(this);
-   if ( e!= 0 )
-   {
-      painter.drawPixmap(0,0, m_pixmap);
-   }
 
    int topLineYOffset = fontHeight + 3;
    int xOffset = fontWidth * leftInfoWidth;
    int yOffset = ( m_cursorYPos - m_firstLine ) * fontHeight + topLineYOffset;
    int xCursor = ( m_cursorXPos - m_firstColumn ) * fontWidth + xOffset;
 
-   if ( e!= 0 )
+   if ( !m_bCursorUpdate )
       painter.drawPixmap(0,0, m_pixmap);
    else
    {
@@ -1274,7 +1815,9 @@
       else
          painter.drawPixmap(width()-1-4-(xCursor-2), yOffset, m_pixmap,
                             width()-1-4-(xCursor-2), yOffset, 5, fontAscent+2 );
+      m_bCursorUpdate = false;
    }
+   painter.end();
 
    if ( m_bCursorOn && hasFocus() && m_cursorYPos>=m_firstLine )
    {
@@ -1324,7 +1867,7 @@
       }
 
       if ( ml.mergeDetails == eNoChange ) 
-      { 
+      {
          srcMask = 0; 
          enabledMask = bModified ? 1 : 0; 
       }
@@ -1364,9 +1907,9 @@
    int pos;
    convertToLinePos( e->x(), e->y(), line, pos );
 
-   bool bLMB = e->button() == LeftButton;
-   bool bMMB = e->button() == MidButton;
-   bool bRMB = e->button() == RightButton;
+   bool bLMB = e->button() == Qt::LeftButton;
+   bool bMMB = e->button() == Qt::MidButton;
+   bool bRMB = e->button() == Qt::RightButton;
 
    if ( bLMB && pos < m_firstColumn || bRMB )       // Fast range selection
    {
@@ -1398,7 +1941,7 @@
    {
       pos = max2(pos,0);
       line = max2(line,0);
-      if ( e->state() & ShiftButton )
+      if ( e->state() & Qt::ShiftButton )
       {
          if (m_selection.firstLine==-1)
             m_selection.start( line, pos );
@@ -1434,7 +1977,7 @@
 
 void MergeResultWindow::mouseDoubleClickEvent( QMouseEvent* e )
 {
-   if ( e->button() == LeftButton )
+   if ( e->button() == Qt::LeftButton )
    {
       int line;
       int pos;
@@ -1454,11 +1997,11 @@
       {
          int pos1, pos2;
 
-         calcTokenPos( s, pos, pos1, pos2 );
+         calcTokenPos( s, pos, pos1, pos2, m_pOptionDialog->m_tabSize );
 
          resetSelection();
-         m_selection.start( line, convertToPosOnScreen( s, pos1 ) );
-         m_selection.end( line, convertToPosOnScreen( s, pos2 ) );
+         m_selection.start( line, convertToPosOnScreen( s, pos1, m_pOptionDialog->m_tabSize ) );
+         m_selection.end( line, convertToPosOnScreen( s, pos2, m_pOptionDialog->m_tabSize ) );
 
          update();
          // emit selectionEnd() happens in the mouseReleaseEvent.
@@ -1468,9 +2011,10 @@
 
 void MergeResultWindow::mouseReleaseEvent ( QMouseEvent * e )
 {
-   if ( e->button() == LeftButton )
+   if ( e->button() == Qt::LeftButton )
    {
-      killTimers();
+      killTimer(m_delayedDrawTimer);
+      m_delayedDrawTimer = 0;
 
       if (m_selection.firstLine != -1 )
       {
@@ -1529,7 +2073,23 @@
    m_bCursorOn = !m_bCursorOn;
 
    if ( isVisible() )
-      paintEvent(0);
+   {
+      m_bCursorUpdate = true;
+
+      const QFontMetrics& fm = fontMetrics();
+      int fontWidth = fm.width("W");
+      int topLineYOffset = fm.height() + 3;
+      int xOffset = fontWidth * leftInfoWidth;
+      int yOffset = ( m_cursorYPos - m_firstLine ) * fm.height() + topLineYOffset;
+      int xCursor = ( m_cursorXPos - m_firstColumn ) * fontWidth + xOffset;
+
+      if (!m_pOptionDialog->m_bRightToLeftLanguage)
+         repaint( xCursor-2, yOffset, 5, fm.ascent()+2 );
+      else
+         repaint( width()-1-4-(xCursor-2), yOffset, 5, fm.ascent()+2 );
+
+      m_bCursorUpdate=false;
+   }
 
    m_cursorTimer.start(500,true);
 }
@@ -1551,12 +2111,12 @@
    calcIteratorFromLineNr( y, mlIt, melIt );
 
    QString str = melIt->getString( this );
-   int x = convertToPosInText( str, m_cursorXPos );
-
-   bool bCtrl  = ( e->state() & ControlButton ) != 0 ;
-   bool bShift = ( e->state() & ShiftButton   ) != 0 ;
+   int x = convertToPosInText( str, m_cursorXPos, m_pOptionDialog->m_tabSize );
+
+   bool bCtrl  = ( e->state() & Qt::ControlButton ) != 0 ;
+   bool bShift = ( e->state() & Qt::ShiftButton   ) != 0 ;
    #ifdef _WIN32
-   bool bAlt   = ( e->state() & AltButton     ) != 0 ;
+   bool bAlt   = ( e->state() & Qt::AltButton     ) != 0 ;
    if ( bCtrl && bAlt ){ bCtrl=false; bAlt=false; }  // AltGr-Key pressed.
    #endif
 
@@ -1564,10 +2124,10 @@
    // Special keys
    switch ( e->key() )
    {
-      case  Key_Escape:       break;
+      case  Qt::Key_Escape:       break;
       //case  Key_Tab:          break;
-      case  Key_Backtab:      break;
-      case  Key_Delete:
+      case  Qt::Key_Backtab:      break;
+      case  Qt::Key_Delete:
       {
          if ( deleteSelection2( str, x, y, mlIt, melIt )) break;
          if( !melIt->isEditableText() )  break;
@@ -1601,7 +2161,7 @@
          }
          break;
       }
-      case  Key_Backspace:
+      case  Qt::Key_Backspace:
       {
          if ( deleteSelection2( str, x, y, mlIt, melIt )) break;
          if( !melIt->isEditableText() )  break;
@@ -1639,8 +2199,8 @@
          }
          break;
       }
-      case  Key_Return:
-      case  Key_Enter:
+      case  Qt::Key_Return:
+      case  Qt::Key_Enter:
       {
          if( !melIt->isEditableText() )  break;
          deleteSelection2( str, x, y, mlIt, melIt );
@@ -1669,7 +2229,7 @@
                }
             }
          }
-         MergeEditLine mel;
+         MergeEditLine mel(mlIt->id3l);  // Associate every mel with an id3l, even if not really valid.
          mel.setString( indentation + str.mid(x) );
 
          if ( x<(int)str.length() ) // Cut off the old line.
@@ -1685,16 +2245,16 @@
          ++y;
          break;
       }
-      case  Key_Insert:   m_bInsertMode = !m_bInsertMode;    break;
-      case  Key_Pause:        break;
-      case  Key_Print:        break;
-      case  Key_SysReq:       break;
-      case  Key_Home:     x=0;        if(bCtrl){y=0;      }  break;   // cursor movement
-      case  Key_End:      x=INT_MAX;  if(bCtrl){y=INT_MAX;}  break;
-
-      case  Key_Left:
-      case  Key_Right:
-         if ( (e->key()==Key_Left) ^ m_pOptionDialog->m_bRightToLeftLanguage ) // operator^: XOR
+      case  Qt::Key_Insert:   m_bInsertMode = !m_bInsertMode;    break;
+      case  Qt::Key_Pause:        break;
+      case  Qt::Key_Print:        break;
+      case  Qt::Key_SysReq:       break;
+      case  Qt::Key_Home:     x=0;        if(bCtrl){y=0;      }  break;   // cursor movement
+      case  Qt::Key_End:      x=INT_MAX;  if(bCtrl){y=INT_MAX;}  break;
+
+      case  Qt::Key_Left:
+      case  Qt::Key_Right:
+         if ( (e->key()==Qt::Key_Left) ^ m_pOptionDialog->m_bRightToLeftLanguage ) // operator^: XOR
          {
             if ( !bCtrl )
             {
@@ -1722,10 +2282,10 @@
          }
          break;
 
-      case  Key_Up:       --y;                     bYMoveKey=true;   break;
-      case  Key_Down:     ++y;                     bYMoveKey=true;    break;
-      case  Key_PageUp:   y-=getNofVisibleLines(); bYMoveKey=true;    break;
-      case  Key_PageDown: y+=getNofVisibleLines(); bYMoveKey=true;    break;
+      case  Qt::Key_Up:       --y;                     bYMoveKey=true;   break;
+      case  Qt::Key_Down:     ++y;                     bYMoveKey=true;    break;
+      case  Qt::Key_PageUp:   y-=getNofVisibleLines(); bYMoveKey=true;    break;
+      case  Qt::Key_PageDown: y+=getNofVisibleLines(); bYMoveKey=true;    break;
       default:
       {
          QString t = e->text();
@@ -1747,7 +2307,7 @@
                QString s=str;
                if ( t[0]=='\t' && m_pOptionDialog->m_bReplaceTabs )
                {
-                  int spaces = (m_cursorXPos / g_tabSize + 1)*g_tabSize - m_cursorXPos;
+                  int spaces = (m_cursorXPos / m_pOptionDialog->m_tabSize + 1)*m_pOptionDialog->m_tabSize - m_cursorXPos;
                   t.fill( ' ', spaces );
                }
                if ( m_bInsertMode )
@@ -1779,9 +2339,9 @@
       newFirstLine = y - getNofVisibleLines();
 
    if (bYMoveKey)
-      x=convertToPosInText( str, m_cursorOldXPos );
-
-   int xOnScreen = convertToPosOnScreen( str, x );
+      x=convertToPosInText( str, m_cursorOldXPos, m_pOptionDialog->m_tabSize );
+
+   int xOnScreen = convertToPosOnScreen( str, x, m_pOptionDialog->m_tabSize );
    if ( xOnScreen<m_firstColumn )
       newFirstColumn = xOnScreen;
    else if ( xOnScreen > m_firstColumn + getNofVisibleColumns() )
@@ -1869,7 +2429,7 @@
                   int spaces = 1;
                   if ( str[i]=='\t' )
                   {
-                     spaces = tabber( outPos, g_tabSize );
+                     spaces = tabber( outPos, m_pOptionDialog->m_tabSize );
                   }
 
                   if( m_selection.within( line, outPos ) )
@@ -1910,7 +2470,7 @@
       y = m_cursorYPos;
       calcIteratorFromLineNr( y, mlIt, melIt );
       s = melIt->getString( this );
-      x = convertToPosInText( s, m_cursorXPos );
+      x = convertToPosInText( s, m_cursorXPos, m_pOptionDialog->m_tabSize );
       return true;
    }
    return false;
@@ -1979,14 +2539,14 @@
             {
                mlItFirst = mlIt;
                melItFirst = melIt;
-               int pos = convertToPosInText( lineString, firstPosInLine );
+               int pos = convertToPosInText( lineString, firstPosInLine, m_pOptionDialog->m_tabSize );
                firstLineString = lineString.left( pos );
             }
 
             if ( line==lastLine )
             {
                // This is the last line in the selection
-               int pos = convertToPosInText( lineString, lastPosInLine );
+               int pos = convertToPosInText( lineString, lastPosInLine, m_pOptionDialog->m_tabSize );
                firstLineString += lineString.mid( pos ); // rest of line
                melItFirst->setString( firstLineString );
             }
@@ -2027,7 +2587,7 @@
    melItAfter = melIt;
    ++melItAfter;
    QString str = melIt->getString( this );
-   int x = convertToPosInText( str, m_cursorXPos );
+   int x = convertToPosInText( str, m_cursorXPos, m_pOptionDialog->m_tabSize );
 
    if ( !QApplication::clipboard()->supportsSelection() )
       bFromSelection = false;
@@ -2045,8 +2605,8 @@
       if ( c == '\n' )
       {
          melIt->setString( currentLine );
-
-         melIt = mlIt->mergeEditLineList.insert( melItAfter, MergeEditLine() );
+         MergeEditLine mel(mlIt->id3l); // Associate every mel with an id3l, even if not really valid.
+         melIt = mlIt->mergeEditLineList.insert( melItAfter, mel );
          currentLine = "";
          x=0;
          ++y;
@@ -2062,7 +2622,7 @@
    melIt->setString( currentLine );
 
    m_cursorYPos = y;
-   m_cursorXPos = convertToPosOnScreen( currentLine, x );
+   m_cursorXPos = convertToPosOnScreen( currentLine, x, m_pOptionDialog->m_tabSize );
    m_cursorOldXPos = m_cursorXPos;
 
    update();
@@ -2193,9 +2753,15 @@
 
 void MergeResultWindow::setSelection( int firstLine, int startPos, int lastLine, int endPos )
 {
+   if ( lastLine >= getNofLines() )
+   {
+      lastLine = getNofLines()-1;
+      QString s = getString( lastLine );
+      endPos = s.length();
+   }
    m_selection.reset();
-   m_selection.start( firstLine, convertToPosOnScreen( getString(firstLine), startPos ) );
-   m_selection.end( lastLine, convertToPosOnScreen( getString(lastLine), endPos ) );
+   m_selection.start( firstLine, convertToPosOnScreen( getString(firstLine), startPos, m_pOptionDialog->m_tabSize ) );
+   m_selection.end( lastLine, convertToPosOnScreen( getString(lastLine), endPos, m_pOptionDialog->m_tabSize ) );
    update();
 }
 
@@ -2207,6 +2773,7 @@
    m_bTripleDiff = false;
    m_eOverviewMode = eOMNormal;
    m_nofLines = 1;
+   m_bPaintingAllowed = false;
    setFixedWidth(20);
 }
 
@@ -2218,6 +2785,11 @@
    update();
 }
 
+void Overview::reset()
+{
+   m_pDiff3LineList = 0;
+}
+
 void Overview::slotRedraw()
 {
    m_pixmap.resize( QSize(0,0) );   // make sure that a redraw happens
@@ -2239,7 +2811,7 @@
 void Overview::setOverviewMode( e_OverviewMode eOverviewMode )
 {
    m_eOverviewMode = eOverviewMode;
-   slotRedraw();   
+   slotRedraw();
 }
 
 Overview::e_OverviewMode Overview::getOverviewMode()
@@ -2266,12 +2838,13 @@
    {
       m_bPaintingAllowed = bAllowPainting;
       if ( m_bPaintingAllowed ) update();
+      else reset();
    }
 }
 
 void Overview::drawColumn( QPainter& p, e_OverviewMode eOverviewMode, int x, int w, int h, int nofLines )
 {
-   p.setPen(black);
+   p.setPen(Qt::black);
    p.drawLine( x, 0, x, h );
 
    if (nofLines==0) return;
@@ -2355,7 +2928,7 @@
          case eBChanged:  break;
          default:         c = m_pOptions->m_colorForConflict;
                           bWhiteSpaceChange = d3l.bAEqC || d3l.bWhiteLineA && d3l.bWhiteLineC;
-                          break;         
+                          break;
          }
       }
       else if ( eOverviewMode==eOMBvsC )
@@ -2378,12 +2951,12 @@
          // Make sure that lines with conflict are not overwritten.
          if (  c == m_pOptions->m_colorForConflict )
          {
-            p.fillRect(x+1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Dense4Pattern) : c );
+            p.fillRect(x+1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Qt::Dense4Pattern) : QBrush(c) );
             oldConflictY = oldY;
          }
          else if ( c!=m_pOptions->m_bgColor  &&  oldY>oldConflictY )
          {
-            p.fillRect(x+1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Dense4Pattern) : c );
+            p.fillRect(x+1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Qt::Dense4Pattern) : QBrush(c) );
          }
       }
 
@@ -2422,7 +2995,7 @@
          for( i = m_pDiff3LineList->begin(); i!= m_pDiff3LineList->end(); ++i )
          {
             m_nofLines += i->linesNeededForDisplay;
-         }      
+         }
       }
       else
       {
@@ -2442,7 +3015,7 @@
       {
          drawColumn( p, eOMNormal, 0, w/2, h, m_nofLines );
          drawColumn( p, m_eOverviewMode, w/2, w/2, h, m_nofLines );
-      }      
+      }
    }
 
    QPainter painter( this );
@@ -2450,8 +3023,9 @@
 
    int y1 = h * m_firstLine / m_nofLines-1;
    int h1 = h * m_pageHeight / m_nofLines+3;
-   painter.setPen(black);
+   painter.setPen(Qt::black);
    painter.drawRect( 1, y1, w-1, h1 );
 }
 
 
+#include "mergeresultwindow.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/mergeresultwindow.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,413 @@
+/***************************************************************************
+                          mergeresultwindow.h  -  description
+                             -------------------
+    begin                : Mon Mar 18 2002
+    copyright            : (C) 2002-2006 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef MERGERESULTWINDOW_H
+#define MERGERESULTWINDOW_H
+
+#include "diff.h"
+
+#include <qwidget.h>
+#include <qpixmap.h>
+#include <qtimer.h>
+
+class QPainter;
+
+class Overview : public QWidget
+{
+   Q_OBJECT
+public:
+   Overview( QWidget* pParent, OptionDialog* pOptions );
+
+   void init( Diff3LineList* pDiff3LineList, bool bTripleDiff );
+   void reset();
+   void setRange( int firstLine, int pageHeight );
+   void setPaintingAllowed( bool bAllowPainting );
+
+   enum e_OverviewMode { eOMNormal, eOMAvsB, eOMAvsC, eOMBvsC };
+   void setOverviewMode( e_OverviewMode eOverviewMode );
+   e_OverviewMode getOverviewMode();
+
+public slots:
+   void setFirstLine(int firstLine);
+   void slotRedraw();
+signals:
+   void setLine(int);
+private:
+   const Diff3LineList* m_pDiff3LineList;
+   OptionDialog* m_pOptions;
+   bool m_bTripleDiff;
+   int m_firstLine;
+   int m_pageHeight;
+   QPixmap m_pixmap;
+   bool m_bPaintingAllowed;
+   e_OverviewMode m_eOverviewMode;
+   int m_nofLines;
+
+   virtual void paintEvent( QPaintEvent* e );
+   virtual void mousePressEvent( QMouseEvent* e );
+   virtual void mouseMoveEvent( QMouseEvent* e );
+   void drawColumn( QPainter& p, e_OverviewMode eOverviewMode, int x, int w, int h, int nofLines );
+};
+
+
+enum e_MergeDetails
+{
+   eDefault,
+   eNoChange,
+   eBChanged,
+   eCChanged,
+   eBCChanged,         // conflict
+   eBCChangedAndEqual, // possible conflict
+   eBDeleted,
+   eCDeleted,
+   eBCDeleted,         // possible conflict
+
+   eBChanged_CDeleted, // conflict
+   eCChanged_BDeleted, // conflict
+   eBAdded,
+   eCAdded,
+   eBCAdded,           // conflict
+   eBCAddedAndEqual    // possible conflict
+};
+
+void mergeOneLine( const Diff3Line& d, e_MergeDetails& mergeDetails, bool& bConflict, bool& bLineRemoved, int& src, bool bTwoInputs );
+
+enum e_MergeSrcSelector
+{
+   A=1,
+   B=2,
+   C=3
+};
+
+class MergeResultWindow : public QWidget
+{
+   Q_OBJECT
+public:
+   MergeResultWindow(
+      QWidget* pParent,
+      OptionDialog* pOptionDialog,
+      QStatusBar* pStatusBar
+      );
+
+   void init(
+      const LineData* pLineDataA, int sizeA,
+      const LineData* pLineDataB, int sizeB,
+      const LineData* pLineDataC, int sizeC,
+      const Diff3LineList* pDiff3LineList,
+      TotalDiffStatus* pTotalDiffStatus,
+      QString fileName
+      );
+
+   void reset();
+
+   bool saveDocument( const QString& fileName );
+   int getNrOfUnsolvedConflicts(int* pNrOfWhiteSpaceConflicts=0);
+   void choose(int selector);
+   void chooseGlobal(int selector, bool bConflictsOnly, bool bWhiteSpaceOnly );
+
+   int getNofColumns();
+   int getNofLines();
+   int getNofVisibleColumns();
+   int getNofVisibleLines();
+   QString getSelection();
+   void resetSelection();
+   void showNrOfConflicts();
+   bool isDeltaAboveCurrent();
+   bool isDeltaBelowCurrent();
+   bool isConflictAboveCurrent();
+   bool isConflictBelowCurrent();
+   bool isUnsolvedConflictAboveCurrent();
+   bool isUnsolvedConflictBelowCurrent();
+   bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
+   void setSelection( int firstLine, int startPos, int lastLine, int endPos );
+   void setOverviewMode( Overview::e_OverviewMode eOverviewMode );
+   Overview::e_OverviewMode getOverviewMode();
+public slots:
+   void setFirstLine(int firstLine);
+   void setFirstColumn(int firstCol);
+
+   void slotGoCurrent();
+   void slotGoTop();
+   void slotGoBottom();
+   void slotGoPrevDelta();
+   void slotGoNextDelta();
+   void slotGoPrevUnsolvedConflict();
+   void slotGoNextUnsolvedConflict();
+   void slotGoPrevConflict();
+   void slotGoNextConflict();
+   void slotAutoSolve();
+   void slotUnsolve();
+   void slotMergeHistory();
+   void slotRegExpAutoMerge();
+   void slotSplitDiff( int firstD3lLineIdx, int lastD3lLineIdx );
+   void slotJoinDiffs( int firstD3lLineIdx, int lastD3lLineIdx );
+   void slotSetFastSelectorLine(int);
+   void setPaintingAllowed(bool);
+   void updateSourceMask();
+
+signals:
+   void scroll( int deltaX, int deltaY );
+   void modified();
+   void setFastSelectorRange( int line1, int nofLines );
+   void sourceMask( int srcMask, int enabledMask );
+   void resizeSignal();
+   void selectionEnd();
+   void newSelection();
+   void updateAvailabilities();
+   void showPopupMenu( const QPoint& point );
+   void noRelevantChangesDetected();
+
+private:
+   void merge(bool bAutoSolve, int defaultSelector, bool bConflictsOnly=false, bool bWhiteSpaceOnly=false );
+   QString getString( int lineIdx );
+
+   OptionDialog* m_pOptionDialog;
+
+   const LineData* m_pldA;
+   const LineData* m_pldB;
+   const LineData* m_pldC;
+   int m_sizeA;
+   int m_sizeB;
+   int m_sizeC;
+
+   const Diff3LineList* m_pDiff3LineList;
+   TotalDiffStatus* m_pTotalDiffStatus;
+
+   bool m_bPaintingAllowed;
+   int m_delayedDrawTimer;
+   Overview::e_OverviewMode m_eOverviewMode;
+
+private:
+   class MergeEditLine
+   {
+   public:
+      MergeEditLine(Diff3LineList::const_iterator i, int src=0){m_id3l=i; m_src=src; m_bLineRemoved=false; }
+      void setConflict() { m_src=0; m_bLineRemoved=false; m_str=QString(); }
+      bool isConflict()  { return  m_src==0 && !m_bLineRemoved && m_str.isNull(); }
+      void setRemoved(int src=0)  { m_src=src; m_bLineRemoved=true; m_str=QString(); }
+      bool isRemoved()   { return m_bLineRemoved; }
+      bool isEditableText() { return !isConflict() && !isRemoved(); }
+      void setString( const QString& s ){ m_str=s; m_bLineRemoved=false; m_src=0; }
+      QString getString( const MergeResultWindow* );
+      bool isModified() { return ! m_str.isNull() ||  (m_bLineRemoved && m_src==0); }
+
+      void setSource( int src, bool bLineRemoved ) { m_src=src; m_bLineRemoved =bLineRemoved; }
+      int src() { return m_src; }
+      Diff3LineList::const_iterator id3l(){return m_id3l;}
+      // getString() is implemented as MergeResultWindow::getString()
+   private:
+      Diff3LineList::const_iterator m_id3l;
+      int m_src;         // 1, 2 or 3 for A, B or C respectively, or 0 when line is from neither source.
+      QString m_str;    // String when modified by user or null-string when orig data is used.
+      bool m_bLineRemoved;
+   };
+
+   class MergeEditLineList : private std::list<MergeEditLine>
+   { // I want to know the size immediately!
+   private:
+      typedef std::list<MergeEditLine> BASE;
+      int m_size;
+      int* m_pTotalSize;
+   public:
+      typedef std::list<MergeEditLine>::iterator iterator;
+      typedef std::list<MergeEditLine>::const_iterator const_iterator;
+      MergeEditLineList(){m_size=0; m_pTotalSize=0; }
+      void clear()                             { ds(-m_size); BASE::clear();          }
+      void push_back( const MergeEditLine& m)  { ds(+1); BASE::push_back(m);     }
+      void push_front( const MergeEditLine& m) { ds(+1); BASE::push_front(m);    }
+      iterator erase( iterator i )             { ds(-1); return BASE::erase(i);  }
+      iterator insert( iterator i, const MergeEditLine& m ) { ds(+1); return BASE::insert(i,m); }
+      int size(){ if (!m_pTotalSize) m_size = BASE::size(); return m_size; }
+      iterator begin(){return BASE::begin();}
+      iterator end(){return BASE::end();}
+      MergeEditLine& front(){return BASE::front();}
+      MergeEditLine& back(){return BASE::back();}
+      bool empty() { return m_size==0; }
+      void splice(iterator destPos, MergeEditLineList& srcList, iterator srcFirst, iterator srcLast)
+      {
+         int* pTotalSize = getTotalSizePtr() ? getTotalSizePtr() : srcList.getTotalSizePtr();
+         srcList.setTotalSizePtr(0); // Force size-recalc after splice, because splice doesn't handle size-tracking
+         setTotalSizePtr(0);
+         BASE::splice( destPos, srcList, srcFirst, srcLast );
+         srcList.setTotalSizePtr( pTotalSize );
+         setTotalSizePtr( pTotalSize );
+      }
+
+      void setTotalSizePtr(int* pTotalSize)
+      {
+         if ( pTotalSize==0 && m_pTotalSize!=0 ) { *m_pTotalSize -= size(); }
+         else if ( pTotalSize!=0 && m_pTotalSize==0 ) { *pTotalSize += size(); }
+         m_pTotalSize = pTotalSize;
+      }
+      int* getTotalSizePtr()
+      {
+         return m_pTotalSize;
+      }
+
+   private:
+      void ds(int deltaSize) 
+      {
+         m_size+=deltaSize; 
+         if (m_pTotalSize!=0)  *m_pTotalSize+=deltaSize;
+      }
+   };
+
+   friend class MergeEditLine;
+
+   struct MergeLine
+   {
+      MergeLine()
+      {
+         srcSelect=0; mergeDetails=eDefault; d3lLineIdx = -1; srcRangeLength=0;
+         bConflict=false; bDelta=false; bWhiteSpaceConflict=false;
+      }
+      Diff3LineList::const_iterator id3l;
+      int d3lLineIdx;  // Needed to show the correct window pos.
+      int srcRangeLength; // how many src-lines have this properties
+      e_MergeDetails mergeDetails;
+      bool bConflict;
+      bool bWhiteSpaceConflict;
+      bool bDelta;
+      int srcSelect;
+      MergeEditLineList mergeEditLineList;
+      void split( MergeLine& ml2, int d3lLineIdx2 ) // The caller must insert the ml2 after this ml in the m_mergeLineList
+      {
+         if ( d3lLineIdx2<d3lLineIdx || d3lLineIdx2 >= d3lLineIdx + srcRangeLength ) 
+            return; //Error
+         ml2.mergeDetails = mergeDetails;
+         ml2.bConflict = bConflict;
+         ml2.bWhiteSpaceConflict = bWhiteSpaceConflict;
+         ml2.bDelta = bDelta;
+         ml2.srcSelect = srcSelect;
+
+         ml2.d3lLineIdx = d3lLineIdx2;
+         ml2.srcRangeLength = srcRangeLength - (d3lLineIdx2-d3lLineIdx);
+         srcRangeLength = d3lLineIdx2-d3lLineIdx; // current MergeLine controls fewer lines
+         ml2.id3l = id3l;
+         for(int i=0; i<srcRangeLength; ++i)
+            ++ml2.id3l;
+
+         ml2.mergeEditLineList.clear();
+         // Search for best place to splice
+         for(MergeEditLineList::iterator i=mergeEditLineList.begin(); i!=mergeEditLineList.end();++i)
+         {
+            if (i->id3l()==ml2.id3l)
+            {
+               ml2.mergeEditLineList.splice( ml2.mergeEditLineList.begin(), mergeEditLineList, i, mergeEditLineList.end() );
+               return;
+            }
+         }
+         ml2.mergeEditLineList.setTotalSizePtr( mergeEditLineList.getTotalSizePtr() );
+         ml2.mergeEditLineList.push_back(MergeEditLine(ml2.id3l));
+      }
+      void join( MergeLine& ml2 ) // The caller must remove the ml2 from the m_mergeLineList after this call
+      {
+         srcRangeLength += ml2.srcRangeLength;
+         ml2.mergeEditLineList.clear();
+         mergeEditLineList.clear();
+         mergeEditLineList.push_back(MergeEditLine(id3l)); // Create a simple conflict
+         if ( ml2.bConflict ) bConflict = true;
+         if ( !ml2.bWhiteSpaceConflict ) bWhiteSpaceConflict = false;
+         if ( ml2.bDelta ) bDelta = true;
+      }
+   };
+
+private:
+   static bool sameKindCheck( const MergeLine& ml1, const MergeLine& ml2 );
+   struct HistoryMapEntry
+   {
+      MergeEditLineList mellA;
+      MergeEditLineList mellB;
+      MergeEditLineList mellC;
+      MergeEditLineList& choice( bool bThreeInputs );
+      bool staysInPlace( bool bThreeInputs, Diff3LineList::const_iterator& iHistoryEnd );
+   };
+   typedef std::map<QString,HistoryMapEntry> HistoryMap;
+   void collectHistoryInformation( int src, Diff3LineList::const_iterator iHistoryBegin, Diff3LineList::const_iterator iHistoryEnd, HistoryMap& historyMap, std::list< HistoryMap::iterator >& hitList );
+
+   typedef std::list<MergeLine> MergeLineList;
+   MergeLineList m_mergeLineList;
+   MergeLineList::iterator m_currentMergeLineIt;
+   int m_currentPos;
+   bool checkOverviewIgnore(MergeLineList::iterator &i);
+
+   enum e_Direction { eUp, eDown };
+   enum e_EndPoint  { eDelta, eConflict, eUnsolvedConflict, eLine, eEnd };
+   void go( e_Direction eDir, e_EndPoint eEndPoint );
+   void calcIteratorFromLineNr(
+      int line,
+      MergeLineList::iterator& mlIt,
+      MergeEditLineList::iterator& melIt
+      );
+   MergeLineList::iterator splitAtDiff3LineIdx( int d3lLineIdx );
+
+   virtual void paintEvent( QPaintEvent* e );
+
+
+   void myUpdate(int afterMilliSecs);
+   virtual void timerEvent(QTimerEvent*);
+   void writeLine(
+      MyPainter& p, int line, const QString& str,
+      int srcSelect, e_MergeDetails mergeDetails, int rangeMark, bool bUserModified, bool bLineRemoved, bool bWhiteSpaceConflict
+      );
+   void setFastSelector(MergeLineList::iterator i);
+   void convertToLinePos( int x, int y, int& line, int& pos );
+   virtual void mousePressEvent ( QMouseEvent* e );
+   virtual void mouseDoubleClickEvent ( QMouseEvent* e );
+   virtual void mouseReleaseEvent ( QMouseEvent * );
+   virtual void mouseMoveEvent ( QMouseEvent * );
+   virtual void resizeEvent( QResizeEvent* e );
+   virtual void keyPressEvent( QKeyEvent* e );
+   virtual void wheelEvent( QWheelEvent* e );
+   virtual void focusInEvent( QFocusEvent* e );
+
+   QPixmap m_pixmap;
+   int m_firstLine;
+   int m_firstColumn;
+   int m_nofColumns;
+   int m_nofLines;
+   int m_totalSize; //Same as m_nofLines, but calculated differently
+   bool m_bMyUpdate;
+   bool m_bInsertMode;
+   QString m_fileName;
+   bool m_bModified;
+   void setModified();
+
+   int m_scrollDeltaX;
+   int m_scrollDeltaY;
+   int m_cursorXPos;
+   int m_cursorYPos;
+   int m_cursorOldXPos;
+   bool m_bCursorOn; // blinking on and off each second
+   QTimer m_cursorTimer;
+   bool m_bCursorUpdate;
+   QStatusBar* m_pStatusBar;
+
+   Selection m_selection;
+
+   bool deleteSelection2( QString& str, int& x, int& y,
+                    MergeLineList::iterator& mlIt, MergeEditLineList::iterator& melIt );
+   bool doRelevantChangesExist();
+public slots:
+   void deleteSelection();
+   void pasteClipboard(bool bFromSelection);
+private slots:
+   void slotCursorUpdate();
+};
+
+#endif
+
--- a/kdiff3/src/optiondialog.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/optiondialog.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 /*
  *   kdiff3 - Text Diff And Merge Tool
- *   This file only: Copyright (C) 2002  Joachim Eibl, joachim.eibl@gmx.de
+ *   Copyright (C) 2002-2006  Joachim Eibl, joachim.eibl at gmx.de
  *
  *   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
@@ -14,7 +14,7 @@
  *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *   Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  */
 
@@ -39,16 +39,26 @@
 #include <klocale.h>
 #include <kconfig.h>
 #include <kmessagebox.h>
+#include <kmainwindow.h> //For ktoolbar.h
+
 //#include <kkeydialog.h>
 #include <map>
 
 #include "optiondialog.h"
 #include "diff.h"
+#include "smalldialogs.h"
+
+#include <iostream>
 
 #ifndef KREPLACEMENTS_H
 #include <kglobalsettings.h>
 #endif
 
+static QString s_historyEntryStartRegExpToolTip;
+static QString s_historyEntryStartSortKeyOrderToolTip;
+static QString s_autoMergeRegExpToolTip;
+static QString s_historyStartRegExpToolTip;
+
 void OptionDialog::addOptionItem(OptionItem* p)
 {
    m_optionItemList.push_back(p);
@@ -57,7 +67,7 @@
 class OptionItem
 {
 public:
-   OptionItem( OptionDialog* pOptionDialog, QString saveName )
+   OptionItem( OptionDialog* pOptionDialog, const QString& saveName )
    {
       assert(pOptionDialog!=0);
       pOptionDialog->addOptionItem( this );
@@ -67,8 +77,9 @@
    virtual void setToDefault()=0;
    virtual void setToCurrent()=0;
    virtual void apply()=0;
-   virtual void write(KConfig*)=0;
-   virtual void read(KConfig*)=0;
+   virtual void write(ValueMap*)=0;
+   virtual void read(ValueMap*)=0;
+   QString getSaveName(){return m_saveName;}
 protected:
    QString m_saveName;
 };
@@ -86,8 +97,8 @@
    void setToDefault(){ setChecked( m_bDefaultVal );      }
    void setToCurrent(){ setChecked( *m_pbVar );           }
    void apply()       { *m_pbVar = isChecked();                              }
-   void write(KConfig* config){ config->writeEntry(m_saveName, *m_pbVar );   }
-   void read (KConfig* config){ *m_pbVar = config->readBoolEntry( m_saveName, *m_pbVar ); }
+   void write(ValueMap* config){ config->writeEntry(m_saveName, *m_pbVar );   }
+   void read (ValueMap* config){ *m_pbVar = config->readBoolEntry( m_saveName, *m_pbVar ); }
 private:
    OptionCheckBox( const OptionCheckBox& ); // private copy constructor without implementation
    bool* m_pbVar;
@@ -107,33 +118,76 @@
    void setToDefault(){ setChecked( m_bDefaultVal );      }
    void setToCurrent(){ setChecked( *m_pbVar );           }
    void apply()       { *m_pbVar = isChecked();                              }
-   void write(KConfig* config){ config->writeEntry(m_saveName, *m_pbVar );   }
-   void read (KConfig* config){ *m_pbVar = config->readBoolEntry( m_saveName, *m_pbVar ); }
+   void write(ValueMap* config){ config->writeEntry(m_saveName, *m_pbVar );   }
+   void read (ValueMap* config){ *m_pbVar = config->readBoolEntry( m_saveName, *m_pbVar ); }
 private:
    OptionRadioButton( const OptionRadioButton& ); // private copy constructor without implementation
    bool* m_pbVar;
    bool m_bDefaultVal;
 };
 
-class OptionToggleAction : public OptionItem
+
+template<class T>
+class OptionT : public OptionItem
 {
 public:
-   OptionToggleAction( bool bDefaultVal, const QString& saveName, bool* pbVar, OptionDialog* pOD )
+   OptionT( const T& defaultVal, const QString& saveName, T* pVar, OptionDialog* pOD )
    : OptionItem( pOD, saveName )
    {
-      m_pbVar = pbVar;
-      *m_pbVar = bDefaultVal;
+      m_pVar = pVar;
+      *m_pVar = defaultVal;
+   }
+   OptionT( const QString& saveName, T* pVar, OptionDialog* pOD )
+   : OptionItem( pOD, saveName )
+   {
+      m_pVar = pVar;
    }
    void setToDefault(){}
    void setToCurrent(){}
    void apply()       {}
-   void write(KConfig* config){ config->writeEntry(m_saveName, *m_pbVar );   }
-   void read (KConfig* config){ *m_pbVar = config->readBoolEntry( m_saveName, *m_pbVar ); }
+   void write(ValueMap* vm){ writeEntry( vm, m_saveName, *m_pVar ); }
+   void read (ValueMap* vm){ readEntry ( vm, m_saveName, *m_pVar ); }
 private:
-   OptionToggleAction( const OptionToggleAction& ); // private copy constructor without implementation
-   bool* m_pbVar;
+   OptionT( const OptionT& ); // private copy constructor without implementation
+   T* m_pVar;
 };
 
+template <class T> void writeEntry(ValueMap* vm, const QString& saveName, const T& v ) {   vm->writeEntry( saveName, v ); }
+static void writeEntry(ValueMap* vm, const QString& saveName, const QStringList& v )   {   vm->writeEntry( saveName, v, '|' ); }
+
+static void readEntry(ValueMap* vm, const QString& saveName, bool& v )       {   v = vm->readBoolEntry( saveName, v ); }
+static void readEntry(ValueMap* vm, const QString& saveName, int&  v )       {   v = vm->readNumEntry( saveName, v ); }
+static void readEntry(ValueMap* vm, const QString& saveName, QSize& v )      {   v = vm->readSizeEntry( saveName, &v ); }
+static void readEntry(ValueMap* vm, const QString& saveName, QPoint& v )     {   v = vm->readPointEntry( saveName, &v ); }
+static void readEntry(ValueMap* vm, const QString& saveName, QStringList& v ){   v = vm->readListEntry( saveName, QStringList(), '|' ); }
+
+typedef OptionT<bool> OptionToggleAction;
+typedef OptionT<int>  OptionNum;
+typedef OptionT<QPoint> OptionPoint;
+typedef OptionT<QSize> OptionSize;
+typedef OptionT<QStringList> OptionStringList;
+
+class OptionFontChooser : public KFontChooser, public OptionItem
+{
+public:
+   OptionFontChooser( const QFont& defaultVal, const QString& saveName, QFont* pbVar, QWidget* pParent, OptionDialog* pOD )
+   :KFontChooser( pParent,"font",true/*onlyFixed*/,QStringList(),false,6 ),
+    OptionItem( pOD, saveName )
+   {
+      m_pbVar = pbVar;
+      *m_pbVar = defaultVal;
+      m_default = defaultVal;
+   }
+   void setToDefault(){ setFont( m_default, true /*only fixed*/ ); }
+   void setToCurrent(){ setFont( *m_pbVar, true /*only fixed*/ ); }
+   void apply()       { *m_pbVar = font();}
+   void write(ValueMap* config){ config->writeEntry(m_saveName, *m_pbVar );   }
+   void read (ValueMap* config){ *m_pbVar = config->readFontEntry( m_saveName, m_pbVar ); }
+private:
+   OptionFontChooser( const OptionToggleAction& ); // private copy constructor without implementation
+   QFont* m_pbVar;
+   QFont m_default;
+};
 
 class OptionColorButton : public KColorButton, public OptionItem
 {
@@ -147,8 +201,8 @@
    void setToDefault(){ setColor( m_defaultVal );      }
    void setToCurrent(){ setColor( *m_pVar );           }
    void apply()       { *m_pVar = color();                              }
-   void write(KConfig* config){ config->writeEntry(m_saveName, *m_pVar );   }
-   void read (KConfig* config){ *m_pVar = config->readColorEntry( m_saveName, m_pVar ); }
+   void write(ValueMap* config){ config->writeEntry(m_saveName, *m_pVar );   }
+   void read (ValueMap* config){ *m_pVar = config->readColorEntry( m_saveName, m_pVar ); }
 private:
    OptionColorButton( const OptionColorButton& ); // private copy constructor without implementation
    QColor* m_pVar;
@@ -162,29 +216,32 @@
                    QWidget* pParent, OptionDialog* pOD )
    : QComboBox( pParent ), OptionItem( pOD, saveName )
    {
+      setMinimumWidth(50);
+      setEditable(true);
       m_pVar = pVar;
       m_defaultVal = defaultVal;
       m_list.push_back(defaultVal);
-      setEditable(true);
+      insertText();
    }
-   void setToDefault(){ setCurrentText( m_defaultVal );      }
-   void setToCurrent(){ setCurrentText( *m_pVar );           }
+   void setToDefault(){ setCurrentText( m_defaultVal );   }
+   void setToCurrent(){ setCurrentText( *m_pVar );        }
    void apply()       { *m_pVar = currentText(); insertText();            }
-   void write(KConfig* config){ config->writeEntry( m_saveName, m_list, '|' );      }
-   void read (KConfig* config){ 
-      m_list = config->readListEntry( m_saveName, '|' ); 
-      if ( !m_list.isEmpty() ) *m_pVar = m_list.front();
+   void write(ValueMap* config){ config->writeEntry( m_saveName, m_list, '|' );      }
+   void read (ValueMap* config){ 
+      m_list = config->readListEntry( m_saveName, m_defaultVal, '|' ); 
+      if ( !m_list.empty() ) *m_pVar = m_list.front();
       clear();
       insertStringList(m_list);
    }
 private:
    void insertText()
-   {  // Check if the text exists. If yes remove it and
+   {  // Check if the text exists. If yes remove it and push it in as first element
       QString current = currentText();
       m_list.remove( current );
       m_list.push_front( current );
       clear();
-      if ( m_list.count()>10 ) m_list.erase( m_list.at(10), m_list.end() );
+      if ( m_list.size()>10 ) 
+         m_list.erase( m_list.at(10),m_list.end() );
       insertStringList(m_list);
    }
    OptionLineEdit( const OptionLineEdit& ); // private copy constructor without implementation
@@ -214,8 +271,8 @@
    void apply()       { const QIntValidator* v=static_cast<const QIntValidator*>(validator());
                         *m_pVar = minMaxLimiter( text().toInt(), v->bottom(), v->top());
                         setText( QString::number(*m_pVar) );  }
-   void write(KConfig* config){ config->writeEntry(m_saveName, *m_pVar );   }
-   void read (KConfig* config){ *m_pVar = config->readNumEntry( m_saveName, *m_pVar ); }
+   void write(ValueMap* config){ config->writeEntry(m_saveName, *m_pVar );   }
+   void read (ValueMap* config){ *m_pVar = config->readNumEntry( m_saveName, *m_pVar ); }
 private:
    OptionIntEdit( const OptionIntEdit& ); // private copy constructor without implementation
    int* m_pVar;
@@ -229,6 +286,7 @@
                    QWidget* pParent, OptionDialog* pOD )
    : QComboBox( pParent ), OptionItem( pOD, saveName )
    {
+      setMinimumWidth(50);
       m_pVarNum = pVarNum;
       m_pVarStr = 0;
       m_defaultVal = defaultVal;
@@ -253,17 +311,17 @@
       if (m_pVarNum!=0) setCurrentItem( *m_pVarNum );
       else              setText( *m_pVarStr );
    }
-   void apply()       
+   void apply()
    { 
       if (m_pVarNum!=0){ *m_pVarNum = currentItem(); }
       else             { *m_pVarStr = currentText(); }
    }
-   void write(KConfig* config)
+   void write(ValueMap* config)
    { 
       if (m_pVarStr!=0) config->writeEntry(m_saveName, *m_pVarStr );
       else              config->writeEntry(m_saveName, *m_pVarNum );   
    }
-   void read (KConfig* config)
+   void read (ValueMap* config)
    {
       if (m_pVarStr!=0)  setText( config->readEntry( m_saveName, currentText() ) );
       else               *m_pVarNum = config->readNumEntry( m_saveName, *m_pVarNum ); 
@@ -338,9 +396,21 @@
       }
    }
    void setToDefault()
-   { 
-      setCurrentItem( 0 ); 
-      if (m_ppVarCodec!=0){ *m_ppVarCodec=m_codecVec[0]; } 
+   {
+      QString defaultName = QTextCodec::codecForLocale()->name();
+      for(int i=0;i<count();++i)
+      {
+         if (defaultName==text(i) &&
+             m_codecVec[i]==QTextCodec::codecForLocale())
+         {
+            setCurrentItem(i);
+            if (m_ppVarCodec!=0){ *m_ppVarCodec=m_codecVec[i]; }
+            return;
+         }
+      }
+
+      setCurrentItem( 0 );
+      if (m_ppVarCodec!=0){ *m_ppVarCodec=m_codecVec[0]; }
    }
    void setToCurrent()
    {
@@ -360,11 +430,11 @@
    {
       if (m_ppVarCodec!=0){ *m_ppVarCodec = m_codecVec[ currentItem() ]; }
    }
-   void write(KConfig* config)
+   void write(ValueMap* config)
    {
       if (m_ppVarCodec!=0) config->writeEntry(m_saveName, (*m_ppVarCodec)->name() );
    }
-   void read (KConfig* config)
+   void read (ValueMap* config)
    {
       QString codecName = config->readEntry( m_saveName, m_codecVec[ currentItem() ]->name() );
       for(unsigned int i=0; i<m_codecVec.size(); ++i)
@@ -395,6 +465,7 @@
       setupDirectoryMergePage();
 
    setupRegionalPage();
+   setupIntegrationPage();
 
    //setupKeysPage();
 
@@ -415,6 +486,20 @@
    new OptionToggleAction( false, "ShowLineNumbers", &m_bShowLineNumbers, this );
    new OptionToggleAction( true,  "HorizDiffWindowSplitting", &m_bHorizDiffWindowSplitting, this );
    new OptionToggleAction( false, "WordWrap", &m_bWordWrap, this );
+
+   new OptionToggleAction( true,  "ShowIdenticalFiles", &m_bDmShowIdenticalFiles, this );
+
+   new OptionToggleAction( true,  "Show Toolbar", &m_bShowToolBar, this );
+   new OptionToggleAction( true,  "Show Statusbar", &m_bShowStatusBar, this );
+
+   new OptionNum( (int)KToolBar::Top, "ToolBarPos", &m_toolBarPos, this );
+   new OptionSize( QSize(600,400),"Geometry", &m_geometry, this );
+   new OptionPoint( QPoint(0,22), "Position", &m_position, this );
+
+   new OptionStringList( "RecentAFiles", &m_recentAFiles, this );
+   new OptionStringList( "RecentBFiles", &m_recentBFiles, this );
+   new OptionStringList( "RecentCFiles", &m_recentCFiles, this );
+   new OptionStringList( "RecentOutputFiles", &m_recentOutputFiles, this );
 }
 
 void OptionDialog::setupFontPage( void )
@@ -422,10 +507,19 @@
    QFrame *page = addPage( i18n("Font"), i18n("Editor & Diff Output Font" ),
                              BarIcon("fonts", KIcon::SizeMedium ) );
 
-   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
-   m_fontChooser = new KFontChooser( page,"font",true/*onlyFixed*/,QStringList(),false,6 );
-   topLayout->addWidget( m_fontChooser );
+   QFont defaultFont =
+#ifdef _WIN32
+      QFont("Courier New", 10 );
+#elif defined( KREPLACEMENTS_H )
+      QFont("Courier", 10 );
+#else
+      KGlobalSettings::fixedFont();
+#endif
+
+   OptionFontChooser* pFontChooser = new OptionFontChooser( defaultFont, "Font", &m_font, page, this );
+   topLayout->addWidget( pFontChooser );
 
    QGridLayout *gbox = new QGridLayout( 1, 2 );
    topLayout->addLayout( gbox );
@@ -442,11 +536,12 @@
 
 void OptionDialog::setupColorPage( void )
 {
-  QFrame *page = addPage( i18n("Color"), i18n("Colors in Editor & Diff Output"),
+  QFrame *page = addPage( i18n("Color"), i18n("Colors Settings"),
      BarIcon("colorize", KIcon::SizeMedium ) );
-  QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+  QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
   QGridLayout *gbox = new QGridLayout( 7, 2 );
+  gbox->setColStretch(1,5);
   topLayout->addLayout(gbox);
 
   QLabel* label;
@@ -455,20 +550,28 @@
   int depth = QColor::numBitPlanes();
   bool bLowColor = depth<=8;
 
-  OptionColorButton* pFgColor = new OptionColorButton( black,"FgColor", &m_fgColor, page, this );
+  label = new QLabel( i18n("Editor and Diff Views:"), page );
+  gbox->addWidget( label, line, 0 );
+  QFont f( label->font() );
+  f.setBold(true);
+  label->setFont(f);
+  ++line;
+
+  OptionColorButton* pFgColor = new OptionColorButton( Qt::black,"FgColor", &m_fgColor, page, this );
   label = new QLabel( pFgColor, i18n("Foreground color:"), page );
   gbox->addWidget( label, line, 0 );
   gbox->addWidget( pFgColor, line, 1 );
   ++line;
 
-  OptionColorButton* pBgColor = new OptionColorButton( white, "BgColor", &m_bgColor, page, this );
+  OptionColorButton* pBgColor = new OptionColorButton( Qt::white, "BgColor", &m_bgColor, page, this );
   label = new QLabel( pBgColor, i18n("Background color:"), page );
   gbox->addWidget( label, line, 0 );
   gbox->addWidget( pBgColor, line, 1 );
 
   ++line;
 
-  OptionColorButton* pDiffBgColor = new OptionColorButton( lightGray, "DiffBgColor", &m_diffBgColor, page, this );
+  OptionColorButton* pDiffBgColor = new OptionColorButton( 
+     bLowColor ? Qt::lightGray : qRgb(224,224,224), "DiffBgColor", &m_diffBgColor, page, this );
   label = new QLabel( pDiffBgColor, i18n("Diff background color:"), page );
   gbox->addWidget( label, line, 0 );
   gbox->addWidget( pDiffBgColor, line, 1 );
@@ -495,7 +598,7 @@
   gbox->addWidget( pColorC, line, 1 );
   ++line;
 
-  OptionColorButton* pColorForConflict = new OptionColorButton( red, "ColorForConflict", &m_colorForConflict, page, this );
+  OptionColorButton* pColorForConflict = new OptionColorButton( Qt::red, "ColorForConflict", &m_colorForConflict, page, this );
   label = new QLabel( pColorForConflict, i18n("Conflict color:"), page );
   gbox->addWidget( label, line, 0 );
   gbox->addWidget( pColorForConflict, line, 1 );
@@ -515,6 +618,46 @@
   gbox->addWidget( pColor, line, 1 );
   ++line;
 
+  pColor = new OptionColorButton( qRgb(0xff,0xd0,0x80), "ManualAlignmentRangeColor", &m_manualHelpRangeColor, page, this );
+  label = new QLabel( pColor, i18n("Color for manually aligned difference ranges:"), page );
+  gbox->addWidget( label, line, 0 );
+  gbox->addWidget( pColor, line, 1 );
+  ++line;
+
+  label = new QLabel( i18n("Directory Comparison View:"), page );
+  gbox->addWidget( label, line, 0 );
+  label->setFont(f);
+  ++line;
+
+  pColor = new OptionColorButton( qRgb(0,0xd0,0), "NewestFileColor", &m_newestFileColor, page, this );
+  label = new QLabel( pColor, i18n("Newest file color:"), page );
+  gbox->addWidget( label, line, 0 );
+  gbox->addWidget( pColor, line, 1 );
+  QString dirColorTip = i18n( "Changing this color will only be effective when starting the next directory comparison.");
+  QToolTip::add( label, dirColorTip );
+  ++line;
+
+  pColor = new OptionColorButton( qRgb(0xf0,0,0), "OldestFileColor", &m_oldestFileColor, page, this );
+  label = new QLabel( pColor, i18n("Oldest file color:"), page );
+  gbox->addWidget( label, line, 0 );
+  gbox->addWidget( pColor, line, 1 );
+  QToolTip::add( label, dirColorTip );
+  ++line;
+
+  pColor = new OptionColorButton( qRgb(0xc0,0xc0,0), "MidAgeFileColor", &m_midAgeFileColor, page, this );
+  label = new QLabel( pColor, i18n("Middle age file color:"), page );
+  gbox->addWidget( label, line, 0 );
+  gbox->addWidget( pColor, line, 1 );
+  QToolTip::add( label, dirColorTip );
+  ++line;
+
+  pColor = new OptionColorButton( qRgb(0,0,0), "MissingFileColor", &m_missingFileColor, page, this );
+  label = new QLabel( pColor, i18n("Color for missing files:"), page );
+  gbox->addWidget( label, line, 0 );
+  gbox->addWidget( pColor, line, 1 );
+  QToolTip::add( label, dirColorTip );
+  ++line;
+
   topLayout->addStretch(10);
 }
 
@@ -523,9 +666,10 @@
 {
    QFrame *page = addPage( i18n("Editor"), i18n("Editor Behavior"),
                            BarIcon("edit", KIcon::SizeMedium ) );
-   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
    QGridLayout *gbox = new QGridLayout( 4, 2 );
+   gbox->setColStretch(1,5);
    topLayout->addLayout( gbox );
    QLabel* label;
    int line=0;
@@ -582,11 +726,12 @@
 
 void OptionDialog::setupDiffPage( void )
 {
-   QFrame *page = addPage( i18n("Diff & Merge"), i18n("Diff & Merge Settings"),
+   QFrame *page = addPage( i18n("Diff and Merge"), i18n("Diff and Merge Settings"),
                            BarIcon("misc", KIcon::SizeMedium ) );
-   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
    QGridLayout *gbox = new QGridLayout( 3, 2 );
+   gbox->setColStretch(1,5);
    topLayout->addLayout( gbox );
    int line=0;
 
@@ -680,6 +825,121 @@
       );
    ++line;
 
+   QGroupBox* pGroupBox = new QGroupBox( 2, Qt::Horizontal, i18n("Automatic Merge Regular Expression"), page);
+   gbox->addMultiCellWidget( pGroupBox, line,line,0,1);
+   ++line;
+   {
+      QWidget* page = new QWidget( pGroupBox );
+      QGridLayout* gbox = new QGridLayout( page, 2, 2, spacingHint() );
+      gbox->setColStretch(1,10);
+      int line = 0;
+
+      label = new QLabel( i18n("Auto merge regular expression:"), page );
+      gbox->addWidget( label, line, 0 );
+      m_pAutoMergeRegExpLineEdit = new OptionLineEdit( ".*\\$(Version|Header|Date|Author).*\\$.*", "AutoMergeRegExp", &m_autoMergeRegExp, page, this );
+      gbox->addWidget( m_pAutoMergeRegExpLineEdit, line, 1 );
+      s_autoMergeRegExpToolTip = i18n("Regular expression for lines where KDiff3 should automatically choose one source.\n"
+                                      "When a line with a conflict matches the regular expression then\n"
+                                      "- if available - C, otherwise B will be chosen.");
+      QToolTip::add( label, s_autoMergeRegExpToolTip );
+      ++line;
+
+      OptionCheckBox* pAutoMergeRegExp = new OptionCheckBox( i18n("Run regular expression auto merge on merge start"), false, "RunRegExpAutoMergeOnMergeStart", &m_bRunRegExpAutoMergeOnMergeStart, page, this );
+      gbox->addMultiCellWidget( pAutoMergeRegExp, line, line, 0, 1 );
+      QToolTip::add( pAutoMergeRegExp, i18n( "Run the merge for auto merge regular expressions\n"
+                                             "immediately when a merge starts.\n"));
+      ++line;
+   }
+
+   pGroupBox = new QGroupBox( 2, Qt::Horizontal, i18n("Version Control History Merging"), page);
+   gbox->addMultiCellWidget( pGroupBox, line,line,0,1);
+   ++line;
+   {
+      QWidget* page = new QWidget( pGroupBox );
+      QGridLayout* gbox = new QGridLayout( page, 2, 2, spacingHint() );
+      gbox->setColStretch(1,10);
+      int line = 0;
+
+      label = new QLabel( i18n("History start regular expression:"), page );
+      gbox->addWidget( label, line, 0 );
+      m_pHistoryStartRegExpLineEdit = new OptionLineEdit( ".*\\$Log.*\\$.*", "HistoryStartRegExp", &m_historyStartRegExp, page, this );
+      gbox->addWidget( m_pHistoryStartRegExpLineEdit, line, 1 );
+      s_historyStartRegExpToolTip = i18n("Regular expression for the start of the version control history entry.\n"
+                                 "Usually this line contains the \"$Log$
+                                 "Usually this line contains the \"Revision 1.7  2006/04/10 08:37:33  joachim99
+                                 "Usually this line contains the \"KDiff3 0.9.89
+                                 "Usually this line contains the \"\"-keyword.\n"
+                                 "Default value: \".*\\$Log.*\\$.*\"");
+      QToolTip::add( label, s_historyStartRegExpToolTip );
+      ++line;
+   
+      label = new QLabel( i18n("History entry start regular expression:"), page );
+      gbox->addWidget( label, line, 0 );
+      // Example line:  "** \main\rolle_fsp_dev_008\1   17 Aug 2001 10:45:44   rolle"
+      QString historyEntryStartDefault =
+         "\\s*\\\\main\\\\(\\S+)\\s+"  // Start with  "\main\"
+         "([0-9]+) "          // day
+         "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) " //month
+         "([0-9][0-9][0-9][0-9]) " // year
+         "([0-9][0-9]:[0-9][0-9]:[0-9][0-9])\\s+(.*)";  // time, name
+   
+      m_pHistoryEntryStartRegExpLineEdit = new OptionLineEdit( historyEntryStartDefault, "HistoryEntryStartRegExp", &m_historyEntryStartRegExp, page, this );
+      gbox->addWidget( m_pHistoryEntryStartRegExpLineEdit, line, 1 );
+      s_historyEntryStartRegExpToolTip = i18n("A version control history entry consists of several lines.\n"
+                                 "Specify the regular expression to detect the first line (without the leading comment).\n"
+                                 "Use parentheses to group the keys you want to use for sorting.\n"
+                                 "If left empty, then KDiff3 assumes that empty lines separate history entries.\n"
+                                 "See the documentation for details.");
+      QToolTip::add( label, s_historyEntryStartRegExpToolTip );
+      ++line;
+   
+      m_pHistoryMergeSorting = new OptionCheckBox( i18n("History merge sorting"), false, "HistoryMergeSorting", &m_bHistoryMergeSorting, page, this );
+      gbox->addMultiCellWidget( m_pHistoryMergeSorting, line, line, 0, 1 );
+      QToolTip::add( m_pHistoryMergeSorting, i18n("Sort version control history by a key.") );
+      ++line;
+            //QString branch = newHistoryEntry.cap(1);
+            //int day    = newHistoryEntry.cap(2).toInt();
+            //int month  = QString("Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec").find(newHistoryEntry.cap(3))/4 + 1;
+            //int year   = newHistoryEntry.cap(4).toInt();
+            //QString time = newHistoryEntry.cap(5);
+            //QString name = newHistoryEntry.cap(6);
+      QString defaultSortKeyOrder = "4,3,2,5,1,6"; //QDate(year,month,day).toString(Qt::ISODate) +" "+ time + " " + branch + " " + name;
+
+      label = new QLabel( i18n("History entry start sort key order:"), page );
+      gbox->addWidget( label, line, 0 );
+      m_pHistorySortKeyOrderLineEdit = new OptionLineEdit( defaultSortKeyOrder, "HistoryEntryStartSortKeyOrder", &m_historyEntryStartSortKeyOrder, page, this );
+      gbox->addWidget( m_pHistorySortKeyOrderLineEdit, line, 1 );
+      s_historyEntryStartSortKeyOrderToolTip = i18n("Each parentheses used in the regular expression for the history start entry\n"
+                                 "groups a key that can be used for sorting.\n"
+                                 "Specify the list of keys (that are numbered in order of occurrence\n"
+                                 "starting with 1) using ',' as separator (e.g. \"4,5,6,1,2,3,7\").\n"
+                                 "If left empty, then no sorting will be done.\n"
+                                 "See the documentation for details.");
+      QToolTip::add( label, s_historyEntryStartSortKeyOrderToolTip );
+      m_pHistorySortKeyOrderLineEdit->setEnabled(false);
+      connect( m_pHistoryMergeSorting, SIGNAL(toggled(bool)), m_pHistorySortKeyOrderLineEdit, SLOT(setEnabled(bool)));
+      ++line;
+
+      m_pHistoryAutoMerge = new OptionCheckBox( i18n("Merge version control history on merge start"), false, "RunHistoryAutoMergeOnMergeStart", &m_bRunHistoryAutoMergeOnMergeStart, page, this );
+      gbox->addMultiCellWidget( m_pHistoryAutoMerge, line, line, 0, 1 );
+      QToolTip::add( m_pHistoryAutoMerge, i18n("Run version control history automerge on merge start.") );
+      ++line;
+   }
+
+   QPushButton* pButton = new QPushButton( i18n("Test your regular expressions"), page );
+   gbox->addWidget( pButton, line, 0 );
+   connect( pButton, SIGNAL(clicked()), this, SLOT(slotHistoryMergeRegExpTester()));
+   ++line;
+
+   label = new QLabel( i18n("Irrelevant merge command:"), page );
+   gbox->addWidget( label, line, 0 );
+   pLE = new OptionLineEdit( "", "IrrelevantMergeCmd", &m_IrrelevantMergeCmd, page, this );
+   gbox->addWidget( pLE, line, 1 );
+   QToolTip::add( label, i18n("If specified this script is run after automerge\n"
+                              "when no other relevant changes were detected.\n"
+                              "Called with the parameters: filename1 filename2 filename3") );
+   ++line;
+
    topLayout->addStretch(10);
 }
 
@@ -687,9 +947,10 @@
 {
    QFrame *page = addPage( i18n("Directory Merge"), i18n("Directory Merge"),
                            BarIcon("folder", KIcon::SizeMedium ) );
-   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
    QGridLayout *gbox = new QGridLayout( 11, 2 );
+   gbox->setColStretch(1,5);
    topLayout->addLayout( gbox );
    int line=0;
 
@@ -710,7 +971,7 @@
 
    label = new QLabel( i18n("File-anti-pattern(s):"), page );
    gbox->addWidget( label, line, 0 );
-   OptionLineEdit* pFileAntiPattern = new OptionLineEdit( "*.orig;*.o", "FileAntiPattern", &m_DmFileAntiPattern, page, this );
+   OptionLineEdit* pFileAntiPattern = new OptionLineEdit( "*.orig;*.o;*.obj", "FileAntiPattern", &m_DmFileAntiPattern, page, this );
    gbox->addWidget( pFileAntiPattern, line, 1 );
    QToolTip::add( label, i18n(
       "Pattern(s) of files to be excluded from analysis. \n"
@@ -721,7 +982,7 @@
 
    label = new QLabel( i18n("Dir-anti-pattern(s):"), page );
    gbox->addWidget( label, line, 0 );
-   OptionLineEdit* pDirAntiPattern = new OptionLineEdit( "CVS;.deps", "DirAntiPattern", &m_DmDirAntiPattern, page, this );
+   OptionLineEdit* pDirAntiPattern = new OptionLineEdit( "CVS;.deps;.svn", "DirAntiPattern", &m_DmDirAntiPattern, page, this );
    gbox->addWidget( pDirAntiPattern, line, 1 );
    QToolTip::add( label, i18n(
       "Pattern(s) of directories to be excluded from analysis. \n"
@@ -763,10 +1024,22 @@
       ));
    ++line;
 
-   OptionCheckBox* pShowOnlyDeltas = new OptionCheckBox( i18n("List only deltas"),false,"ListOnlyDeltas", &m_bDmShowOnlyDeltas, page, this );
-   gbox->addMultiCellWidget( pShowOnlyDeltas, line, line, 0, 1 );
-   QToolTip::add( pShowOnlyDeltas, i18n(
-                 "Files and directories without change will not appear in the list."));
+   //OptionCheckBox* pShowOnlyDeltas = new OptionCheckBox( i18n("List only deltas"),false,"ListOnlyDeltas", &m_bDmShowOnlyDeltas, page, this );
+   //gbox->addMultiCellWidget( pShowOnlyDeltas, line, line, 0, 1 );
+   //QToolTip::add( pShowOnlyDeltas, i18n(
+   //              "Files and directories without change will not appear in the list."));
+   //++line;
+
+#ifdef _WIN32
+   bool bCaseSensitiveFilenameComparison = false;
+#else
+   bool bCaseSensitiveFilenameComparison = true;
+#endif
+   OptionCheckBox* pCaseSensitiveFileNames = new OptionCheckBox( i18n("Case sensitive filename comparison"),bCaseSensitiveFilenameComparison,"CaseSensitiveFilenameComparison", &m_bDmCaseSensitiveFilenameComparison, page, this );
+   gbox->addMultiCellWidget( pCaseSensitiveFileNames, line, line, 0, 1 );
+   QToolTip::add( pCaseSensitiveFileNames, i18n(
+                 "The directory comparison will compare files or directories when their names match.\n"
+                 "Set this option if the case of the names must match. (Default for Windows is off, otherwise on.)"));
    ++line;
 
    QVButtonGroup* pBG = new QVButtonGroup(i18n("File Comparison Mode"),page);
@@ -847,15 +1120,16 @@
 {
    QFrame *page = addPage( i18n("Regional Settings"), i18n("Regional Settings"),
                            BarIcon("locale"/*"charset"*/, KIcon::SizeMedium ) );
-   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
 
    QGridLayout *gbox = new QGridLayout( 3, 2 );
+   gbox->setColStretch(1,5);
    topLayout->addLayout( gbox );
    int line=0;
 
    QLabel* label;
 
-#ifdef KREPLACEMENTS_H   
+#ifdef KREPLACEMENTS_H
 
 static char* countryMap[]={
 "af Afrikaans",
@@ -894,6 +1168,7 @@
 "is Icelandic",
 "it Italian",
 "ja Japanese",
+"ka Georgian",
 "ko Korean",
 "ku Kurdish",
 "lo Lao",
@@ -915,11 +1190,13 @@
 "pt_BR Brazilian Portuguese",
 "ro Romanian",
 "ru Russian",
+"rw Kinyarwanda",
 "se Northern Sami",
 "sk Slovak",
 "sl Slovenian",
 "sq Albanian",
 "sr Serbian",
+"sr@Latn Serbian",
 "ss Swati",
 "sv Swedish",
 "ta Tamil",
@@ -995,7 +1272,7 @@
                   ) );
    ++line;
 
-   label = new QLabel( i18n("Note: Local Encoding is ") + QTextCodec::codecForLocale()->name(), page );
+   label = new QLabel( i18n("Note: Local Encoding is ") + "\"" + QTextCodec::codecForLocale()->name() + "\"", page );
    gbox->addWidget( label, line, 0 );
    ++line;
 
@@ -1039,6 +1316,33 @@
    topLayout->addStretch(10);
 }
 
+void OptionDialog::setupIntegrationPage( void )
+{
+   QFrame *page = addPage( i18n("Integration"), i18n("Integration Settings"),
+                           BarIcon("launch"/*"charset"*/, KIcon::SizeMedium ) );
+   QVBoxLayout *topLayout = new QVBoxLayout( page, 5, spacingHint() );
+
+   QGridLayout *gbox = new QGridLayout( 3, 2 );
+   gbox->setColStretch(1,5);
+   topLayout->addLayout( gbox );
+   int line=0;
+
+   QLabel* label;
+   label = new QLabel( i18n("Command line options to ignore:"), page );
+   gbox->addWidget( label, line, 0 );
+   OptionLineEdit* pIgnorableCmdLineOptions = new OptionLineEdit( "-u;-query;-html;-abort", "IgnorableCmdLineOptions", &m_ignorableCmdLineOptions, page, this );
+   gbox->addWidget( pIgnorableCmdLineOptions, line, 1 );
+   QToolTip::add( label, i18n(
+      "List of command line options that should be ignored when KDiff3 is used by other tools.\n"
+      "Several values can be specified if separated via ';'\n"
+      "This will suppress the \"Unknown option\"-error."
+      ));
+   ++line;
+
+   topLayout->addStretch(10);
+}
+
+
 void OptionDialog::slotEncodingChanged()
 {
    if ( m_pSameEncoding->isChecked() )
@@ -1105,9 +1409,6 @@
       (*i)->apply();
    }
 
-   // FontConfigDlg
-   m_font = m_fontChooser->font();
-   
    emit applyClicked();   
 }
 
@@ -1121,20 +1422,13 @@
 }
 
 void OptionDialog::resetToDefaults()
-{   
+{
    std::list<OptionItem*>::iterator i;
    for(i=m_optionItemList.begin(); i!=m_optionItemList.end(); ++i)
    {
       (*i)->setToDefault();
    }
 
-#ifdef _WIN32
-   m_fontChooser->setFont( QFont("Courier New", 10 ), true /*only fixed*/ );
-#elif defined( KREPLACEMENTS_H )
-   m_fontChooser->setFont( QFont("Courier", 10 ), true /*only fixed*/ );
-#else
-   m_fontChooser->setFont( KGlobalSettings::fixedFont(), true /*only fixed*/ );
-#endif
    slotEncodingChanged();
 }
 
@@ -1147,30 +1441,48 @@
       (*i)->setToCurrent();
    }
 
-   m_fontChooser->setFont( m_font, true /*only fixed*/ );
    slotEncodingChanged();
 }
 
+class ConfigValueMap : public ValueMap
+{
+private:
+   KConfig* m_pConfig;
+public:
+   ConfigValueMap( KConfig* pConfig ) { m_pConfig = pConfig; }
+
+   void writeEntry(const QString& s, const QFont&  v ){ m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, const QColor& v ){ m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, const QSize&  v ){ m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, const QPoint& v ){ m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, int v )          { m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, bool v )         { m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, const QStringList& v, char separator ){ m_pConfig->writeEntry(s,v,separator); }
+   void writeEntry(const QString& s, const QString& v ){ m_pConfig->writeEntry(s,v); }
+   void writeEntry(const QString& s, const char* v )   { m_pConfig->writeEntry(s,v); }
+
+   QFont       readFontEntry (const QString& s, QFont* defaultVal ) { return m_pConfig->readFontEntry(s,defaultVal); }
+   QColor      readColorEntry(const QString& s, QColor* defaultVal ){ return m_pConfig->readColorEntry(s,defaultVal); }
+   QSize       readSizeEntry (const QString& s, QSize* defaultVal ) { return m_pConfig->readSizeEntry(s,defaultVal); }
+   QPoint      readPointEntry(const QString& s, QPoint* defaultVal) { return m_pConfig->readPointEntry(s,defaultVal); }
+   bool        readBoolEntry (const QString& s, bool defaultVal )   { return m_pConfig->readBoolEntry(s,defaultVal); }
+   int         readNumEntry  (const QString& s, int defaultVal )    { return m_pConfig->readNumEntry(s,defaultVal); }
+   QStringList readListEntry (const QString& s, const QStringList& def, char separator )    { return m_pConfig->readListEntry(s.latin1(),def,separator); }
+   QString     readEntry     (const QString& s, const QString& defaultVal){ return m_pConfig->readEntry(s,defaultVal); }
+};
+
 void OptionDialog::saveOptions( KConfig* config )
 {
    // No i18n()-Translations here!
 
    config->setGroup("KDiff3 Options");
 
+   ConfigValueMap cvm(config);
    std::list<OptionItem*>::iterator i;
    for(i=m_optionItemList.begin(); i!=m_optionItemList.end(); ++i)
    {
-      (*i)->write(config);
+      (*i)->write(&cvm);
    }
-
-   // FontConfigDlg
-   config->writeEntry("Font",  m_font );
-
-   // Recent files (selectable in the OpenDialog)
-   config->writeEntry( "RecentAFiles", m_recentAFiles, '|' );
-   config->writeEntry( "RecentBFiles", m_recentBFiles, '|' );
-   config->writeEntry( "RecentCFiles", m_recentCFiles, '|' );
-   config->writeEntry( "RecentOutputFiles", m_recentOutputFiles, '|' );
 }
 
 void OptionDialog::readOptions( KConfig* config )
@@ -1179,24 +1491,13 @@
 
    config->setGroup("KDiff3 Options");
 
+   ConfigValueMap cvm(config);
    std::list<OptionItem*>::iterator i;
-
    for(i=m_optionItemList.begin(); i!=m_optionItemList.end(); ++i)
    {
-      (*i)->read(config);
+      (*i)->read(&cvm);
    }
 
-   // Use the current values as default settings.
-
-   // FontConfigDlg
-   m_font = config->readFontEntry( "Font", &m_font);
-
-   // Recent files (selectable in the OpenDialog)
-   m_recentAFiles = config->readListEntry( "RecentAFiles", '|' );
-   m_recentBFiles = config->readListEntry( "RecentBFiles", '|' );
-   m_recentCFiles = config->readListEntry( "RecentCFiles", '|' );
-   m_recentOutputFiles = config->readListEntry( "RecentOutputFiles", '|' );
-
    setState();
 }
 
@@ -1205,4 +1506,70 @@
    KDialogBase::slotHelp();
 }
 
+QString OptionDialog::parseOptions( const QCStringList& optionList )
+{
+   QString result;
+   QCStringList::const_iterator i;
+   for ( i=optionList.begin(); i!=optionList.end(); ++i )
+   {
+      QString s = *i;
+
+      int pos = s.find('=');
+      if( pos > 0 )                     // seems not to have a tag
+      {
+         QString key = s.left(pos);
+         QString val = s.mid(pos+1);
+         std::list<OptionItem*>::iterator j;
+         bool bFound = false;
+         for(j=m_optionItemList.begin(); j!=m_optionItemList.end(); ++j)
+         {
+            if ( (*j)->getSaveName()==key )
+            {
+               ValueMap config;
+               config.writeEntry( key, val );  // Write the value as a string and
+               (*j)->read(&config);       // use the internal conversion from string to the needed value.
+               bFound = true;
+               break;
+            }
+         }
+         if ( ! bFound )
+         {
+            result += "No config item named \"" + key + "\"\n";
+         }
+      }
+      else
+      {
+         result += "No '=' found in \"" + s + "\"\n";
+      }
+   }
+   return result;
+}
+
+QString OptionDialog::calcOptionHelp()
+{
+   ValueMap config;
+   std::list<OptionItem*>::iterator j;
+   for(j=m_optionItemList.begin(); j!=m_optionItemList.end(); ++j)
+   {
+      (*j)->write( &config );
+   }
+   return config.getAsString();
+}
+
+void OptionDialog::slotHistoryMergeRegExpTester()
+{
+   RegExpTester dlg(this, s_autoMergeRegExpToolTip, s_historyStartRegExpToolTip, 
+                          s_historyEntryStartRegExpToolTip, s_historyEntryStartSortKeyOrderToolTip );
+   dlg.init(m_pAutoMergeRegExpLineEdit->currentText(), m_pHistoryStartRegExpLineEdit->currentText(), 
+            m_pHistoryEntryStartRegExpLineEdit->currentText(), m_pHistorySortKeyOrderLineEdit->currentText());
+   if ( dlg.exec() )
+   {
+      m_pAutoMergeRegExpLineEdit->setCurrentText( dlg.autoMergeRegExp() );
+      m_pHistoryStartRegExpLineEdit->setCurrentText( dlg.historyStartRegExp() );
+      m_pHistoryEntryStartRegExpLineEdit->setCurrentText( dlg.historyEntryStartRegExp() );
+      m_pHistorySortKeyOrderLineEdit->setCurrentText( dlg.historySortKeyOrder() );
+   }
+}
+
+
 #include "optiondialog.moc"
--- a/kdiff3/src/optiondialog.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/optiondialog.h	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,6 @@
 /*
  *   kdiff3 - Text Diff And Merge Tool
- *   This file only: Copyright (C) 2002  Joachim Eibl, joachim.eibl@gmx.de
+ *   Copyright (C) 2002-2006  Joachim Eibl, joachim.eibl at gmx.de
  *
  *   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
@@ -14,7 +14,7 @@
  *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *   Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  */
 
@@ -31,10 +31,12 @@
 #include <kdialogbase.h>
 #include <qstringlist.h>
 #include <list>
+#include <kcmdlineargs.h>
 
 class OptionItem;
 class OptionCheckBox;
 class OptionEncodingComboBox;
+class OptionLineEdit;
 class KKeyDialog;
 
 enum e_LineEndStyle
@@ -51,6 +53,15 @@
 
     OptionDialog( bool bShowDirMergeSettings, QWidget *parent = 0, char *name = 0 );
     ~OptionDialog( void );
+    QString parseOptions( const QCStringList& optionList );
+    QString calcOptionHelp();
+
+    // Some settings are not available in the option dialog:
+    QSize  m_geometry;
+    QPoint m_position;
+    bool   m_bShowToolBar;
+    bool   m_bShowStatusBar;
+    int    m_toolBarPos;
 
     // These are the results of the option dialog.
     QFont m_font;
@@ -65,6 +76,11 @@
     QColor m_colorForConflict;
     QColor m_currentRangeBgColor;
     QColor m_currentRangeDiffBgColor;
+    QColor m_oldestFileColor;
+    QColor m_midAgeFileColor;
+    QColor m_newestFileColor;
+    QColor m_missingFileColor;
+    QColor m_manualHelpRangeColor;
 
     bool m_bWordWrap;
 
@@ -94,6 +110,14 @@
     bool m_bIgnoreComments;
     QString m_PreProcessorCmd;
     QString m_LineMatchingPreProcessorCmd;
+    bool m_bRunRegExpAutoMergeOnMergeStart;
+    QString m_autoMergeRegExp;
+    bool m_bRunHistoryAutoMergeOnMergeStart;
+    QString m_historyStartRegExp;
+    QString m_historyEntryStartRegExp;
+    bool m_bHistoryMergeSorting;
+    QString m_historyEntryStartSortKeyOrder;
+    QString m_IrrelevantMergeCmd;
 
     bool m_bAutoAdvance;
     int  m_autoAdvanceDelay;
@@ -116,17 +140,20 @@
     bool m_bDmTrustDate;
     bool m_bDmTrustSize;
     bool m_bDmCopyNewer;
-    bool m_bDmShowOnlyDeltas;
+    //bool m_bDmShowOnlyDeltas;
+    bool m_bDmShowIdenticalFiles;
     bool m_bDmUseCvsIgnore;
     bool m_bDmWhiteSpaceEqual;
+    bool m_bDmCaseSensitiveFilenameComparison;
     QString m_DmFilePattern;
     QString m_DmFileAntiPattern;
     QString m_DmDirAntiPattern;
 
     QString m_language;
     bool m_bRightToLeftLanguage;
-    //QString m_fileCodec;
-    
+
+    QString m_ignorableCmdLineOptions;
+
     void saveOptions(KConfig* config);
     void readOptions(KConfig* config);
 
@@ -139,22 +166,26 @@
     virtual void slotOk( void );
     virtual void slotApply( void );
     virtual void slotHelp( void );
-    
+
     void slotEncodingChanged();
+    void slotHistoryMergeRegExpTester();
 private:
     void resetToDefaults();
 
     std::list<OptionItem*> m_optionItemList;
 
-    // FontConfigDlg
-    KFontChooser *m_fontChooser;
-    
     OptionCheckBox* m_pSameEncoding;
     OptionEncodingComboBox* m_pEncodingAComboBox;
     OptionEncodingComboBox* m_pEncodingBComboBox;
     OptionEncodingComboBox* m_pEncodingCComboBox;
     OptionEncodingComboBox* m_pEncodingOutComboBox;
     OptionEncodingComboBox* m_pEncodingPPComboBox;
+    OptionCheckBox* m_pHistoryAutoMerge;
+    OptionLineEdit* m_pAutoMergeRegExpLineEdit;
+    OptionLineEdit* m_pHistoryStartRegExpLineEdit;
+    OptionLineEdit* m_pHistoryEntryStartRegExpLineEdit;
+    OptionCheckBox* m_pHistoryMergeSorting;
+    OptionLineEdit* m_pHistorySortKeyOrderLineEdit;
 
 private:
     void setupFontPage();
@@ -164,6 +195,7 @@
     void setupDirectoryMergePage();
     void setupKeysPage();
     void setupRegionalPage();
+    void setupIntegrationPage();
     void setupOtherOptions();
 };
 
--- a/kdiff3/src/pdiff.cpp	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/pdiff.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -1,9 +1,9 @@
 /***************************************************************************
                          pdiff.cpp  -  Implementation for class KDiff3App
                          ---------------
-    begin                : Mon M� 18 20:04:50 CET 2002
-    copyright            : (C) 2002-2004 by Joachim Eibl
-    email                : joachim.eibl@gmx.de
+    begin                : Mon March 18 20:04:50 CET 2002
+    copyright            : (C) 2002-2005 by Joachim Eibl
+    email                : joachim.eibl at gmx.de
  ***************************************************************************/
 
 /***************************************************************************
@@ -15,15 +15,16 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "diff.h"
+#include "difftextwindow.h"
+#include "mergeresultwindow.h"
 #include "directorymergewindow.h"
+#include "smalldialogs.h"
 
 #include <iostream>
 #include <algorithm>
 #include <ctype.h>
 #include <qaccel.h>
 
-#include <kfiledialog.h>
 #include <klocale.h>
 #include <kmessagebox.h>
 #include <kfontdialog.h>
@@ -33,17 +34,14 @@
 #include <qclipboard.h>
 #include <qscrollbar.h>
 #include <qlayout.h>
+#include <qcheckbox.h>
 #include <qsplitter.h>
-#include <qlabel.h>
-#include <qpushbutton.h>
-#include <qlineedit.h>
-#include <qcheckbox.h>
-#include <qcombobox.h>
 #include <qdir.h>
 #include <qfile.h>
 #include <qvbuttongroup.h>
-#include <qradiobutton.h>
 #include <qdragobject.h>
+#include <qlineedit.h>
+#include <qcombobox.h>
 #include <assert.h>
 
 #include "kdiff3.h"
@@ -57,9 +55,6 @@
 
 #include "gnudiff_diff.h"
 
-//using namespace std;
-
-int g_tabSize = 8;
 bool g_bIgnoreWhiteSpace = true;
 bool g_bIgnoreTrivialMatches = true;
 
@@ -72,12 +67,12 @@
    pp.setCurrent(0);
 
    diffList.clear();
-   if ( p1[0].pLine==0 || p2[0].pLine==0 )
+   if ( p1[0].pLine==0 || p2[0].pLine==0 || size1==0 || size2==0 )
    {
       Diff d( 0,0,0);
       if ( p1[0].pLine==0 && p2[0].pLine==0 && size1 == size2 )
          d.nofEquals = size1;
-      else 
+      else
       {
          d.diff1=size1;
          d.diff2=size2;
@@ -90,9 +85,9 @@
       GnuDiff::comparison comparisonInput;
       memset( &comparisonInput, 0, sizeof(comparisonInput) );
       comparisonInput.parent = 0;
-      comparisonInput.file[0].buffer = (word*)p1[0].pLine;//ptr to buffer
+      comparisonInput.file[0].buffer = p1[0].pLine;//ptr to buffer
       comparisonInput.file[0].buffered = (p1[size1-1].pLine-p1[0].pLine+p1[size1-1].size); // size of buffer
-      comparisonInput.file[1].buffer = (word*)p2[0].pLine;//ptr to buffer
+      comparisonInput.file[1].buffer = p2[0].pLine;//ptr to buffer
       comparisonInput.file[1].buffered = (p2[size2-1].pLine-p2[0].pLine+p2[size2-1].size); // size of buffer
 
       gnuDiff.ignore_white_space = GnuDiff::IGNORE_ALL_SPACE;  // I think nobody needs anything else ...
@@ -198,8 +193,49 @@
    return true;
 }
 
+bool KDiff3App::runDiff( const LineData* p1, int size1, const LineData* p2, int size2, DiffList& diffList,
+                         int winIdx1, int winIdx2 )
+{
+   diffList.clear();
+   DiffList diffList2;
 
-void KDiff3App::init( bool bAuto, TotalDiffStatus* pTotalDiffStatus )
+   int l1begin = 0;
+   int l2begin = 0;
+   ManualDiffHelpList::const_iterator i;
+   for( i = m_manualDiffHelpList.begin(); i!=m_manualDiffHelpList.end(); ++i )
+   {
+      const ManualDiffHelpEntry& mdhe = *i;
+
+      int l1end = winIdx1 == 1 ? mdhe.lineA1 : winIdx1==2 ? mdhe.lineB1 : mdhe.lineC1 ;
+      int l2end = winIdx2 == 1 ? mdhe.lineA1 : winIdx2==2 ? mdhe.lineB1 : mdhe.lineC1 ;
+
+      if ( l1end>=0 && l2end>=0 )
+      {
+         runDiff( p1+l1begin, l1end-l1begin, p2+l2begin, l2end-l2begin, diffList2 );
+         diffList.splice( diffList.end(), diffList2 );
+         l1begin = l1end;
+         l2begin = l2end;
+
+         l1end = winIdx1 == 1 ? mdhe.lineA2 : winIdx1==2 ? mdhe.lineB2 : mdhe.lineC2 ;
+         l2end = winIdx2 == 1 ? mdhe.lineA2 : winIdx2==2 ? mdhe.lineB2 : mdhe.lineC2 ;
+
+         if ( l1end>=0 && l2end>=0 )
+         {
+            ++l1end; // point to line after last selected line
+            ++l2end;
+            runDiff( p1+l1begin, l1end-l1begin, p2+l2begin, l2end-l2begin, diffList2 );
+            diffList.splice( diffList.end(), diffList2 );
+            l1begin = l1end;
+            l2begin = l2end;
+         }
+      }
+   }
+   runDiff( p1+l1begin, size1-l1begin, p2+l2begin, size2-l2begin, diffList2 );
+   diffList.splice( diffList.end(), diffList2 );
+   return true;
+}
+
+void KDiff3App::init( bool bAuto, TotalDiffStatus* pTotalDiffStatus, bool bLoadFiles )
 {
    ProgressProxy pp;
    // When doing a full analysis in the directory-comparison, then the statistics-results
@@ -214,9 +250,9 @@
    if ( bVisibleMergeResultWindow && bGUI )
    {
       bPreserveCarriageReturn = false;
-      
+
       QString msg;
-      
+
       if ( !m_pOptionDialog->m_PreProcessorCmd.isEmpty() )
       {
          msg += "- " + i18n("PreprocessorCmd: ") + m_pOptionDialog->m_PreProcessorCmd + "\n";
@@ -230,7 +266,7 @@
                                i18n("Option Unsafe for Merging"), 
                                i18n("Use These Options During Merge"), i18n("Disable Unsafe Options")
                                );
-                               
+
          if (result == KMessageBox::No )
          {
             m_pOptionDialog->m_PreProcessorCmd = "";
@@ -238,8 +274,6 @@
       }
    }
 
-   m_diff3LineList.clear();
-
    // Because of the progressdialog paintevents can occur, but data is invalid,
    // so painting must be suppressed.
    if (m_pDiffTextWindow1) m_pDiffTextWindow1->setPaintingAllowed( false );
@@ -248,20 +282,33 @@
    if (m_pOverview)        m_pOverview->setPaintingAllowed( false );
    if (m_pMergeResultWindow) m_pMergeResultWindow->setPaintingAllowed( false );
 
+   m_diff3LineList.clear();
 
-   if( m_sd3.isEmpty() )
-      pp.setMaxNofSteps( 4 );  // Read 2 files, 1 comparison, 1 finediff
+   if ( bLoadFiles )
+   {
+      m_manualDiffHelpList.clear();
+
+      if( m_sd3.isEmpty() )
+         pp.setMaxNofSteps( 4 );  // Read 2 files, 1 comparison, 1 finediff
+      else
+         pp.setMaxNofSteps( 9 );  // Read 3 files, 3 comparisons, 3 finediffs
+
+      // First get all input data.
+      pp.setInformation(i18n("Loading A"));
+      m_sd1.readAndPreprocess(m_pOptionDialog->m_pEncodingA);
+      pp.step();
+
+      pp.setInformation(i18n("Loading B"));
+      m_sd2.readAndPreprocess(m_pOptionDialog->m_pEncodingB);
+      pp.step();
+   }
    else
-      pp.setMaxNofSteps( 9 );  // Read 3 files, 3 comparisons, 3 finediffs
-
-   // First get all input data.
-   pp.setInformation(i18n("Loading A"));
-   m_sd1.readAndPreprocess(m_pOptionDialog->m_pEncodingA);
-   pp.step();
-
-   pp.setInformation(i18n("Loading B"));
-   m_sd2.readAndPreprocess(m_pOptionDialog->m_pEncodingB);
-   pp.step();
+   {
+      if( m_sd3.isEmpty() )
+         pp.setMaxNofSteps( 2 );  // 1 comparison, 1 finediff
+      else
+         pp.setMaxNofSteps( 6 );  // 3 comparisons, 3 finediffs
+   }
 
    pTotalDiffStatus->reset();
    // Run the diff.
@@ -269,8 +316,8 @@
    {
       pTotalDiffStatus->bBinaryAEqB = m_sd1.isBinaryEqualWith( m_sd2 );
       pp.setInformation(i18n("Diff: A <-> B"));
-      
-      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_diffList12 );
+
+      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_diffList12,1,2 );
 
       pp.step();
 
@@ -283,30 +330,35 @@
    }
    else
    {
-      pp.setInformation(i18n("Loading C"));
-      m_sd3.readAndPreprocess(m_pOptionDialog->m_pEncodingC);
-      pp.step();
+      if (bLoadFiles)
+      {
+         pp.setInformation(i18n("Loading C"));
+         m_sd3.readAndPreprocess(m_pOptionDialog->m_pEncodingC);
+         pp.step();
+      }
 
       pTotalDiffStatus->bBinaryAEqB = m_sd1.isBinaryEqualWith( m_sd2 );
       pTotalDiffStatus->bBinaryAEqC = m_sd1.isBinaryEqualWith( m_sd3 );
       pTotalDiffStatus->bBinaryBEqC = m_sd3.isBinaryEqualWith( m_sd2 );
 
       pp.setInformation(i18n("Diff: A <-> B"));
-      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_diffList12 );
+      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_diffList12,1,2 );
       pp.step();
       pp.setInformation(i18n("Diff: B <-> C"));
-      runDiff( m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList23 );
+      runDiff( m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList23,2,3 );
       pp.step();
       pp.setInformation(i18n("Diff: A <-> C"));
-      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList13 );
+      runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList13,1,3 );
       pp.step();
 
       calcDiff3LineListUsingAB( &m_diffList12, m_diff3LineList );
       calcDiff3LineListUsingAC( &m_diffList13, m_diff3LineList );
-      calcDiff3LineListTrim( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff() );
+      correctManualDiffAlignment( m_diff3LineList, &m_manualDiffHelpList );
+      calcDiff3LineListTrim( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff(), &m_manualDiffHelpList );
 
       calcDiff3LineListUsingBC( &m_diffList23, m_diff3LineList );
-      calcDiff3LineListTrim( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff() );
+      correctManualDiffAlignment( m_diff3LineList, &m_manualDiffHelpList );
+      calcDiff3LineListTrim( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff(), &m_manualDiffHelpList );
       debugLineCheck( m_diff3LineList, m_sd1.getSizeLines(), 1 );
       debugLineCheck( m_diff3LineList, m_sd2.getSizeLines(), 2 );
       debugLineCheck( m_diff3LineList, m_sd3.getSizeLines(), 3 );
@@ -323,6 +375,10 @@
       if ( m_sd1.getSizeBytes()==0 ) { pTotalDiffStatus->bTextAEqB=false;  pTotalDiffStatus->bTextAEqC=false; }
       if ( m_sd2.getSizeBytes()==0 ) { pTotalDiffStatus->bTextAEqB=false;  pTotalDiffStatus->bTextBEqC=false; }
    }
+   m_diffBufferInfo.init( &m_diff3LineList, &m_diff3LineVector,
+      m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(),
+      m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(),
+      m_sd3.getLineDataForDiff(), m_sd3.getSizeLines() );
    calcWhiteDiff3Lines( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff() );
    calcDiff3LineVector( m_diff3LineList, m_diff3LineVector );
 
@@ -341,37 +397,38 @@
 
    if ( bGUI )
    {
+      const ManualDiffHelpList* pMDHL = &m_manualDiffHelpList;
       m_pDiffTextWindow1->init( m_sd1.getAliasName(),
-         m_sd1.getLineDataForDisplay(), m_sd1.getSizeLines(), &m_diff3LineVector, 1, m_bTripleDiff );
+         m_sd1.getLineDataForDisplay(), m_sd1.getSizeLines(), &m_diff3LineVector, pMDHL, m_bTripleDiff );
       m_pDiffTextWindow2->init( m_sd2.getAliasName(),
-         m_sd2.getLineDataForDisplay(), m_sd2.getSizeLines(), &m_diff3LineVector, 2, m_bTripleDiff );
+         m_sd2.getLineDataForDisplay(), m_sd2.getSizeLines(), &m_diff3LineVector, pMDHL, m_bTripleDiff );
       m_pDiffTextWindow3->init( m_sd3.getAliasName(),
-         m_sd3.getLineDataForDisplay(), m_sd3.getSizeLines(), &m_diff3LineVector, 3, m_bTripleDiff );
-   
-      if (m_bTripleDiff) m_pDiffTextWindow3->show();
-      else               m_pDiffTextWindow3->hide();
+         m_sd3.getLineDataForDisplay(), m_sd3.getSizeLines(), &m_diff3LineVector, pMDHL, m_bTripleDiff );
+
+      if (m_bTripleDiff) m_pDiffTextWindowFrame3->show();
+      else               m_pDiffTextWindowFrame3->hide();
    }
 
    m_bOutputModified = bVisibleMergeResultWindow;
 
    m_pMergeResultWindow->init(
-      m_sd1.getLineDataForDisplay(),
-      m_sd2.getLineDataForDisplay(),
-      m_bTripleDiff ? m_sd3.getLineDataForDisplay() : 0,
+      m_sd1.getLineDataForDisplay(), m_sd1.getSizeLines(),
+      m_sd2.getLineDataForDisplay(), m_sd2.getSizeLines(),
+      m_bTripleDiff ? m_sd3.getLineDataForDisplay() : 0, m_sd3.getSizeLines(),
       &m_diff3LineList,
       pTotalDiffStatus,
       m_outputFilename.isEmpty() ? QString("unnamed.txt") : m_outputFilename
       );
-   
+
    if ( !bGUI ) 
    {
       // We now have all needed information. The rest below is only for GUI-activation.
-      m_sd1.reset();      
-      m_sd2.reset();      
-      m_sd3.reset();      
+      m_sd1.reset();
+      m_sd2.reset();
+      m_sd3.reset();
       return;
    }
-      
+
    m_pOverview->init(&m_diff3LineList, m_bTripleDiff );
    m_pDiffVScrollBar->setValue( 0 );
    m_pHScrollBar->setValue( 0 );
@@ -423,78 +480,57 @@
       }
       else if ( ! f3.isEmpty() ) 
          caption = ".../"+f3;
-         
+
       // 2. If the files don't have the same name then show all names
       if ( caption.isEmpty() && (!f1.isEmpty() || !f2.isEmpty() || !f3.isEmpty()) )
       {
          caption = ( f1.isEmpty()? QString("") : QString(".../")+f1 );
          caption += QString(caption.isEmpty() || f2.isEmpty() ? "" : " <-> ") + ( f2.isEmpty()? QString("") : QString(".../")+f2 );
          caption += QString(caption.isEmpty() || f3.isEmpty() ? "" : " <-> ") + ( f3.isEmpty()? QString("") : QString(".../")+f3 ) ;
-      }      
-      
+      }
+
       m_pKDiff3Shell->setCaption( caption.isEmpty() ? QString("KDiff3") : caption+QString(" - KDiff3"));
    }
-   
-   
-   if ( bVisibleMergeResultWindow && !bAuto )
-      m_pMergeResultWindow->showNrOfConflicts();
-   else if ( !bAuto && 
-      // Avoid showing this message during startup without parameters.
-      !( m_sd1.getAliasName().isEmpty() && m_sd2.getAliasName().isEmpty() && m_sd3.getAliasName().isEmpty() ) &&
-      ( m_sd1.isValid() && m_sd2.isValid() && m_sd3.isValid() )
-      )
+
+   if ( bLoadFiles )
    {
-      QString totalInfo;
-      if ( pTotalDiffStatus->bBinaryAEqB && pTotalDiffStatus->bBinaryAEqC )
-         totalInfo += i18n("All input files are binary equal.");
-      else  if ( pTotalDiffStatus->bTextAEqB && pTotalDiffStatus->bTextAEqC )
-         totalInfo += i18n("All input files contain the same text.");
-      else {
-         if    ( pTotalDiffStatus->bBinaryAEqB ) totalInfo += i18n("Files A and B are binary equal.\n");
-         else if ( pTotalDiffStatus->bTextAEqB ) totalInfo += i18n("Files A and B have equal text. \n");
-         if    ( pTotalDiffStatus->bBinaryAEqC ) totalInfo += i18n("Files A and C are binary equal.\n");
-         else if ( pTotalDiffStatus->bTextAEqC ) totalInfo += i18n("Files A and C have equal text. \n");
-         if    ( pTotalDiffStatus->bBinaryBEqC ) totalInfo += i18n("Files B and C are binary equal.\n");
-         else if ( pTotalDiffStatus->bTextBEqC ) totalInfo += i18n("Files B and C have equal text. \n");
+      if ( bVisibleMergeResultWindow && !bAuto )
+         m_pMergeResultWindow->showNrOfConflicts();
+      else if ( !bAuto && 
+         // Avoid showing this message during startup without parameters.
+         !( m_sd1.getAliasName().isEmpty() && m_sd2.getAliasName().isEmpty() && m_sd3.getAliasName().isEmpty() ) &&
+         ( m_sd1.isValid() && m_sd2.isValid() && m_sd3.isValid() )
+         )
+      {
+         QString totalInfo;
+         if ( pTotalDiffStatus->bBinaryAEqB && pTotalDiffStatus->bBinaryAEqC )
+            totalInfo += i18n("All input files are binary equal.");
+         else  if ( pTotalDiffStatus->bTextAEqB && pTotalDiffStatus->bTextAEqC )
+            totalInfo += i18n("All input files contain the same text, but are not binary equal.");
+         else {
+            if    ( pTotalDiffStatus->bBinaryAEqB ) totalInfo += i18n("Files %1 and %2 are binary equal.\n"                          ).arg("A").arg("B");
+            else if ( pTotalDiffStatus->bTextAEqB ) totalInfo += i18n("Files %1 and %2 have equal text, but are not binary equal. \n").arg("A").arg("B");
+            if    ( pTotalDiffStatus->bBinaryAEqC ) totalInfo += i18n("Files %1 and %2 are binary equal.\n"                          ).arg("A").arg("C");
+            else if ( pTotalDiffStatus->bTextAEqC ) totalInfo += i18n("Files %1 and %2 have equal text, but are not binary equal. \n").arg("A").arg("C");
+            if    ( pTotalDiffStatus->bBinaryBEqC ) totalInfo += i18n("Files %1 and %2 are binary equal.\n"                          ).arg("B").arg("C");
+            else if ( pTotalDiffStatus->bTextBEqC ) totalInfo += i18n("Files %1 and %2 have equal text, but are not binary equal. \n").arg("B").arg("C");
+         }
+
+         if ( !totalInfo.isEmpty() )
+            KMessageBox::information( this, totalInfo );
       }
 
-      if ( !totalInfo.isEmpty() )
-         KMessageBox::information( this, totalInfo );
-   }
-
-   if ( bVisibleMergeResultWindow && (!m_sd1.isText() || !m_sd2.isText() || !m_sd3.isText()) )
-   {
-      KMessageBox::information( this, i18n(
-         "Some inputfiles don't seem to be pure textfiles.\n"
-         "Note that the KDiff3-merge was not meant for binary data.\n"
-         "Continue at your own risk.") );
-/*      QDialog d(this);
-      QVBoxLayout* l = new QVBoxLayout(&d);
-      QVButtonGroup* bg = new QVButtonGroup(i18n("Some File(s) Don't Seem to be Text Files"),&d);
-      l->addWidget(bg);
-      new QRadioButton("A: " + m_sd1.getAliasName(), bg);
-      new QRadioButton("B: " + m_sd2.getAliasName(), bg);
-      if (!m_sd3.isEmpty()) new QRadioButton("C: " + m_sd3.getAliasName(), bg);
-      bg->setButton(0);
-      QHBoxLayout* hbl = new QHBoxLayout(l);
-      QPushButton* pSaveButton = new QPushButton( i18n("Save Selection"), &d );
-      connect( pSaveButton, SIGNAL(clicked()), &d, SLOT(accept()));
-      hbl->addWidget( pSaveButton );
-      QPushButton* pProceedButton = new QPushButton( i18n("Proceed with Text-Merge"), &d );
-      connect( pProceedButton, SIGNAL(clicked()), &d, SLOT(reject()));
-      hbl->addWidget( pProceedButton );
-
-      int result = d.exec();
-      if( result == QDialog::Accepted )
+      if ( bVisibleMergeResultWindow && (!m_sd1.isText() || !m_sd2.isText() || !m_sd3.isText()) )
       {
-         if      ( bg->find(0)->isOn() ) saveBuffer( m_sd1.m_pBuf, m_sd1.m_size, m_outputFilename );
-         else if ( bg->find(1)->isOn() ) saveBuffer( m_sd2.m_pBuf, m_sd2.m_size, m_outputFilename );
-         else                            saveBuffer( m_sd3.m_pBuf, m_sd3.m_size, m_outputFilename );
-      }*/
+         KMessageBox::information( this, i18n(
+            "Some inputfiles don't seem to be pure textfiles.\n"
+            "Note that the KDiff3-merge was not meant for binary data.\n"
+            "Continue at your own risk.") );
+      }
    }
 
    QTimer::singleShot( 10, this, SLOT(slotAfterFirstPaint()) );
-   
+
    if ( bVisibleMergeResultWindow && m_pMergeResultWindow )
    {
       m_pMergeResultWindow->setFocus();
@@ -503,15 +539,15 @@
    {
       m_pDiffTextWindow1->setFocus();
    }
-   
 }
 
 
 void KDiff3App::resizeDiffTextWindow(int newWidth, int newHeight)
 {
+   m_DTWHeight = newHeight;
+
    recalcWordWrap();
 
-   m_DTWHeight = newHeight;
    m_pDiffVScrollBar->setRange(0, max2(0, m_neededLines+1 - newHeight) );
    m_pDiffVScrollBar->setPageStep( newHeight );
    m_pOverview->setRange( m_pDiffVScrollBar->value(), m_pDiffVScrollBar->pageStep() );
@@ -541,7 +577,7 @@
       m_pOverview->setRange( m_pDiffVScrollBar->value(), m_pDiffVScrollBar->pageStep() );
    }
    if ( deltaX!= 0)
-      m_pHScrollBar->setValue( m_pHScrollBar->value() + deltaX );
+      m_pHScrollBar->QScrollBar::setValue( m_pHScrollBar->value() + deltaX );
 }
 
 void KDiff3App::scrollMergeResultWindow( int deltaX, int deltaY )
@@ -593,22 +629,19 @@
       return;
       //delete m_pMainWidget;
    }
-   m_pMainWidget = new QFrame(m_pMainSplitter);
-   m_pMainWidget->setFrameStyle( QFrame::Panel | QFrame::Sunken );
-   m_pMainWidget->setLineWidth(1);
+   m_pMainWidget = new QWidget(m_pMainSplitter);
 
-
-   QVBoxLayout* pVLayout = new QVBoxLayout(m_pMainWidget);
+   QVBoxLayout* pVLayout = new QVBoxLayout(m_pMainWidget,0,0);
 
    QSplitter* pVSplitter = new QSplitter( m_pMainWidget );
-   pVSplitter->setOrientation( Vertical );
+   pVSplitter->setOrientation( Qt::Vertical );
    pVLayout->addWidget( pVSplitter );
 
-   QWidget* pDiffWindowFrame = new QFrame( pVSplitter );
-   QHBoxLayout* pDiffHLayout = new QHBoxLayout( pDiffWindowFrame );
+   QWidget* pDiffWindowFrame = new QWidget( pVSplitter );
+   QHBoxLayout* pDiffHLayout = new QHBoxLayout( pDiffWindowFrame,0,0 );
 
    m_pDiffWindowSplitter = new QSplitter( pDiffWindowFrame );
-   m_pDiffWindowSplitter->setOrientation( m_pOptionDialog->m_bHorizDiffWindowSplitting ?  Horizontal : Vertical );
+   m_pDiffWindowSplitter->setOrientation( m_pOptionDialog->m_bHorizDiffWindowSplitting ?  Qt::Horizontal : Qt::Vertical );
    pDiffHLayout->addWidget( m_pDiffWindowSplitter );
 
    m_pOverview = new Overview( pDiffWindowFrame, m_pOptionDialog );
@@ -616,21 +649,27 @@
    connect( m_pOverview, SIGNAL(setLine(int)), this, SLOT(setDiff3Line(int)) );
    //connect( m_pOverview, SIGNAL(afterFirstPaint()), this, SLOT(slotAfterFirstPaint()));
 
-   m_pDiffVScrollBar = new QScrollBar( Vertical, pDiffWindowFrame );
+   m_pDiffVScrollBar = new QScrollBar( Qt::Vertical, pDiffWindowFrame );
    pDiffHLayout->addWidget( m_pDiffVScrollBar );
 
-   m_pDiffTextWindow1 = new DiffTextWindow( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog );
-   m_pDiffTextWindow2 = new DiffTextWindow( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog );
-   m_pDiffTextWindow3 = new DiffTextWindow( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog );
+   m_pDiffTextWindowFrame1 = new DiffTextWindowFrame( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog, 1 );
+   m_pDiffTextWindowFrame2 = new DiffTextWindowFrame( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog, 2 );
+   m_pDiffTextWindowFrame3 = new DiffTextWindowFrame( m_pDiffWindowSplitter, statusBar(), m_pOptionDialog, 3 );
+   m_pDiffTextWindow1 = m_pDiffTextWindowFrame1->getDiffTextWindow();
+   m_pDiffTextWindow2 = m_pDiffTextWindowFrame2->getDiffTextWindow();
+   m_pDiffTextWindow3 = m_pDiffTextWindowFrame3->getDiffTextWindow();
+   connect(m_pDiffTextWindowFrame1, SIGNAL(fileNameChanged(const QString&,int)), this, SLOT(slotFileNameChanged(const QString&,int)));
+   connect(m_pDiffTextWindowFrame2, SIGNAL(fileNameChanged(const QString&,int)), this, SLOT(slotFileNameChanged(const QString&,int)));
+   connect(m_pDiffTextWindowFrame3, SIGNAL(fileNameChanged(const QString&,int)), this, SLOT(slotFileNameChanged(const QString&,int)));
 
    // Merge window
-   m_pMergeWindowFrame = new QFrame( pVSplitter );
-   QHBoxLayout* pMergeHLayout = new QHBoxLayout( m_pMergeWindowFrame );
+   m_pMergeWindowFrame = new QWidget( pVSplitter );
+   QHBoxLayout* pMergeHLayout = new QHBoxLayout( m_pMergeWindowFrame,0,0 );
 
    m_pMergeResultWindow = new MergeResultWindow( m_pMergeWindowFrame, m_pOptionDialog, statusBar() );
    pMergeHLayout->addWidget( m_pMergeResultWindow );
 
-   m_pMergeVScrollBar = new QScrollBar( Vertical, m_pMergeWindowFrame );
+   m_pMergeVScrollBar = new QScrollBar( Qt::Vertical, m_pMergeWindowFrame );
    pMergeHLayout->addWidget( m_pMergeVScrollBar );
 
    autoAdvance->setEnabled(true);
@@ -643,7 +682,7 @@
    m_pMergeResultWindow->installEventFilter( this );       // for Cut/Copy/Paste-shortcuts
 
    QHBoxLayout* pHScrollBarLayout = new QHBoxLayout( pVLayout );
-   m_pHScrollBar = new ReversibleScrollBar( Horizontal, m_pMainWidget, &m_pOptionDialog->m_bRightToLeftLanguage );
+   m_pHScrollBar = new ReversibleScrollBar( Qt::Horizontal, m_pMainWidget, &m_pOptionDialog->m_bRightToLeftLanguage );
    pHScrollBarLayout->addWidget( m_pHScrollBar );
    m_pCornerWidget = new QWidget( m_pMainWidget );
    pHScrollBarLayout->addWidget( m_pCornerWidget );
@@ -671,6 +710,7 @@
    connect( m_pDiffTextWindow3, SIGNAL(scroll(int,int)), this, SLOT(scrollDiffTextWindow(int,int)));
    m_pDiffTextWindow3->installEventFilter( this );
 
+
    MergeResultWindow* p = m_pMergeResultWindow;
    connect( m_pMergeVScrollBar, SIGNAL(valueChanged(int)), p, SLOT(setFirstLine(int)));
 
@@ -683,6 +723,7 @@
    connect( p, SIGNAL( modified() ), this, SLOT( slotOutputModified() ) );
    connect( p, SIGNAL( updateAvailabilities() ), this, SLOT( slotUpdateAvailabilities() ) );
    connect( p, SIGNAL( showPopupMenu(const QPoint&) ), this, SLOT(showPopupMenu(const QPoint&)));
+   connect( p, SIGNAL( noRelevantChangesDetected() ), this, SLOT(slotNoRelevantChangesDetected()));
    sourceMask(0,0);
 
 
@@ -699,8 +740,8 @@
 
    connect( m_pDiffTextWindow1, SIGNAL( resizeSignal(int,int) ),this, SLOT(resizeDiffTextWindow(int,int)));
    // The following two connects cause the wordwrap to be recalced thrice, just to make sure. Better than forgetting one.
-   connect( m_pDiffTextWindow2, SIGNAL( resizeSignal(int,int) ),this, SLOT(recalcWordWrap()));
-   connect( m_pDiffTextWindow3, SIGNAL( resizeSignal(int,int) ),this, SLOT(recalcWordWrap()));
+   connect( m_pDiffTextWindow2, SIGNAL( resizeSignal(int,int) ),this, SLOT(slotRecalcWordWrap()));
+   connect( m_pDiffTextWindow3, SIGNAL( resizeSignal(int,int) ),this, SLOT(slotRecalcWordWrap()));
 
    m_pDiffTextWindow1->setFocus();
    m_pMainWidget->setMinimumSize(50,50);
@@ -723,12 +764,28 @@
    showWindowC->setChecked( true );
 }
 
+static int calcManualDiffFirstDiff3LineIdx( const Diff3LineVector& d3lv, const ManualDiffHelpEntry& mdhe )
+{
+   unsigned int i;
+   for( i = 0; i<d3lv.size(); ++i )
+   {
+      const Diff3Line& d3l = *d3lv[i];
+      if ( mdhe.lineA1>=0  &&  mdhe.lineA1==d3l.lineA ||
+           mdhe.lineB1>=0  &&  mdhe.lineB1==d3l.lineB ||
+           mdhe.lineC1>=0  &&  mdhe.lineC1==d3l.lineC )
+         return i;
+   }
+   return -1;
+}
+
 void KDiff3App::slotAfterFirstPaint()
 {
-   recalcWordWrap();
    int newHeight = m_pDiffTextWindow1->getNofVisibleLines();
    int newWidth  = m_pDiffTextWindow1->getNofVisibleColumns();
    m_DTWHeight = newHeight;
+
+   recalcWordWrap();
+
    m_pDiffVScrollBar->setRange(0, max2(0, m_neededLines+1 - newHeight) );
    m_pDiffVScrollBar->setPageStep( newHeight );
    m_pOverview->setRange( m_pDiffVScrollBar->value(), m_pDiffVScrollBar->pageStep() );
@@ -737,7 +794,18 @@
    m_pHScrollBar->setRange(0, max2(0, m_maxWidth - newWidth) );
    m_pHScrollBar->setPageStep( newWidth );
 
-   m_pMergeResultWindow->slotGoTop();
+   int d3l=-1;
+   if ( ! m_manualDiffHelpList.empty() )
+      d3l = calcManualDiffFirstDiff3LineIdx( m_diff3LineVector, m_manualDiffHelpList.front() );
+   if ( d3l>=0 && m_pDiffTextWindow1 )
+   {
+      int line = m_pDiffTextWindow1->convertDiff3LineIdxToLine( d3l );
+      m_pDiffVScrollBar->setValue( max2(0,line-1) );
+   }
+   else
+   {
+      m_pMergeResultWindow->slotGoTop();
+   }
 
    if (m_pCornerWidget)
       m_pCornerWidget->setFixedSize( m_pDiffVScrollBar->width(), m_pHScrollBar->height() );
@@ -799,16 +867,16 @@
        int pageSize =  m_DTWHeight;
        switch( k->key() )
        {
-       case Key_Down:   ++deltaY; break;
-       case Key_Up:     --deltaY; break;
-       case Key_PageDown: if (!bCtrl) deltaY+=pageSize; break;
-       case Key_PageUp:   if (!bCtrl) deltaY-=pageSize; break;
-       case Key_Left:     --deltaX;  break;
-       case Key_Right:    ++deltaX;  break;
-       case Key_Home: if ( bCtrl )  m_pDiffVScrollBar->setValue( 0 );
+       case Qt::Key_Down:     if (!bCtrl) ++deltaY; break;
+       case Qt::Key_Up:       if (!bCtrl) --deltaY; break;
+       case Qt::Key_PageDown: if (!bCtrl) deltaY+=pageSize; break;
+       case Qt::Key_PageUp:   if (!bCtrl) deltaY-=pageSize; break;
+       case Qt::Key_Left:     if (!bCtrl) --deltaX;  break;
+       case Qt::Key_Right:    if (!bCtrl) ++deltaX;  break;
+       case Qt::Key_Home: if ( bCtrl )  m_pDiffVScrollBar->setValue( 0 );
                       else          m_pHScrollBar->setValue( 0 );
                       break;
-       case Key_End:  if ( bCtrl )  m_pDiffVScrollBar->setValue( m_pDiffVScrollBar->maxValue() );
+       case Qt::Key_End:  if ( bCtrl )  m_pDiffVScrollBar->setValue( m_pDiffVScrollBar->maxValue() );
                       else          m_pHScrollBar->setValue( m_pHScrollBar->maxValue() );
                       break;
        default: break;
@@ -885,230 +953,6 @@
 
 
 
-OpenDialog::OpenDialog(
-   QWidget* pParent, const QString& n1, const QString& n2, const QString& n3,
-   bool bMerge, const QString& outputName, const char* slotConfigure, OptionDialog* pOptions )
-: QDialog( pParent, "OpenDialog", true /*modal*/ )
-{
-   m_pOptions = pOptions;
-
-   QVBoxLayout* v = new QVBoxLayout( this, 5 );
-   QGridLayout* h = new QGridLayout( v, 5, 4, 5 );
-   h->setColStretch( 1, 10 );
-
-   QLabel* label  = new QLabel( i18n("A (Base):"), this );
-
-   m_lineA = new QComboBox( true, this );
-   m_lineA->insertStringList( m_pOptions->m_recentAFiles );
-   m_lineA->setEditText( KURL(n1).prettyURL() );
-   m_lineA->setMinimumSize( 200, m_lineA->size().height() );
-   QPushButton * button = new QPushButton( i18n("File..."), this );
-   connect( button, SIGNAL(clicked()), this, SLOT( selectFileA() ) );
-   QPushButton * button2 = new QPushButton( i18n("Dir..."), this );
-   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirA() ) );
-   connect( m_lineA, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
-
-   h->addWidget( label,    0, 0 );
-   h->addWidget( m_lineA,  0, 1 );
-   h->addWidget( button,   0, 2 );
-   h->addWidget( button2,  0, 3 );
-
-   label    = new QLabel( "B:", this );
-   m_lineB  = new QComboBox( true, this );
-   m_lineB->insertStringList( m_pOptions->m_recentBFiles );
-   m_lineB->setEditText( KURL(n2).prettyURL() );
-   m_lineB->setMinimumSize( 200, m_lineB->size().height() );
-   button   = new QPushButton( i18n("File..."), this );
-   connect( button, SIGNAL(clicked()), this, SLOT( selectFileB() ) );
-   button2   = new QPushButton( i18n("Dir..."), this );
-   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirB() ) );
-   connect( m_lineB, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
-
-   h->addWidget( label,     1, 0 );
-   h->addWidget( m_lineB,   1, 1 );
-   h->addWidget( button,    1, 2 );
-   h->addWidget( button2,   1, 3 );
-
-   label  = new QLabel( i18n("C (Optional):"), this );
-   m_lineC= new QComboBox( true, this );
-   m_lineC->insertStringList( m_pOptions->m_recentCFiles );
-   m_lineC->setEditText( KURL(n3).prettyURL() );
-   m_lineC->setMinimumSize( 200, m_lineC->size().height() );
-   button = new QPushButton( i18n("File..."), this );
-   connect( button, SIGNAL(clicked()), this, SLOT( selectFileC() ) );
-   button2   = new QPushButton( i18n("Dir..."), this );
-   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirC() ) );
-   connect( m_lineC, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
-
-   h->addWidget( label,     2, 0 );
-   h->addWidget( m_lineC,   2, 1 );
-   h->addWidget( button,    2, 2 );
-   h->addWidget( button2,   2, 3 );
-
-   m_pMerge = new QCheckBox( i18n("Merge"), this );
-   h->addWidget( m_pMerge, 3, 0 );
-
-   label  = new QLabel( i18n("Output (optional):"), this );
-   m_lineOut = new QComboBox( true, this );
-   m_lineOut->insertStringList( m_pOptions->m_recentOutputFiles );
-   m_lineOut->setEditText( KURL(outputName).prettyURL() );
-   m_lineOut->setMinimumSize( 200, m_lineOut->size().height() );
-   button = new QPushButton( i18n("File..."), this );
-   connect( button, SIGNAL(clicked()), this, SLOT( selectOutputName() ) );
-   button2   = new QPushButton( i18n("Dir..."), this );
-   connect( button2, SIGNAL(clicked()), this, SLOT( selectOutputDir() ) );
-   connect( m_pMerge, SIGNAL(stateChanged(int)), this, SLOT(internalSlot(int)) );
-   connect( this, SIGNAL(internalSignal(bool)), m_lineOut, SLOT(setEnabled(bool)) );
-   connect( this, SIGNAL(internalSignal(bool)), button, SLOT(setEnabled(bool)) );
-   connect( this, SIGNAL(internalSignal(bool)), button2, SLOT(setEnabled(bool)) );
-
-   m_pMerge->setChecked( !bMerge );
-   m_pMerge->setChecked( bMerge );
-//   m_lineOutput->setEnabled( bMerge );
-
-//   button->setEnabled( bMerge );
-
-   h->addWidget( label,          4, 0 );
-   h->addWidget( m_lineOut,      4, 1 );
-   h->addWidget( button,         4, 2 );
-   h->addWidget( button2,        4, 3 );
-
-   h->addColSpacing( 1, 200 );
-
-   QHBoxLayout* l = new QHBoxLayout( v, 5 );
-
-   button = new QPushButton( i18n("Configure..."), this );
-   connect( button, SIGNAL(clicked()), pParent, slotConfigure );
-   l->addWidget( button, 1 );
-
-   l->addStretch(1);
-
-   button = new QPushButton( i18n("&OK"), this );
-   button->setDefault( true );
-   connect( button, SIGNAL(clicked()), this, SLOT( accept() ) );
-   l->addWidget( button, 1 );
-
-   button = new QPushButton( i18n("&Cancel"), this );
-   connect( button, SIGNAL(clicked()), this, SLOT( reject() ) );
-   l->addWidget( button,1 );
-
-   QSize sh = sizeHint();
-   setFixedHeight( sh.height() );
-   m_bInputFileNameChanged = false;
-
-#ifdef KREPLACEMENTS_H
-   m_lineA->lineEdit()->installEventFilter( this );
-   m_lineB->lineEdit()->installEventFilter( this );
-   m_lineC->lineEdit()->installEventFilter( this );
-   m_lineOut->lineEdit()->installEventFilter( this );
-#endif
-}
-
-// Eventfilter: Only needed under Windows.
-// Without this, files dropped in the line edit have URL-encoding.
-// This eventfilter decodes the filenames as needed by KDiff3.
-bool OpenDialog::eventFilter(QObject* o, QEvent* e)
-{
-   if (e->type()==QEvent::Drop)
-   {
-      QDropEvent* d = static_cast<QDropEvent*>(e);
-
-      if ( !QUriDrag::canDecode( d ) ) {
-         return false;
-      }
-
-      QStringList lst;
-      QUriDrag::decodeLocalFiles( d, lst );
-
-      if ( lst.count() > 0 )
-      {
-         static_cast<QLineEdit*>(o)->setText( lst[0] );
-         static_cast<QLineEdit*>(o)->setFocus();
-      }
-       
-      return true;
-   }
-   return false;
-}
-
-
-void OpenDialog::selectURL( QComboBox* pLine, bool bDir, int i, bool bSave )
-{
-   QString current = pLine->currentText();
-   if (current.isEmpty() && i>3 ){  current = m_lineC->currentText(); }
-   if (current.isEmpty()        ){  current = m_lineB->currentText(); }
-   if (current.isEmpty()        ){  current = m_lineA->currentText(); }
-   KURL newURL = bDir ? KFileDialog::getExistingURL( current, this)
-                      : bSave ? KFileDialog::getSaveURL( current, 0, this)
-                              : KFileDialog::getOpenURL( current, 0, this);
-   if ( !newURL.isEmpty() )
-   {
-      pLine->setEditText( newURL.url() );
-   }
-   // newURL won't be modified if nothing was selected.
-}
-
-void OpenDialog::selectFileA()     {  selectURL( m_lineA,    false, 1, false );  }
-void OpenDialog::selectFileB()     {  selectURL( m_lineB,    false, 2, false );  }
-void OpenDialog::selectFileC()     {  selectURL( m_lineC,    false, 3, false );  }
-void OpenDialog::selectOutputName(){  selectURL( m_lineOut,  false, 4, true );  }
-void OpenDialog::selectDirA()      {  selectURL( m_lineA,    true,  1, false );  }
-void OpenDialog::selectDirB()      {  selectURL( m_lineB,    true,  2, false );  }
-void OpenDialog::selectDirC()      {  selectURL( m_lineC,    true,  3, false );  }
-void OpenDialog::selectOutputDir() {  selectURL( m_lineOut,  true,  4, true );  }
-
-void OpenDialog::internalSlot(int i)
-{
-   emit internalSignal(i!=0);
-}
-
-// Clear the output-filename when any input-filename changed, 
-// because users forgot to change the output and accidently overwrote it with
-// wrong data during a merge.
-void OpenDialog::inputFilenameChanged()
-{   
-   if(!m_bInputFileNameChanged)
-   {
-      m_bInputFileNameChanged=true;
-      m_lineOut->clearEdit();
-   }
-}
-
-void OpenDialog::accept()
-{
-   unsigned int maxNofRecentFiles = 10;
-
-   QString s = m_lineA->currentText();
-   s = KURL::fromPathOrURL(s).prettyURL();
-   QStringList* sl = &m_pOptions->m_recentAFiles;
-   // If an item exist, remove it from the list and reinsert it at the beginning.
-   sl->remove(s);
-   if ( !s.isEmpty() ) sl->prepend( s );
-   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
-
-   s = m_lineB->currentText();
-   s = KURL::fromPathOrURL(s).prettyURL();
-   sl = &m_pOptions->m_recentBFiles;
-   sl->remove(s);
-   if ( !s.isEmpty() ) sl->prepend( s );
-   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
-
-   s = m_lineC->currentText();
-   s = KURL::fromPathOrURL(s).prettyURL();
-   sl = &m_pOptions->m_recentCFiles;
-   sl->remove(s);
-   if ( !s.isEmpty() ) sl->prepend( s );
-   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
-
-   s = m_lineOut->currentText();
-   s = KURL::fromPathOrURL(s).prettyURL();
-   sl = &m_pOptions->m_recentOutputFiles;
-   sl->remove(s);
-   if ( !s.isEmpty() ) sl->prepend( s );
-   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
-
-   QDialog::accept();
-}
 
 void KDiff3App::slotFileOpen()
 {
@@ -1138,30 +982,30 @@
       int status = d.exec();
       if ( status == QDialog::Accepted )
       {
-         m_sd1.setFilename( d.m_lineA->currentText() );
-         m_sd2.setFilename( d.m_lineB->currentText() );
-         m_sd3.setFilename( d.m_lineC->currentText() );
+         m_sd1.setFilename( d.m_pLineA->currentText() );
+         m_sd2.setFilename( d.m_pLineB->currentText() );
+         m_sd3.setFilename( d.m_pLineC->currentText() );
 
          if( d.m_pMerge->isChecked() )
          {
-            if ( d.m_lineOut->currentText().isEmpty() )
+            if ( d.m_pLineOut->currentText().isEmpty() )
             {
                m_outputFilename = "unnamed.txt";
                m_bDefaultFilename = true;
             }
             else
             {
-               m_outputFilename = d.m_lineOut->currentText();
+               m_outputFilename = d.m_pLineOut->currentText();
                m_bDefaultFilename = false;
             }
          }
          else
             m_outputFilename = "";
 
-         bool bSuccess = improveFilenames();
+         bool bSuccess = improveFilenames(false);
          if ( !bSuccess )
             continue;
-            
+
          if ( m_bDirCompare )
          {
             m_pDirectoryMergeSplitter->show();
@@ -1234,7 +1078,7 @@
    }
 
    bool bDirCompare = m_bDirCompare;
-   improveFilenames();
+   improveFilenames(true);  // Create new window for KDiff3 for directory comparison.
 
    if( m_bDirCompare )
    {
@@ -1246,7 +1090,7 @@
 
       if ( pTotalDiffStatus!=0 )
          return;
-      
+
       if ( ! m_sd1.isEmpty() && ! m_sd1.hasData()  ||
            ! m_sd2.isEmpty() && ! m_sd2.hasData()  ||
            ! m_sd3.isEmpty() && ! m_sd3.hasData() )
@@ -1273,6 +1117,23 @@
    slotStatusMsg(i18n("Ready."));
 }
 
+
+void KDiff3App::slotFileNameChanged(const QString& fileName, int winIdx)
+{
+   QString fn1 = m_sd1.getFilename();
+   QString an1 = m_sd1.getAliasName();
+   QString fn2 = m_sd2.getFilename();
+   QString an2 = m_sd2.getAliasName();
+   QString fn3 = m_sd3.getFilename();
+   QString an3 = m_sd3.getAliasName();
+   if (winIdx==1) { fn1 = fileName; an1 = ""; }
+   if (winIdx==2) { fn2 = fileName; an2 = ""; }
+   if (winIdx==3) { fn3 = fileName; an3 = ""; }
+
+   slotFileOpen2( fn1, fn2, fn3, m_outputFilename, an1, an2, an3, 0 );
+}
+
+
 void KDiff3App::slotEditCut()
 {
    slotStatusMsg(i18n("Cutting selection..."));
@@ -1340,6 +1201,16 @@
    slotStatusMsg(i18n("Ready."));
 }
 
+void KDiff3App::slotEditSelectAll()
+{
+   int l=0,p=0; // needed as dummy return values
+   if  ( m_pMergeResultWindow && m_pMergeResultWindow->hasFocus() ) { m_pMergeResultWindow->setSelection( 0,0,m_pMergeResultWindow->getNofLines(),0); }
+   else if ( m_pDiffTextWindow1 && m_pDiffTextWindow1->hasFocus() ) { m_pDiffTextWindow1  ->setSelection( 0,0,m_pDiffTextWindow1->getNofLines(),0,l,p);   }
+   else if ( m_pDiffTextWindow2 && m_pDiffTextWindow2->hasFocus() ) { m_pDiffTextWindow2  ->setSelection( 0,0,m_pDiffTextWindow2->getNofLines(),0,l,p);   }
+   else if ( m_pDiffTextWindow3 && m_pDiffTextWindow3->hasFocus() ) { m_pDiffTextWindow3  ->setSelection( 0,0,m_pDiffTextWindow3->getNofLines(),0,l,p);   }
+
+   slotStatusMsg(i18n("Ready."));
+}
 
 void KDiff3App::slotGoCurrent()
 {
@@ -1449,6 +1320,53 @@
    }
 }
 
+void KDiff3App::slotMergeHistory()
+{
+   if (m_pMergeResultWindow )
+   {
+      m_pMergeResultWindow->slotMergeHistory();
+   }
+}
+
+void KDiff3App::slotRegExpAutoMerge()
+{
+   if (m_pMergeResultWindow )
+   {
+      m_pMergeResultWindow->slotRegExpAutoMerge();
+   }
+}
+
+void KDiff3App::slotSplitDiff()
+{
+   int firstLine = -1;
+   int lastLine = -1;
+   DiffTextWindow* pDTW=0;
+   if (                m_pDiffTextWindow1 ) { pDTW=m_pDiffTextWindow1; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( firstLine<0 && m_pDiffTextWindow2 ) { pDTW=m_pDiffTextWindow2; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( firstLine<0 && m_pDiffTextWindow3 ) { pDTW=m_pDiffTextWindow3; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( pDTW && firstLine>=0 && m_pMergeResultWindow)
+   {
+      pDTW->resetSelection();
+
+      m_pMergeResultWindow->slotSplitDiff( firstLine, lastLine );
+   }
+}
+
+void KDiff3App::slotJoinDiffs()
+{
+   int firstLine = -1;
+   int lastLine = -1;
+   DiffTextWindow* pDTW=0;
+   if (                m_pDiffTextWindow1 ) { pDTW=m_pDiffTextWindow1; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( firstLine<0 && m_pDiffTextWindow2 ) { pDTW=m_pDiffTextWindow2; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( firstLine<0 && m_pDiffTextWindow3 ) { pDTW=m_pDiffTextWindow3; pDTW->getSelectionRange(&firstLine, &lastLine, eD3LLineCoords); }
+   if ( pDTW && firstLine>=0 && m_pMergeResultWindow)
+   {
+      pDTW->resetSelection();
+
+      m_pMergeResultWindow->slotJoinDiffs( firstLine, lastLine );
+   }
+}
 
 void KDiff3App::slotConfigure()
 {
@@ -1465,7 +1383,6 @@
 
 void KDiff3App::slotRefresh()
 {
-   g_tabSize = m_pOptionDialog->m_tabSize;
    if (m_pDiffTextWindow1!=0)
    {
       m_pDiffTextWindow1->setFont(m_pOptionDialog->m_font);
@@ -1492,7 +1409,11 @@
    }
    if ( m_pDiffWindowSplitter!=0 )
    {
-       m_pDiffWindowSplitter->setOrientation( m_pOptionDialog->m_bHorizDiffWindowSplitting ? Horizontal : Vertical );
+      m_pDiffWindowSplitter->setOrientation( m_pOptionDialog->m_bHorizDiffWindowSplitting ? Qt::Horizontal : Qt::Vertical );
+   }
+   if ( m_pDirectoryMergeWindow )
+   {
+      m_pDirectoryMergeWindow->updateFileVisibilities();
    }
 }
 
@@ -1522,7 +1443,7 @@
        QClipboard *clipBoard = QApplication::clipboard();
 
        if (clipBoard->supportsSelection ())
-       {           
+       {
            QString s;
            if (               m_pDiffTextWindow1!=0 )   s = m_pDiffTextWindow1->getSelection();
            if ( s.isNull() && m_pDiffTextWindow2!=0 )   s = m_pDiffTextWindow2->getSelection();
@@ -1562,8 +1483,14 @@
    recalcWordWrap();
 }
 
-void KDiff3App::recalcWordWrap()
+void KDiff3App::slotRecalcWordWrap()
 {
+   recalcWordWrap();
+}
+
+void KDiff3App::recalcWordWrap(int nofVisibleColumns) // nofVisibleColumns is >=0 only for printing, otherwise the really visible width is used
+{
+   bool bPrinting = nofVisibleColumns>=0;
    int firstD3LIdx = 0;
    if( m_pDiffTextWindow1 ) 
       firstD3LIdx = m_pDiffTextWindow1->convertLineToDiff3LineIdx( m_pDiffTextWindow1->getFirstLine() );
@@ -1575,10 +1502,10 @@
       m_pDiffTextWindow2->convertSelectionToD3LCoords();
    if ( m_pDiffTextWindow3 )
       m_pDiffTextWindow3->convertSelectionToD3LCoords();
-      
-      
+
+
    if ( !m_diff3LineList.empty() && m_pOptionDialog->m_bWordWrap )
-   {      
+   {
       Diff3LineList::iterator i;
       int sumOfLines=0;
       for ( i=m_diff3LineList.begin(); i!=m_diff3LineList.end(); ++i )
@@ -1588,15 +1515,15 @@
          d3l.sumLinesNeededForDisplay = sumOfLines;
          sumOfLines += d3l.linesNeededForDisplay;
       }
-      
+
       // Let every window calc how many lines will be needed.
       if ( m_pDiffTextWindow1 )
-         m_pDiffTextWindow1->recalcWordWrap(true,0);
+         m_pDiffTextWindow1->recalcWordWrap(true,0,nofVisibleColumns);
       if ( m_pDiffTextWindow2 )
-         m_pDiffTextWindow2->recalcWordWrap(true,0);
+         m_pDiffTextWindow2->recalcWordWrap(true,0,nofVisibleColumns);
       if ( m_pDiffTextWindow3 )
-         m_pDiffTextWindow3->recalcWordWrap(true,0);
-      
+         m_pDiffTextWindow3->recalcWordWrap(true,0,nofVisibleColumns);
+
       sumOfLines=0;
       for ( i=m_diff3LineList.begin(); i!=m_diff3LineList.end(); ++i )
       {
@@ -1604,14 +1531,14 @@
          d3l.sumLinesNeededForDisplay = sumOfLines;
          sumOfLines += d3l.linesNeededForDisplay;
       }
-      
+
       // Finish the initialisation:
       if ( m_pDiffTextWindow1 )
-         m_pDiffTextWindow1->recalcWordWrap(true,sumOfLines);
+         m_pDiffTextWindow1->recalcWordWrap(true,sumOfLines,nofVisibleColumns);
       if ( m_pDiffTextWindow2 )
-         m_pDiffTextWindow2->recalcWordWrap(true,sumOfLines);
+         m_pDiffTextWindow2->recalcWordWrap(true,sumOfLines,nofVisibleColumns);
       if ( m_pDiffTextWindow3 )
-         m_pDiffTextWindow3->recalcWordWrap(true,sumOfLines);
+         m_pDiffTextWindow3->recalcWordWrap(true,sumOfLines,nofVisibleColumns);
 
       m_neededLines = sumOfLines;
    }
@@ -1619,12 +1546,15 @@
    {
       m_neededLines = m_diff3LineVector.size();
       if ( m_pDiffTextWindow1 )
-         m_pDiffTextWindow1->recalcWordWrap(false,0);
+         m_pDiffTextWindow1->recalcWordWrap(false,0,0);
       if ( m_pDiffTextWindow2 )
-         m_pDiffTextWindow2->recalcWordWrap(false,0);
+         m_pDiffTextWindow2->recalcWordWrap(false,0,0);
       if ( m_pDiffTextWindow3 )
-         m_pDiffTextWindow3->recalcWordWrap(false,0);
+         m_pDiffTextWindow3->recalcWordWrap(false,0,0);
    }
+   if (bPrinting)
+      return;
+
    m_pOverview->slotRedraw();
    if ( m_pDiffTextWindow1 )
    {
@@ -1646,11 +1576,11 @@
    if ( m_pDiffTextWindow1 )
    {
       m_pDiffVScrollBar->setValue( m_pDiffTextWindow1->convertDiff3LineIdxToLine( firstD3LIdx ) );
-      
+
       m_maxWidth = max3( m_pDiffTextWindow1->getNofColumns(), 
                          m_pDiffTextWindow2->getNofColumns(),
                          m_pDiffTextWindow3->getNofColumns() ) + (m_pOptionDialog->m_bWordWrap ? 0 : 5);
-                         
+
       m_pHScrollBar->setRange(0, max2( 0, m_maxWidth - m_pDiffTextWindow1->getNofVisibleColumns() ) );
       m_pHScrollBar->setPageStep( m_pDiffTextWindow1->getNofVisibleColumns() );
       m_pHScrollBar->setValue(0);
@@ -1684,10 +1614,10 @@
 }
 
 /// Return true for success, else false
-bool KDiff3App::improveFilenames()
+bool KDiff3App::improveFilenames( bool bCreateNewInstance )
 {
    m_bDirCompare = false;
-   
+
    FileAccess f1(m_sd1.getFilename());
    FileAccess f2(m_sd2.getFilename());
    FileAccess f3(m_sd3.getFilename());
@@ -1717,30 +1647,37 @@
    else if ( f1.isDir() )
    {
       m_bDirCompare = true;
-      FileAccess destDir;
-      if (!m_bDefaultFilename) destDir = f4;
-      m_pDirectoryMergeSplitter->show();
-      if (m_pMainWidget!=0) m_pMainWidget->hide();
-      
-      bool bSuccess = m_pDirectoryMergeWindow->init(
-         f1, f2, f3,
-         destDir,  // Destdirname
-         !m_outputFilename.isEmpty()
-         );
+      if (bCreateNewInstance)
+      {
+         emit createNewInstance( f1.absFilePath(), f2.absFilePath(), f3.absFilePath() );
+      }
+      else
+      {
+         FileAccess destDir;
+         if (!m_bDefaultFilename) destDir = f4;
+         m_pDirectoryMergeSplitter->show();
+         if (m_pMainWidget!=0) m_pMainWidget->hide();
+
+         bool bSuccess = m_pDirectoryMergeWindow->init(
+            f1, f2, f3,
+            destDir,  // Destdirname
+            !m_outputFilename.isEmpty()
+            );
    
-      m_bDirCompare = true;  // This seems redundant but it might have beed reset during full analysis.
-      
-      if (bSuccess)
-      {
-         m_sd1.reset();
-         if (m_pDiffTextWindow1!=0) m_pDiffTextWindow1->init(0,0,0,0,1,false);
-         m_sd2.reset();
-         if (m_pDiffTextWindow2!=0) m_pDiffTextWindow2->init(0,0,0,0,2,false);
-         m_sd3.reset();
-         if (m_pDiffTextWindow3!=0) m_pDiffTextWindow3->init(0,0,0,0,3,false);
+         m_bDirCompare = true;  // This seems redundant but it might have beed reset during full analysis.
+   
+         if (bSuccess)
+         {
+            m_sd1.reset();
+            if (m_pDiffTextWindow1!=0) m_pDiffTextWindow1->init(0,0,0,0,0,false);
+            m_sd2.reset();
+            if (m_pDiffTextWindow2!=0) m_pDiffTextWindow2->init(0,0,0,0,0,false);
+            m_sd3.reset();
+            if (m_pDiffTextWindow3!=0) m_pDiffTextWindow3->init(0,0,0,0,0,false);
+         }
+         slotUpdateAvailabilities();
+         return bSuccess;
       }
-      slotUpdateAvailabilities();
-      return bSuccess;
    }
    return true;
 }
@@ -1838,8 +1775,8 @@
 {
    if ( m_pDiffTextWindow1!=0 )
    {
-      if ( showWindowA->isChecked() ) m_pDiffTextWindow1->show();
-      else                            m_pDiffTextWindow1->hide();
+      if ( showWindowA->isChecked() ) m_pDiffTextWindowFrame1->show();
+      else                            m_pDiffTextWindowFrame1->hide();
       slotUpdateAvailabilities();
    }
 }
@@ -1848,8 +1785,8 @@
 {
    if ( m_pDiffTextWindow2!=0 )
    {
-      if ( showWindowB->isChecked() ) m_pDiffTextWindow2->show();
-      else                            m_pDiffTextWindow2->hide();
+      if ( showWindowB->isChecked() ) m_pDiffTextWindowFrame2->show();
+      else                            m_pDiffTextWindowFrame2->hide();
       slotUpdateAvailabilities();
    }
 }
@@ -1858,8 +1795,8 @@
 {
    if ( m_pDiffTextWindow3!=0 )
    {
-      if ( showWindowC->isChecked() ) m_pDiffTextWindow3->show();
-      else                            m_pDiffTextWindow3->hide();
+      if ( showWindowC->isChecked() ) m_pDiffTextWindowFrame3->show();
+      else                            m_pDiffTextWindowFrame3->hide();
       slotUpdateAvailabilities();
    }
 }
@@ -2069,41 +2006,157 @@
    if ( m_pDiffWindowSplitter!=0 )
    {
       m_pDiffWindowSplitter->setOrientation(
-         m_pDiffWindowSplitter->orientation()==Vertical ? Horizontal : Vertical
+            m_pDiffWindowSplitter->orientation()==Qt::Vertical ? Qt::Horizontal : Qt::Vertical
          );
 
-      m_pOptionDialog->m_bHorizDiffWindowSplitting = m_pDiffWindowSplitter->orientation()==Horizontal;
+      m_pOptionDialog->m_bHorizDiffWindowSplitting = m_pDiffWindowSplitter->orientation()==Qt::Horizontal;
    }
 }
 
 void KDiff3App::slotOverviewNormal()
-{   
+{
    m_pOverview->setOverviewMode( Overview::eOMNormal );
+   m_pMergeResultWindow->setOverviewMode( Overview::eOMNormal );
    slotUpdateAvailabilities();
 }
 
 void KDiff3App::slotOverviewAB()
 {
    m_pOverview->setOverviewMode( Overview::eOMAvsB );
+   m_pMergeResultWindow->setOverviewMode( Overview::eOMAvsB );
    slotUpdateAvailabilities();
 }
 
 void KDiff3App::slotOverviewAC()
 {
    m_pOverview->setOverviewMode( Overview::eOMAvsC );
+   m_pMergeResultWindow->setOverviewMode( Overview::eOMAvsC );
    slotUpdateAvailabilities();
 }
 
 void KDiff3App::slotOverviewBC()
 {
    m_pOverview->setOverviewMode( Overview::eOMBvsC );
+   m_pMergeResultWindow->setOverviewMode( Overview::eOMBvsC );
    slotUpdateAvailabilities();
 }
-   
+
+void KDiff3App::slotNoRelevantChangesDetected()
+{
+   if ( m_bTripleDiff &&  ! m_outputFilename.isEmpty() )
+   {
+      //KMessageBox::information( this, "No relevant changes detected", "KDiff3" );
+      if (!m_pOptionDialog->m_IrrelevantMergeCmd.isEmpty())
+      {
+         QString cmd = m_pOptionDialog->m_IrrelevantMergeCmd + " \"" + m_sd1.getAliasName()+ "\" \"" + m_sd2.getAliasName() + "\" \"" + m_sd3.getAliasName();
+         ::system( cmd.local8Bit() );
+      }
+   }
+}
+
+static void insertManualDiffHelp( ManualDiffHelpList* pManualDiffHelpList, int winIdx, int firstLine, int lastLine )
+{
+   // The manual diff help list must be sorted and compact.
+   // "Compact" means that upper items can't be empty if lower items contain data.
+
+   // First insert the new item without regarding compactness.
+   // If the new item overlaps with previous items then the previous items will be removed.
+
+   ManualDiffHelpEntry mdhe;
+   mdhe.firstLine( winIdx ) = firstLine;
+   mdhe.lastLine( winIdx ) = lastLine;
+
+   ManualDiffHelpList::iterator i;
+   for( i=pManualDiffHelpList->begin(); i!=pManualDiffHelpList->end(); ++i )
+   {
+      int& l1 = i->firstLine( winIdx );
+      int& l2 = i->lastLine( winIdx );
+      if (l1>=0 && l2>=0)
+      {
+         if ( firstLine<=l1 && lastLine>=l1  ||  firstLine <=l2 && lastLine>=l2 )
+         {
+            // overlap
+            l1 = -1;
+            l2 = -1;
+         }
+         if ( firstLine<l1 && lastLine<l1 )
+         {
+            // insert before this position
+            pManualDiffHelpList->insert( i, mdhe );
+            break;
+         }
+      }
+   }
+   if ( i == pManualDiffHelpList->end() )
+   {
+      pManualDiffHelpList->insert( i, mdhe );
+   }
+
+   // Now make the list compact
+   for( int wIdx=1; wIdx<=3; ++wIdx )
+   {
+      ManualDiffHelpList::iterator iEmpty = pManualDiffHelpList->begin();
+      for( i=pManualDiffHelpList->begin(); i!=pManualDiffHelpList->end(); ++i )
+      {
+         if ( iEmpty->firstLine(wIdx) >= 0 )
+         {
+            ++iEmpty;
+            continue;
+         }
+         if ( i->firstLine(wIdx)>=0 )  // Current item is not empty -> move it to the empty place
+         {
+            iEmpty->firstLine(wIdx) = i->firstLine(wIdx);
+            iEmpty->lastLine(wIdx) = i->lastLine(wIdx);
+            i->firstLine(wIdx) = -1;
+            i->lastLine(wIdx) = -1;
+            ++iEmpty;
+         }
+      }
+   }
+   pManualDiffHelpList->remove( ManualDiffHelpEntry() ); // Remove all completely empty items.
+}
+
+void KDiff3App::slotAddManualDiffHelp()
+{
+   int firstLine = -1;
+   int lastLine = -1;
+   int winIdx = -1;
+   if (                m_pDiffTextWindow1 ) { m_pDiffTextWindow1->getSelectionRange(&firstLine, &lastLine, eFileCoords); winIdx=1; }
+   if ( firstLine<0 && m_pDiffTextWindow2 ) { m_pDiffTextWindow2->getSelectionRange(&firstLine, &lastLine, eFileCoords); winIdx=2; }
+   if ( firstLine<0 && m_pDiffTextWindow3 ) { m_pDiffTextWindow3->getSelectionRange(&firstLine, &lastLine, eFileCoords); winIdx=3; }
+
+   if ( firstLine<0 || lastLine <0 || lastLine<firstLine )
+      KMessageBox::information( this, i18n("Nothing is selected in either diff input window."), i18n("Error while adding manual diff range") );
+   else
+   {
+   /*
+      ManualDiffHelpEntry mdhe;
+      if (!m_manualDiffHelpList.empty()) mdhe = m_manualDiffHelpList.front();
+      if ( winIdx==1 ) { mdhe.lineA1 = firstLine; mdhe.lineA2 = lastLine; }
+      if ( winIdx==2 ) { mdhe.lineB1 = firstLine; mdhe.lineB2 = lastLine; }
+      if ( winIdx==3 ) { mdhe.lineC1 = firstLine; mdhe.lineC2 = lastLine; }
+      m_manualDiffHelpList.clear();
+      m_manualDiffHelpList.push_back( mdhe );
+      */
+
+      insertManualDiffHelp( &m_manualDiffHelpList, winIdx, firstLine, lastLine );
+
+      init( false, 0, false ); // Init without reload
+      slotRefresh();
+   }
+}
+
+void KDiff3App::slotClearManualDiffHelpList()
+{
+   m_manualDiffHelpList.clear();
+   init( false, 0, false ); // Init without reload
+   slotRefresh();
+}
+
 void KDiff3App::slotUpdateAvailabilities()
 {
    bool bTextDataAvailable = ( m_sd1.hasData() || m_sd2.hasData() || m_sd3.hasData() );
-   
+
    if( dirShowBoth->isChecked() )
    {
       if ( m_bDirCompare )
@@ -2116,7 +2169,7 @@
          )
          m_pMainWidget->show();
    }
-   
+
 
    bool bDiffWindowVisible = m_pMainWidget != 0 && m_pMainWidget->isVisible();
    bool bMergeEditorVisible = m_pMergeWindowFrame !=0  &&  m_pMergeWindowFrame->isVisible();
@@ -2129,7 +2182,7 @@
       (!m_pDirectoryMergeSplitter->isVisible()  &&  m_pMainWidget!=0 && m_pMainWidget->isVisible() ||
         m_pDirectoryMergeSplitter->isVisible()  &&  m_pMainWidget!=0 && !m_pMainWidget->isVisible() && bTextDataAvailable )
       );
-      
+
    bool bDirWindowHasFocus = m_pDirectoryMergeSplitter->isVisible() && m_pDirectoryMergeWindow->hasFocus();
 
    showWhiteSpaceCharacters->setEnabled( bDiffWindowVisible );
@@ -2151,6 +2204,8 @@
    chooseAForUnsolvedWhiteSpaceConflicts->setEnabled( bMergeEditorVisible );
    chooseBForUnsolvedWhiteSpaceConflicts->setEnabled( bMergeEditorVisible );
    chooseCForUnsolvedWhiteSpaceConflicts->setEnabled( bMergeEditorVisible  &&  m_bTripleDiff );
+   mergeHistory->setEnabled( bMergeEditorVisible );
+   mergeRegExp->setEnabled( bMergeEditorVisible );
    showWindowA->setEnabled( bDiffWindowVisible && ( m_pDiffTextWindow2->isVisible() || m_pDiffTextWindow3->isVisible() ) );
    showWindowB->setEnabled( bDiffWindowVisible && ( m_pDiffTextWindow1->isVisible() || m_pDiffTextWindow3->isVisible() ));
    showWindowC->setEnabled( bDiffWindowVisible &&  m_bTripleDiff && ( m_pDiffTextWindow1->isVisible() || m_pDiffTextWindow2->isVisible() ) );
@@ -2172,7 +2227,7 @@
    goNextConflict->setEnabled( bDiffWindowVisible &&  m_pMergeResultWindow->isConflictBelowCurrent() );
    goPrevDelta->setEnabled( bDiffWindowVisible &&  m_pMergeResultWindow->isDeltaAboveCurrent() );
    goNextDelta->setEnabled( bDiffWindowVisible &&  m_pMergeResultWindow->isDeltaBelowCurrent() );
-   
+
    overviewModeNormal->setEnabled( m_bTripleDiff && bDiffWindowVisible );
    overviewModeAB->setEnabled( m_bTripleDiff && bDiffWindowVisible );
    overviewModeAC->setEnabled( m_bTripleDiff && bDiffWindowVisible );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/smalldialogs.cpp	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,561 @@
+/***************************************************************************
+ *   Copyright (C) 2005-2006 by Joachim Eibl                               *
+ *   joachim.eibl at gmx.de                                                *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
+
+#include "smalldialogs.h"
+#include "optiondialog.h"
+
+#include <qcombobox.h>
+#include <qcheckbox.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qdragobject.h>
+#include <qregexp.h>
+#include <qtooltip.h>
+#include <qpopupmenu.h>
+#include <qcursor.h>
+
+
+#include <kfiledialog.h>
+#include <klocale.h>
+
+// OpenDialog **************************************************************
+
+OpenDialog::OpenDialog(
+   QWidget* pParent, const QString& n1, const QString& n2, const QString& n3,
+   bool bMerge, const QString& outputName, const char* slotConfigure, OptionDialog* pOptions )
+: QDialog( pParent, "OpenDialog", true /*modal*/ )
+{
+   m_pOptions = pOptions;
+
+   QVBoxLayout* v = new QVBoxLayout( this, 5 );
+   QGridLayout* h = new QGridLayout( v, 5, 4, 5 );
+   h->setColStretch( 1, 10 );
+
+   QLabel* label  = new QLabel( i18n("A (Base):"), this );
+
+   m_pLineA = new QComboBox( true, this );
+   m_pLineA->insertStringList( m_pOptions->m_recentAFiles );
+   m_pLineA->setEditText( KURL(n1).prettyURL() );
+   m_pLineA->setMinimumSize( 200, m_pLineA->size().height() );
+   QPushButton * button = new QPushButton( i18n("File..."), this );
+   connect( button, SIGNAL(clicked()), this, SLOT( selectFileA() ) );
+   QPushButton * button2 = new QPushButton( i18n("Dir..."), this );
+   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirA() ) );
+   connect( m_pLineA, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
+
+   h->addWidget( label,    0, 0 );
+   h->addWidget( m_pLineA,  0, 1 );
+   h->addWidget( button,   0, 2 );
+   h->addWidget( button2,  0, 3 );
+
+   label    = new QLabel( "B:", this );
+   m_pLineB  = new QComboBox( true, this );
+   m_pLineB->insertStringList( m_pOptions->m_recentBFiles );
+   m_pLineB->setEditText( KURL(n2).prettyURL() );
+   m_pLineB->setMinimumSize( 200, m_pLineB->size().height() );
+   button   = new QPushButton( i18n("File..."), this );
+   connect( button, SIGNAL(clicked()), this, SLOT( selectFileB() ) );
+   button2   = new QPushButton( i18n("Dir..."), this );
+   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirB() ) );
+   connect( m_pLineB, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
+
+   h->addWidget( label,     1, 0 );
+   h->addWidget( m_pLineB,   1, 1 );
+   h->addWidget( button,    1, 2 );
+   h->addWidget( button2,   1, 3 );
+
+   label  = new QLabel( i18n("C (Optional):"), this );
+   m_pLineC= new QComboBox( true, this );
+   m_pLineC->insertStringList( m_pOptions->m_recentCFiles );
+   m_pLineC->setEditText( KURL(n3).prettyURL() );
+   m_pLineC->setMinimumSize( 200, m_pLineC->size().height() );
+   button = new QPushButton( i18n("File..."), this );
+   connect( button, SIGNAL(clicked()), this, SLOT( selectFileC() ) );
+   button2   = new QPushButton( i18n("Dir..."), this );
+   connect( button2, SIGNAL(clicked()), this, SLOT( selectDirC() ) );
+   connect( m_pLineC, SIGNAL(textChanged(const QString&)), this, SLOT(inputFilenameChanged() ) );
+
+   h->addWidget( label,     2, 0 );
+   h->addWidget( m_pLineC,   2, 1 );
+   h->addWidget( button,    2, 2 );
+   h->addWidget( button2,   2, 3 );
+
+   m_pMerge = new QCheckBox( i18n("Merge"), this );
+   h->addWidget( m_pMerge, 3, 0 );
+
+   QHBoxLayout* hl = new QHBoxLayout();
+   h->addLayout( hl, 3, 1 );
+   hl->addStretch(2);
+   button = new QPushButton(i18n("Swap/Copy Names ..."), this);
+   //button->setToggleButton(false);
+   hl->addWidget( button );
+
+   QPopupMenu* m = new QPopupMenu(this);
+   int id=0;
+   m->insertItem( i18n("Swap %1<->%2").arg("A").arg("B"), id++ );
+   m->insertItem( i18n("Swap %1<->%2").arg("B").arg("C"), id++ );
+   m->insertItem( i18n("Swap %1<->%2").arg("C").arg("A"), id++ );
+   m->insertItem( i18n("Copy %1->Output").arg("A"), id++ );
+   m->insertItem( i18n("Copy %1->Output").arg("B"), id++ );
+   m->insertItem( i18n("Copy %1->Output").arg("C"), id++  );
+   m->insertItem( i18n("Swap %1<->Output").arg("A"), id++  );
+   m->insertItem( i18n("Swap %1<->Output").arg("B"), id++  );
+   m->insertItem( i18n("Swap %1<->Output").arg("C"), id++  );
+   connect( m, SIGNAL(activated(int)), this, SLOT(slotSwapCopyNames(int)));
+   button->setPopup(m);
+
+
+   hl->addStretch(2);
+
+   label  = new QLabel( i18n("Output (optional):"), this );
+   m_pLineOut = new QComboBox( true, this );
+   m_pLineOut->insertStringList( m_pOptions->m_recentOutputFiles );
+   m_pLineOut->setEditText( KURL(outputName).prettyURL() );
+   m_pLineOut->setMinimumSize( 200, m_pLineOut->size().height() );
+   button = new QPushButton( i18n("File..."), this );
+   connect( button, SIGNAL(clicked()), this, SLOT( selectOutputName() ) );
+   button2   = new QPushButton( i18n("Dir..."), this );
+   connect( button2, SIGNAL(clicked()), this, SLOT( selectOutputDir() ) );
+   connect( m_pMerge, SIGNAL(stateChanged(int)), this, SLOT(internalSlot(int)) );
+   connect( this, SIGNAL(internalSignal(bool)), m_pLineOut, SLOT(setEnabled(bool)) );
+   connect( this, SIGNAL(internalSignal(bool)), button, SLOT(setEnabled(bool)) );
+   connect( this, SIGNAL(internalSignal(bool)), button2, SLOT(setEnabled(bool)) );
+
+   m_pMerge->setChecked( !bMerge );
+   m_pMerge->setChecked( bMerge );
+//   m_pLineOutput->setEnabled( bMerge );
+
+//   button->setEnabled( bMerge );
+
+   h->addWidget( label,          4, 0 );
+   h->addWidget( m_pLineOut,      4, 1 );
+   h->addWidget( button,         4, 2 );
+   h->addWidget( button2,        4, 3 );
+
+   h->addColSpacing( 1, 200 );
+
+   QHBoxLayout* l = new QHBoxLayout( v, 5 );
+
+   button = new QPushButton( i18n("Configure..."), this );
+   connect( button, SIGNAL(clicked()), pParent, slotConfigure );
+   l->addWidget( button, 1 );
+
+   l->addStretch(1);
+
+   button = new QPushButton( i18n("&OK"), this );
+   button->setDefault( true );
+   connect( button, SIGNAL(clicked()), this, SLOT( accept() ) );
+   l->addWidget( button, 1 );
+
+   button = new QPushButton( i18n("&Cancel"), this );
+   connect( button, SIGNAL(clicked()), this, SLOT( reject() ) );
+   l->addWidget( button,1 );
+
+   QSize sh = sizeHint();
+   setFixedHeight( sh.height() );
+   m_bInputFileNameChanged = false;
+
+#ifdef KREPLACEMENTS_H
+   m_pLineA->lineEdit()->installEventFilter( this );
+   m_pLineB->lineEdit()->installEventFilter( this );
+   m_pLineC->lineEdit()->installEventFilter( this );
+   m_pLineOut->lineEdit()->installEventFilter( this );
+#endif
+}
+
+// Eventfilter: Only needed under Windows.
+// Without this, files dropped in the line edit have URL-encoding.
+// This eventfilter decodes the filenames as needed by KDiff3.
+bool OpenDialog::eventFilter(QObject* o, QEvent* e)
+{
+   if (e->type()==QEvent::Drop)
+   {
+      QDropEvent* d = static_cast<QDropEvent*>(e);
+
+      if ( !QUriDrag::canDecode( d ) ) {
+         return false;
+      }
+
+      QStringList lst;
+      QUriDrag::decodeLocalFiles( d, lst );
+
+      if ( lst.count() > 0 )
+      {
+         static_cast<QLineEdit*>(o)->setText( lst[0] );
+         static_cast<QLineEdit*>(o)->setFocus();
+      }
+       
+      return true;
+   }
+   return false;
+}
+
+
+void OpenDialog::selectURL( QComboBox* pLine, bool bDir, int i, bool bSave )
+{
+   QString current = pLine->currentText();
+   if (current.isEmpty() && i>3 ){  current = m_pLineC->currentText(); }
+   if (current.isEmpty()        ){  current = m_pLineB->currentText(); }
+   if (current.isEmpty()        ){  current = m_pLineA->currentText(); }
+   KURL newURL = bDir ? KFileDialog::getExistingURL( current, this)
+                      : bSave ? KFileDialog::getSaveURL( current, 0, this)
+                              : KFileDialog::getOpenURL( current, 0, this);
+   if ( !newURL.isEmpty() )
+   {
+      pLine->setEditText( newURL.url() );
+   }
+   // newURL won't be modified if nothing was selected.
+}
+
+void OpenDialog::selectFileA()     {  selectURL( m_pLineA,    false, 1, false );  }
+void OpenDialog::selectFileB()     {  selectURL( m_pLineB,    false, 2, false );  }
+void OpenDialog::selectFileC()     {  selectURL( m_pLineC,    false, 3, false );  }
+void OpenDialog::selectOutputName(){  selectURL( m_pLineOut,  false, 4, true );  }
+void OpenDialog::selectDirA()      {  selectURL( m_pLineA,    true,  1, false );  }
+void OpenDialog::selectDirB()      {  selectURL( m_pLineB,    true,  2, false );  }
+void OpenDialog::selectDirC()      {  selectURL( m_pLineC,    true,  3, false );  }
+void OpenDialog::selectOutputDir() {  selectURL( m_pLineOut,  true,  4, true );  }
+
+void OpenDialog::internalSlot(int i)
+{
+   emit internalSignal(i!=0);
+}
+
+// Clear the output-filename when any input-filename changed, 
+// because users forgot to change the output and accidently overwrote it with
+// wrong data during a merge.
+void OpenDialog::inputFilenameChanged()
+{
+   if(!m_bInputFileNameChanged)
+   {
+      m_bInputFileNameChanged=true;
+      m_pLineOut->clearEdit();
+   }
+}
+
+void OpenDialog::accept()
+{
+   unsigned int maxNofRecentFiles = 10;
+
+   QString s = m_pLineA->currentText();
+   s = KURL::fromPathOrURL(s).prettyURL();
+   QStringList* sl = &m_pOptions->m_recentAFiles;
+   // If an item exist, remove it from the list and reinsert it at the beginning.
+   sl->remove(s);
+   if ( !s.isEmpty() ) sl->prepend( s );
+   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
+
+   s = m_pLineB->currentText();
+   s = KURL::fromPathOrURL(s).prettyURL();
+   sl = &m_pOptions->m_recentBFiles;
+   sl->remove(s);
+   if ( !s.isEmpty() ) sl->prepend( s );
+   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
+
+   s = m_pLineC->currentText();
+   s = KURL::fromPathOrURL(s).prettyURL();
+   sl = &m_pOptions->m_recentCFiles;
+   sl->remove(s);
+   if ( !s.isEmpty() ) sl->prepend( s );
+   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
+
+   s = m_pLineOut->currentText();
+   s = KURL::fromPathOrURL(s).prettyURL();
+   sl = &m_pOptions->m_recentOutputFiles;
+   sl->remove(s);
+   if ( !s.isEmpty() ) sl->prepend( s );
+   if (sl->count()>maxNofRecentFiles) sl->erase( sl->at(maxNofRecentFiles), sl->end() );
+
+   QDialog::accept();
+}
+
+void OpenDialog::slotSwapCopyNames( int id ) // id selected in the popup menu
+{
+   QComboBox* cb1=0;
+   QComboBox* cb2=0;
+   switch(id)
+   {
+   case 0:  cb1=m_pLineA; cb2=m_pLineB; break;
+   case 1:  cb1=m_pLineB; cb2=m_pLineC; break;
+   case 2:  cb1=m_pLineC; cb2=m_pLineA; break;
+   case 3:  cb1=m_pLineA; cb2=m_pLineOut; break;
+   case 4:  cb1=m_pLineB; cb2=m_pLineOut; break;
+   case 5:  cb1=m_pLineC; cb2=m_pLineOut; break;
+   case 6:  cb1=m_pLineA; cb2=m_pLineOut; break;
+   case 7:  cb1=m_pLineB; cb2=m_pLineOut; break;
+   case 8:  cb1=m_pLineC; cb2=m_pLineOut; break;
+   }
+   if ( cb1 && cb2 )
+   {
+      QString t1 = cb1->currentText();
+      QString t2 = cb2->currentText();
+      cb2->setCurrentText(t1);
+      if ( id<=2 || id>=6 )
+      {
+         cb1->setCurrentText( t2 );
+      }
+   }
+}
+
+// FindDialog *********************************************
+
+FindDialog::FindDialog(QWidget* pParent)
+: QDialog( pParent )
+{
+   QGridLayout* layout = new QGridLayout( this );
+   layout->setMargin(5);
+   layout->setSpacing(5);
+
+   int line=0;
+   layout->addMultiCellWidget( new QLabel(i18n("Search text:"),this), line,line,0,1 );
+   ++line;
+
+   m_pSearchString = new QLineEdit( this );
+   layout->addMultiCellWidget( m_pSearchString, line,line,0,1 );
+   ++line;
+
+   m_pCaseSensitive = new QCheckBox(i18n("Case sensitive"),this);
+   layout->addWidget( m_pCaseSensitive, line, 1 );
+
+   m_pSearchInA = new QCheckBox(i18n("Search A"),this);
+   layout->addWidget( m_pSearchInA, line, 0 );
+   m_pSearchInA->setChecked( true );
+   ++line;
+
+   m_pSearchInB = new QCheckBox(i18n("Search B"),this);
+   layout->addWidget( m_pSearchInB, line, 0 );
+   m_pSearchInB->setChecked( true );
+   ++line;
+
+   m_pSearchInC = new QCheckBox(i18n("Search C"),this);
+   layout->addWidget( m_pSearchInC, line, 0 );
+   m_pSearchInC->setChecked( true );
+   ++line;
+
+   m_pSearchInOutput = new QCheckBox(i18n("Search output"),this);
+   layout->addWidget( m_pSearchInOutput, line, 0 );
+   m_pSearchInOutput->setChecked( true );
+   ++line;
+
+   QPushButton* pButton = new QPushButton( i18n("&Search"), this );
+   layout->addWidget( pButton, line, 0 );
+   connect( pButton, SIGNAL(clicked()), this, SLOT(accept()));
+
+   pButton = new QPushButton( i18n("&Cancel"), this );
+   layout->addWidget( pButton, line, 1 );
+   connect( pButton, SIGNAL(clicked()), this, SLOT(reject()));
+
+   hide();
+}
+
+
+RegExpTester::RegExpTester( QWidget* pParent, const QString& autoMergeRegExpToolTip,
+   const QString& historyStartRegExpToolTip, const QString& historyEntryStartRegExpToolTip, const QString& historySortKeyOrderToolTip )
+: QDialog( pParent)
+{
+   int line=0;
+   setCaption(i18n("Regular Expression Tester"));
+   QGridLayout* pGrid = new QGridLayout( this, 11, 2, 5, 5 );
+
+   QLabel* l = new QLabel(i18n("Auto merge regular expression:"), this);
+   pGrid->addWidget(l,line,0);
+   QToolTip::add( l, autoMergeRegExpToolTip );
+   m_pAutoMergeRegExpEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pAutoMergeRegExpEdit,line,1);
+   connect( m_pAutoMergeRegExpEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Example auto merge line:"), this);
+   pGrid->addMultiCellWidget(l,line,line,0,1);
+   QToolTip::add( l, i18n("For auto merge test copy a line as used in your files.") );
+   m_pAutoMergeExampleEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pAutoMergeExampleEdit,line,1);
+   connect( m_pAutoMergeExampleEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Match result:"), this);
+   pGrid->addWidget(l,line,0);
+   m_pAutoMergeMatchResult = new QLineEdit(this);
+   m_pAutoMergeMatchResult->setReadOnly(true);
+   pGrid->addWidget(m_pAutoMergeMatchResult,line,1);
+   ++line;
+
+   pGrid->addItem( new QSpacerItem(100,20), line, 0 );
+   pGrid->setRowStretch( line, 5);
+   ++line;
+
+   l = new QLabel(i18n("History start regular expression:"), this);
+   pGrid->addWidget(l,line,0);
+   QToolTip::add( l, historyStartRegExpToolTip );
+   m_pHistoryStartRegExpEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pHistoryStartRegExpEdit,line,1);
+   connect( m_pHistoryStartRegExpEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Example history start line (with leading comment):"), this);
+   pGrid->addMultiCellWidget(l,line,line,0,1);
+   ++line;
+   QToolTip::add( l, i18n("Copy a history start line as used in your files,\n"
+                          "including the leading comment.") );
+   m_pHistoryStartExampleEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pHistoryStartExampleEdit,line,1);
+   connect( m_pHistoryStartExampleEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Match result:"), this);
+   pGrid->addWidget(l,line,0);
+   m_pHistoryStartMatchResult = new QLineEdit(this);
+   m_pHistoryStartMatchResult->setReadOnly(true);
+   pGrid->addWidget(m_pHistoryStartMatchResult,line,1);
+   ++line;
+
+   pGrid->addItem( new QSpacerItem(100,20), line, 0 );
+   pGrid->setRowStretch( line, 5);
+   ++line;
+
+   l = new QLabel(i18n("History entry start regular expression:"), this);
+   pGrid->addWidget(l,line,0);
+   QToolTip::add( l, historyEntryStartRegExpToolTip );
+   m_pHistoryEntryStartRegExpEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pHistoryEntryStartRegExpEdit,line,1);
+   connect( m_pHistoryEntryStartRegExpEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("History sort key order:"), this);
+   pGrid->addWidget(l,line,0);
+   QToolTip::add( l, historySortKeyOrderToolTip );
+   m_pHistorySortKeyOrderEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pHistorySortKeyOrderEdit,line,1);
+   connect( m_pHistorySortKeyOrderEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Example history entry start line (without leading comment):"), this);
+   pGrid->addMultiCellWidget(l,line,line,0,1);
+   QToolTip::add( l, i18n("Copy a history entry start line as used in your files,\n"
+                          "but omit the leading comment.") );
+   ++line;
+   m_pHistoryEntryStartExampleEdit = new QLineEdit(this);
+   pGrid->addWidget(m_pHistoryEntryStartExampleEdit,line,1);
+   connect( m_pHistoryEntryStartExampleEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotRecalc()));
+   ++line;
+
+   l = new QLabel(i18n("Match result:"), this);
+   pGrid->addWidget(l,line,0);
+   m_pHistoryEntryStartMatchResult = new QLineEdit(this);
+   m_pHistoryEntryStartMatchResult->setReadOnly(true);
+   pGrid->addWidget(m_pHistoryEntryStartMatchResult,line,1);
+   ++line;
+
+   l = new QLabel(i18n("Sort key result:"), this);
+   pGrid->addWidget(l,line,0);
+   m_pHistorySortKeyResult = new QLineEdit(this);
+   m_pHistorySortKeyResult->setReadOnly(true);
+   pGrid->addWidget(m_pHistorySortKeyResult,line,1);
+   ++line;
+
+   QPushButton* pButton = new QPushButton(i18n("OK"), this);
+   pGrid->addWidget(pButton,line,0);
+   connect( pButton, SIGNAL(clicked()), this, SLOT(accept()));
+
+   pButton = new QPushButton(i18n("Cancel"), this);
+   pGrid->addWidget(pButton,line,1);
+   connect( pButton, SIGNAL(clicked()), this, SLOT(reject()));
+
+   resize( 800, sizeHint().height() );
+}
+
+void RegExpTester::init( const QString& autoMergeRegExp, const QString& historyStartRegExp, const QString& historyEntryStartRegExp, const QString historySortKeyOrder )
+{
+   m_pAutoMergeRegExpEdit->setText( autoMergeRegExp );
+   m_pHistoryStartRegExpEdit->setText( historyStartRegExp );
+   m_pHistoryEntryStartRegExpEdit->setText( historyEntryStartRegExp );
+   m_pHistorySortKeyOrderEdit->setText( historySortKeyOrder );
+}
+
+QString RegExpTester::autoMergeRegExp()
+{
+   return m_pAutoMergeRegExpEdit->text();
+}
+
+QString RegExpTester::historyStartRegExp()
+{
+   return m_pHistoryStartRegExpEdit->text();
+}
+
+QString RegExpTester::historyEntryStartRegExp()
+{
+   return m_pHistoryEntryStartRegExpEdit->text();
+}
+
+QString RegExpTester::historySortKeyOrder()
+{
+   return m_pHistorySortKeyOrderEdit->text();
+}
+
+void RegExpTester::slotRecalc()
+{
+   QRegExp autoMergeRegExp = m_pAutoMergeRegExpEdit->text();
+   if ( autoMergeRegExp.exactMatch( m_pAutoMergeExampleEdit->text() ) )
+   {
+      m_pAutoMergeMatchResult->setText( i18n("Match success.") );
+   }
+   else
+   {
+      m_pAutoMergeMatchResult->setText( i18n("Match failed.") );
+   }
+
+   QRegExp historyStartRegExp = m_pHistoryStartRegExpEdit->text();
+   if ( historyStartRegExp.exactMatch( m_pHistoryStartExampleEdit->text() ) )
+   {
+      m_pHistoryStartMatchResult->setText( i18n("Match success.") );
+   }
+   else
+   {
+      m_pHistoryStartMatchResult->setText( i18n("Match failed.") );
+   }
+
+
+   QStringList parenthesesGroups;
+   bool bSuccess = findParenthesesGroups( m_pHistoryEntryStartRegExpEdit->text(), parenthesesGroups );
+   if ( ! bSuccess )
+   {
+      m_pHistoryEntryStartMatchResult->setText( i18n("Opening and closing parentheses don't match in regular expression.") );
+      m_pHistorySortKeyResult->setText( i18n("") );
+      return;
+   }
+   QRegExp historyEntryStartRegExp = m_pHistoryEntryStartRegExpEdit->text();
+   QString s = m_pHistoryEntryStartExampleEdit->text();
+
+   if ( historyEntryStartRegExp.exactMatch( s ) )
+   {
+      m_pHistoryEntryStartMatchResult->setText( i18n("Match success.") );
+      QString key = calcHistorySortKey( m_pHistorySortKeyOrderEdit->text(),historyEntryStartRegExp,parenthesesGroups);
+      m_pHistorySortKeyResult->setText(key);
+   }
+   else
+   {
+      m_pHistoryEntryStartMatchResult->setText( i18n("Match failed.") );
+      m_pHistorySortKeyResult->setText( i18n("") );
+   }
+}
+
+#include "smalldialogs.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/smalldialogs.h	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,120 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Joachim Eibl                                    *
+ *   joachim.eibl at gmx.de                                                *
+ *                                                                         *
+ *   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     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.           *
+ ***************************************************************************/
+
+#ifndef SMALLDIALOGS_H
+#define SMALLDIALOGS_H
+
+#include <qdialog.h>
+#include "diff.h"
+
+class OptionDialog;
+class QComboBox;
+class QCheckBox;
+class QLineEdit;
+class QLabel;
+
+class OpenDialog : public QDialog
+{
+   Q_OBJECT
+public:
+   OpenDialog(
+      QWidget* pParent, const QString& n1, const QString& n2, const QString& n3,
+      bool bMerge, const QString& outputName, const char* slotConfigure, OptionDialog* pOptions  );
+
+   QComboBox* m_pLineA;
+   QComboBox* m_pLineB;
+   QComboBox* m_pLineC;
+   QComboBox* m_pLineOut;
+
+   QCheckBox* m_pMerge;
+   virtual void accept();
+   virtual bool eventFilter(QObject* o, QEvent* e);
+private:
+   OptionDialog* m_pOptions;
+   void selectURL( QComboBox* pLine, bool bDir, int i, bool bSave );
+   bool m_bInputFileNameChanged;
+private slots:
+   void selectFileA();
+   void selectFileB();
+   void selectFileC();
+   void selectDirA();
+   void selectDirB();
+   void selectDirC();
+   void selectOutputName();
+   void selectOutputDir();
+   void internalSlot(int);
+   void inputFilenameChanged();
+   void slotSwapCopyNames(int);
+signals:
+   void internalSignal(bool);
+};
+
+class FindDialog : public QDialog
+{
+   Q_OBJECT
+public:
+   FindDialog(QWidget* pParent);
+
+signals:
+   void findNext();
+
+public:
+   QLineEdit* m_pSearchString;
+   QCheckBox* m_pSearchInA;
+   QCheckBox* m_pSearchInB;
+   QCheckBox* m_pSearchInC;
+   QCheckBox* m_pSearchInOutput;
+   QCheckBox* m_pCaseSensitive;
+
+   int currentLine;
+   int currentPos;
+   int currentWindow;
+};
+
+
+class RegExpTester : public QDialog
+{
+   Q_OBJECT
+private:
+   QLineEdit* m_pAutoMergeRegExpEdit;
+   QLineEdit* m_pAutoMergeMatchResult;
+   QLineEdit* m_pAutoMergeExampleEdit;
+   QLineEdit* m_pHistoryStartRegExpEdit;
+   QLineEdit* m_pHistoryStartMatchResult;
+   QLineEdit* m_pHistoryStartExampleEdit;
+   QLineEdit* m_pHistoryEntryStartRegExpEdit;
+   QLineEdit* m_pHistorySortKeyOrderEdit;
+   QLineEdit* m_pHistoryEntryStartExampleEdit;
+   QLineEdit* m_pHistoryEntryStartMatchResult;
+   QLineEdit* m_pHistorySortKeyResult;
+   OptionDialog* m_pOptionDialog;
+public:
+   RegExpTester( QWidget* pParent, const QString& autoMergeRegExpToolTip, const QString& historyStartRegExpToolTip, 
+                                   const QString& historyEntryStartRegExpToolTip, const QString& historySortKeyOrderToolTip  );
+   void init( const QString& autoMergeRegExp, const QString& historyStartRegExp, const QString& historyEntryStartRegExp, const QString sortKeyOrder );
+   QString autoMergeRegExp();
+   QString historyStartRegExp();
+   QString historyEntryStartRegExp();
+   QString historySortKeyOrder();
+public slots:
+   void slotRecalc();
+};
+
+#endif
--- a/kdiff3/src/version.h	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/version.h	Mon Apr 10 08:40:51 2006 +0000
@@ -1,2 +1,2 @@
 #undef VERSION
-#define VERSION "0.9.87"
+#define VERSION "0.9.89"
--- a/kdiff3/src/xpm/autoadvance.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/autoadvance.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,7 +1,8 @@
 /* XPM */
 static const char *autoadvance[] = {
 /* columns rows colors chars-per-pixel */
-"16 16 2 1",
+"16 16 3 1",
+". c #0080FF",
 "# c #000000",
 "  c None",
 /* pixels */
@@ -13,12 +14,12 @@
 "                ",
 "                ",
 "    ########    ",
-"     ######     ",
-"      ####      ",
+"     #....#     ",
+"      #..#      ",
 "       ##       ",
 "    ########    ",
-"     ######     ",
-"      ####      ",
+"     #....#     ",
+"      #..#      ",
 "       ##       ",
 "                "
 };
--- a/kdiff3/src/xpm/currentpos.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/currentpos.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,7 @@
 /* XPM */
 static const char *currentpos[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080FF",
 "# c #000000",
 ". c None",
 "................",
@@ -8,14 +9,14 @@
 "................",
 ".#............#.",
 ".##..........##.",
-".###........###.",
-".####..##..####.",
-".##############.",
-".##############.",
-".####..##..####.",
-".###........###.",
+".# #........# #.",
+".#  #..##..#  #.",
+".#   ##  ##   #.",
+".#   #    #   #.",
+".#   ##  ##   #.",
+".#  #..##..#  #.",
+".# #........# #.",
 ".##..........##.",
 ".#............#.",
 "................",
-"................",
 "................"};
--- a/kdiff3/src/xpm/down1arrow.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/down1arrow.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,8 +1,9 @@
 /* XPM */
 static const char *down1arrow[] = {
 /* columns rows colors chars-per-pixel */
-"16 16 2 1",
-"  c #000000",
+"16 16 3 1",
+"  c #0080ff",
+"# c #000000",
 ". c None",
 /* pixels */
 "................",
@@ -10,12 +11,12 @@
 "................",
 "................",
 "................",
-"..            ..",
-"...          ...",
-"....        ....",
-".....      .....",
-"......    ......",
-".......  .......",
+"..############..",
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
+".......##.......",
 "................",
 "................",
 "................",
--- a/kdiff3/src/xpm/down2arrow.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/down2arrow.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,24 +1,25 @@
 /* XPM */
 static const char *down2arrow[] = {
 /* columns rows colors chars-per-pixel */
-"16 16 2 1",
-"  c #000000",
+"16 16 3 1",
+"  c #0080ff",
+"# c #000000",
 ". c None",
 /* pixels */
 "................",
 "................",
-"..            ..",
-"...          ...",
-"....        ....",
-".....      .....",
-"......    ......",
-".......  .......",
-"..            ..",
-"...          ...",
-"....        ....",
-".....      .....",
-"......    ......",
-".......  .......",
+"..############..",
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
+".......##.......",
+"..############..",
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
+".......##.......",
 "................",
 "................"
 };
--- a/kdiff3/src/xpm/downend.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/downend.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,7 @@
 /* XPM */
 static const char *downend[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080ff",
 "# c #000000",
 ". c None",
 "................",
@@ -9,10 +10,10 @@
 "................",
 "................",
 "..############..",
-"...##########...",
-"....########....",
-".....######.....",
-"......####......",
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
 ".......##.......",
 "..############..",
 "................",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/xpm/fileprint.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,24 @@
+/* XPM */
+static const char *fileprint[] = {
+"    16    14        6            1",
+". c #000000",
+"# c #848284",
+"a c #c6c3c6",
+"b c #ffff00",
+"c c #ffffff",
+"d c None",
+"ddddd.........dd",
+"dddd.cccccccc.dd",
+"dddd.c.....c.ddd",
+"ddd.cccccccc.ddd",
+"ddd.c.....c....d",
+"dd.cccccccc.a.a.",
+"d..........a.a..",
+".aaaaaaaaaa.a.a.",
+".............aa.",
+".aaaaaa###aa.a.d",
+".aaaaaabbbaa...d",
+".............a.d",
+"d.aaaaaaaaa.a.dd",
+"dd...........ddd"
+};
--- a/kdiff3/src/xpm/iconA.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/iconA.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,21 +1,22 @@
 /* XPM */
 static const char *iconA[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080FF",
+"# c #000000",
 ". c None",
-"# c #000000",
 "................",
 "................",
-"................",
-"......####......",
-".....######.....",
-"....##....##....",
-"....##....##....",
-"....##....##....",
-"....##....##....",
-"....########....",
-"....########....",
-"....##....##....",
-"....##....##....",
+"......###.......",
+".....#   #......",
+"....#  #  #.....",
+"...#  #.#  #....",
+"...# #...# #....",
+"...# #...# #....",
+"...# ##### #....",
+"...#       #....",
+"...# ##### #....",
+"...# #...# #....",
+"...###...###....",
 "................",
 "................",
 "................"};
--- a/kdiff3/src/xpm/iconB.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/iconB.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,21 +1,22 @@
 /* XPM */
 static const char *iconB[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080FF",
+"# c #000000",
 ". c None",
-"# c #000000",
 "................",
 "................",
-"................",
-"....#######.....",
-"....########....",
-"....##....##....",
-"....##....##....",
-"....#######.....",
-"....#######.....",
-"....##....##....",
-"....##....##....",
-"....########....",
-"....#######.....",
+"...#######......",
+"...#      #.....",
+"...# ####  #....",
+"...# #...# #....",
+"...# ####  #....",
+"...#      #.....",
+"...# ####  #....",
+"...# #...# #....",
+"...# ####  #....",
+"...#      #.....",
+"...#######......",
 "................",
 "................",
 "................"};
--- a/kdiff3/src/xpm/iconC.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/iconC.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,21 +1,22 @@
 /* XPM */
 static const char *iconC[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080FF",
+"# c #000000",
 ". c None",
-"# c #000000",
-"................",
 "................",
 "................",
 "......####......",
-".....######.....",
-"....###...#.....",
-"....##..........",
-"....##..........",
-"....##..........",
-"....##..........",
-"....###...#.....",
-".....######.....",
+".....#    #.....",
+"....#  ### #....",
+"...#  #...##....",
+"...# #..........",
+"...# #..........",
+"...# #..........",
+"...# #..........",
+"...#  #...##....",
+"....#  ### #....",
+".....#    #.....",
 "......####......",
 "................",
-"................",
 "................"};
--- a/kdiff3/src/xpm/nextunsolved.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/nextunsolved.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,22 +1,23 @@
 /* XPM */
 static const char *nextunsolved[]={
-"16 16 3 1",
+"16 16 4 1",
 ". c None",
+"  c #0080ff",
 "# c #000000",
 "a c #ff0000",
 "..############..",
-"...##########...",
-"....########....",
-".....######.....",
-"......####......",
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
 "..############..",
-"...##########...",
-"....########....",
-".....######.....",
-"......####......",
-"..aaaaaaaaaaaa..",
-"...aaaaaaaaaa...",
-"....aaaaaaaa....",
-".....aaaaaa.....",
-"......aaaa......",
-".......aa......."};
+"...#        #...",
+"....#      #....",
+".....#    #.....",
+"......#  #......",
+"..############..",
+"...#aaaaaaaa#...",
+"....#aaaaaa#....",
+".....#aaaa#.....",
+"......#aa#......",
+".......##......."};
--- a/kdiff3/src/xpm/prevunsolved.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/prevunsolved.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,22 +1,23 @@
 /* XPM */
 static const char *prevunsolved[]={
-"16 16 3 1",
+"16 16 4 1",
+"  c #0080ff",
+"# c #000000",
+"a c #ff0000",
 ". c None",
-"a c #000000",
-"# c #ff0000",
 ".......##.......",
-"......####......",
-".....######.....",
-"....########....",
-"...##########...",
+"......#aa#......",
+".....#aaaa#.....",
+"....#aaaaaa#....",
+"...#aaaaaaaa#...",
 "..############..",
-"......aaaa......",
-".....aaaaaa.....",
-"....aaaaaaaa....",
-"...aaaaaaaaaa...",
-"..aaaaaaaaaaaa..",
-"......aaaa......",
-".....aaaaaa.....",
-"....aaaaaaaa....",
-"...aaaaaaaaaa...",
-"..aaaaaaaaaaaa.."};
+"......#  #......",
+".....#    #.....",
+"....#      #....",
+"...#        #...",
+"..############..",
+"......#  #......",
+".....#    #.....",
+"....#      #....",
+"...#        #...",
+"..############.."};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/xpm/showequalfiles.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,23 @@
+/* XPM */
+static const char *showequalfiles[]={
+"16 16 4 1",
+"# c None",
+"a c None",
+". c #000000",
+"b c #00ff00",
+"...........##aaa",
+".bbbb.bbbb.##aaa",
+".bbbb.bbbb.##aaa",
+".bbbb.bbbb.##aaa",
+".bbbb.bbbb.##aaa",
+"...........##aaa",
+"aaaaaaaaaaaaaaaa",
+"................",
+"aaaaaaaaaaaaaaaa",
+"................",
+".bbbb.bbbb.bbbb.",
+".bbbb.bbbb.bbbb.",
+".bbbb.bbbb.bbbb.",
+".bbbb.bbbb.bbbb.",
+"................",
+"aaaaaaaaaaaaaaaa"};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/xpm/showfilesonlyina.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,23 @@
+/* XPM */
+static const char *showfilesonlyina[]={
+"16 16 4 1",
+"# c None",
+"a c None",
+". c #000000",
+"b c #00ff00",
+"...........##aaa",
+".bbbb......##aaa",
+".bbbb......##aaa",
+".bbbb......##aaa",
+".bbbb......##aaa",
+"...........##aaa",
+"aaaaaaaaaaaaaaaa",
+"................",
+"aaaaaaaaaaaaaaaa",
+"................",
+".bbbb...........",
+".bbbb...........",
+".bbbb...........",
+".bbbb...........",
+"................",
+"aaaaaaaaaaaaaaaa"};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/xpm/showfilesonlyinb.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,23 @@
+/* XPM */
+static const char *showfilesonlyinb[]={
+"16 16 4 1",
+"# c None",
+"a c None",
+". c #000000",
+"b c #00ff00",
+"...........##aaa",
+"......bbbb.##aaa",
+"......bbbb.##aaa",
+"......bbbb.##aaa",
+"......bbbb.##aaa",
+"...........##aaa",
+"aaaaaaaaaaaaaaaa",
+"................",
+"aaaaaaaaaaaaaaaa",
+"................",
+"......bbbb......",
+"......bbbb......",
+"......bbbb......",
+"......bbbb......",
+"................",
+"aaaaaaaaaaaaaaaa"};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kdiff3/src/xpm/showfilesonlyinc.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -0,0 +1,22 @@
+/* XPM */
+static const char *showfilesonlyinc[]={
+"16 16 3 1",
+". c None",
+"# c #000000",
+"a c #00ff00",
+"................",
+"................",
+"................",
+"................",
+"................",
+"################",
+"###########aaaa#",
+"###########aaaa#",
+"###########aaaa#",
+"###########aaaa#",
+"################",
+"................",
+"................",
+"................",
+"................",
+"................"};
--- a/kdiff3/src/xpm/up1arrow.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/up1arrow.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,24 +1,22 @@
 /* XPM */
-static const char *up1arrow[] = {
-/* columns rows colors chars-per-pixel */
-"16 16 2 1",
-"  c #000000",
+static const char *up1arrow[]={
+"16 16 3 1",
 ". c None",
-/* pixels */
+"# c #000000",
+"a c #0080ff",
 "................",
 "................",
 "................",
 "................",
 "................",
-".......  .......",
-"......    ......",
-".....      .....",
-"....        ....",
-"...          ...",
-"..            ..",
+".......##.......",
+"......#aa#......",
+".....#aaaa#.....",
+"....#aaaaaa#....",
+"...#aaaaaaaa#...",
+"..############..",
 "................",
 "................",
 "................",
 "................",
-"................"
-};
+"................"};
--- a/kdiff3/src/xpm/up2arrow.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/up2arrow.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,24 +1,25 @@
 /* XPM */
 static const char *up2arrow[] = {
 /* columns rows colors chars-per-pixel */
-"16 16 2 1",
-"  c #000000",
+"16 16 3 1",
+"  c #0080ff",
+"# c #000000",
 ". c None",
 /* pixels */
 "................",
 "................",
-".......  .......",
-"......    ......",
-".....      .....",
-"....        ....",
-"...          ...",
-"..            ..",
-".......  .......",
-"......    ......",
-".....      .....",
-"....        ....",
-"...          ...",
-"..            ..",
+".......##.......",
+"......#  #......",
+".....#    #.....",
+"....#      #....",
+"...#        #...",
+"..############..",
+".......##.......",
+"......#  #......",
+".....#    #.....",
+"....#      #....",
+"...#        #...",
+"..############..",
 "................",
 "................"
 };
--- a/kdiff3/src/xpm/upend.xpm	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/src/xpm/upend.xpm	Mon Apr 10 08:40:51 2006 +0000
@@ -1,6 +1,7 @@
 /* XPM */
 static const char *upend[]={
-"16 16 2 1",
+"16 16 3 1",
+"  c #0080ff",
 "# c #000000",
 ". c None",
 "................",
@@ -9,10 +10,10 @@
 "................",
 "..############..",
 ".......##.......",
-"......####......",
-".....######.....",
-"....########....",
-"...##########...",
+"......#  #......",
+".....#    #.....",
+"....#      #....",
+"...#        #...",
 "..############..",
 "................",
 "................",
--- a/kdiff3/windows_installer/README_WIN.txt	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/windows_installer/README_WIN.txt	Mon Apr 10 08:40:51 2006 +0000
@@ -2,8 +2,8 @@
 =========================
 
 Author: Joachim Eibl  (joachim.eibl@gmx.de)
-Copyright: (C) 2002-2005 by Joachim Eibl
-KDiff3-Version: 0.9.87
+Copyright: (C) 2002-2006 by Joachim Eibl
+KDiff3-Version: 0.9.89
 Homepage: http://kdiff3.sourceforge.net
 
 KDiff3 is a program that
--- a/kdiff3/windows_installer/VERSION.NSI	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/windows_installer/VERSION.NSI	Mon Apr 10 08:40:51 2006 +0000
@@ -1,1 +1,1 @@
-!define MUI_VERSION "0.9.87"
+!define MUI_VERSION "0.9.89"
--- a/kdiff3/windows_installer/kdiff3.nsi	Mon Jan 31 22:30:47 2005 +0000
+++ b/kdiff3/windows_installer/kdiff3.nsi	Mon Apr 10 08:40:51 2006 +0000
@@ -12,7 +12,7 @@
 !define MUI_VERSION "" ;Define your own software version here
 !endif
 !ifndef QTDIR
-!define QTDIR "f:\qt\3.1.2"
+!define QTDIR "f:\qt\3.3.5"
 !endif
 !ifndef WINDOWS_DIR
 !define WINDOWS_DIR "c:\windows"
@@ -170,21 +170,39 @@
     File "kdiff3_es.qm"
     File "kdiff3_et.qm"
     File "kdiff3_fr.qm"
+    File "kdiff3_hi.qm"
     File "kdiff3_hu.qm"
     File "kdiff3_it.qm"
+    File "kdiff3_ja.qm"
+    File "kdiff3_lt.qm"
     File "kdiff3_nl.qm"
     File "kdiff3_pl.qm"
     File "kdiff3_pt.qm"
     File "kdiff3_pt_BR.qm"
     File "kdiff3_ru.qm"
     File "kdiff3_sr.qm"
+    File "kdiff3_sr@Latn.qm"
     File "kdiff3_sv.qm"
     File "kdiff3_ta.qm"
+    File "kdiff3_tg.qm"
     File "kdiff3_tr.qm"
     File "kdiff3_zh_CN.qm"
+    File "kdiff3_bg.qm"
+    File "kdiff3_br.qm"
+    File "kdiff3_cs.qm"
+    File "kdiff3_el.qm"
+    File "kdiff3_ga.qm"
+    File "kdiff3_ka.qm"
+    File "kdiff3_rw.qm"
+    File "qt_ar.qm"
+    File "qt_cs.qm"
     File "qt_de.qm"
     File "qt_fr.qm"
+    File "qt_iw.qm"
     File "qt_ru.qm"
+    File "qt_sk.qm"
+    File "qt_es.qm"
+    File "qt_he.qm"
     File "COPYING"
     File "Readme_Win.txt"
     File "ChangeLog.txt"
@@ -234,6 +252,11 @@
 ;  WriteRegStr HKCR "Directory\shell\KDiff3\command" "" '"$INSTDIR\kdiff3.exe" "%1"'
     CreateShortCut "$SMPROGRAMS\..\..\SendTo\KDiff3.lnk" '"$INSTDIR\kdiff3.exe"'
 SectionEnd 
+Section "TortoiseSVN"
+  DetailPrint "Integration to TortoiseSVN"
+  WriteRegStr HKCU "Software\TortoiseSVN\" "Diff" '$INSTDIR\kdiff3.exe %base %mine  --L1 Base --L2 Mine'
+  WriteRegStr HKCU "Software\TortoiseSVN\" "Merge" '$INSTDIR\kdiff3.exe %base %mine %theirs -o %merged --L1 Base --L2 Mine --L3 Theirs'
+SectionEnd
 SubSectionEnd
  
 ;Display the Finish header