# HG changeset patch # User joachim99 # Date 1095302408 0 # Node ID efe33e9387301ada820572b252697441b9f51090 # Parent 8ea11c8efeb5a3f5835c8c623816a872b1c159be 0.9.86 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/COPYING --- a/kdiff3/COPYING Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/COPYING Thu Sep 16 02:40:08 2004 +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 + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -278,3 +278,63 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + 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. + + 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. + + + Copyright (C) + + 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 + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year 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. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +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. diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/ChangeLog --- a/kdiff3/ChangeLog Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/ChangeLog Thu Sep 16 02:40:08 2004 +0000 @@ -1,3 +1,60 @@ +Version 0.9.86 - 2004/06/14 +=========================== +- Double click on any file in directory merge would close the directory merge window. (Regression in 0.9.85) + +Version 0.9.85 - 2004/06/14 +=========================== +- When solving a conflict KDiff3 reports the number of remaining unsolved conflicts in the status bar. +Bugfixes: +- Fix for MergeResultWindow-contextmenu: All items were disabled always. (new in 0.9.84) +- Fix for problem when opening files specified relative to current directory. (new in 0.9.84, qt-only-version) +- Fix for compilation with older gcc (2.9x) +- Several Word-wrap problems fixed: + - Find string with word wrap active didn't work if found text was not in first wrap-line. + - overview-position was not updated when toggling word wrap + - horizontal scrollbar was not updated when toggling word wrap + - current selection was lost when toggling word wrap + - selecting a conflict in the diff-text-window didn't work right with word wrap. +- Qt-only: Bold attribute for fonts was not persistent +- Qt-only: Toolbar position was not persistent +- Qt-only: Language-choice shows also the full language name. +- Cursor and windows-boundary-lines were always black instead of having the foreground color +- Starting KDiff3 with two not existing files showed a dialog saying that files are binary equal. +- Errors while starting a directory comparison now also reopens the open-dialog. +- Speedup during directory comparison by avoiding unnecessary redraws. (These always creep in again :-() +- On KDE: When resetting to default options (or first start) now the default KDE-fixed font will be used. +- Mergeresultwindow: Improved behaviour after automatic merge operation. + +Version 0.9.84 - 2004/05/29 +============================ +New Features: +- Word Wrap for DiffTextWindow +- Directory-Comparison: Option "Full Analysis" allows to show the number of solved vs. unsolved + conflicts or deltas vs. whitespace-changes in the directory tree. +- Diff-Menu for Diff-view specific entries +- Docs now contain a new chapter for uses of preprocessor and line-matching-preprocessor. +- Added several credits which now are also visible in the Qt-only version. +- The Qt-only version now also shows all command-line options. Under windows a dialog shows them. +- Command line options -u and -L for Subversion-support. +- Command line options --L1/2/3 for specifying alias names. +- In the Qt-only-version the user-interface-language can be set via the regional-settings + (only effective after a restart). +- ProgressDialog redesign for recursive use. +- Overview now allows to show the delta between two other files in triplediff-mode. +- Option to ignore case which treats case-changes like white space (instead of conversion to upcase). +Bugfixes: +- Dir-Comp: When one file exists, but the other doesn't then instead the latest used other file was displayed. +- Open dialog: When previously a file C was used, but should be empty now, it reappeared unbidden. +- Several bugs for 64-bit systems fixed. +- Fixed crash when one file ended with a newline and the other did not. +- Windows: Case insensitive filename-pattern matching. +- Corrected behaviour for files with size 0. +- Fix for crash due to a race-condition (Patch by Eike Sauer) +- Windows: Scrolling didn't work right when another window was in front. +- Mergeresultwindow didn't show correct position when starting a second or later merge. +- Fix for problem where sometimes the A/B/C-buttons were in wrong state. +- Pasting from selection via the middle mousebutton. + Version 0.9.83 - 2004/03/06 =========================== - Reading directorys fixed for Win95/98 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/README --- a/kdiff3/README Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/README Thu Sep 16 02:40:08 2004 +0000 @@ -2,8 +2,8 @@ ============= Author: Joachim Eibl (joachim.eibl@gmx.de) -Copyright: (C) 2002-2003 by Joachim Eibl -KDiff3-Version: 0.9.83 +Copyright: (C) 2002-2004 by Joachim Eibl +KDiff3-Version: 0.9.86 KDiff3 is a program that @@ -45,29 +45,29 @@ Requirements & Installation: - Version 0.9.83 provides special support for KDE3, but it can also be + Version 0.9.86 provides special support for KDE3, but it can also be built without KDE3 if the Qt-libraries are available. - (I also tested the program under Windows.) + (I also test and use the program under Windows.) You always need - - kdiff3-0.9.83.tar.gz + - kdiff3-0.9.86.tar.gz For building the KDE3-version - - KDE>=3.1 and QT>=3.1-libraries. + - KDE>=3.1 and QT>=3.1-libraries. (QT>=3.2 is recommended) - gcc, g++ with version >=3.2 For building the Qt-only-version - QT-libraries (version >=3.1.0). (www.trolltech.com) - for Un*x: gcc, g++ with version >=3.2 - - for Windows: VC6 + - for Windows: VC6 / VC7.1 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.83 and type + - cd into the directory kdiff3-0.9.86 and type - ./configure --prefix=/opt/kde3 (your KDE3 directory here) - (make clean) (Required if you already compiled once.) - make (Run compilation) @@ -82,7 +82,7 @@ This command should tell you: kde-config --prefix For SuSE and most distributions the prefix usually is /opt/kde3. - For Redhat and Mandrake the prefix usually is /usr. + For Redhat/Fedora and Mandrake the prefix usually is /usr. For a local installation, that doesn't need root rights try - ./configure --prefix=$KDEHOME ($KDEHOME probably is the same as $HOME/.kde) - make @@ -108,14 +108,14 @@ - 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.83/src and type + - cd into the directory kdiff3-0.9.86/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) - Note: The file kdiff3.pro was used to generate the Makefile.qt: qmake kdiff3.pro -o Makefile.qt - - + If you want to build the Qt-only version _and_ the KDE-version, do this + in separate directories, otherwise there will be errors. Build for Windows: Use qmake and kdiff3.pro to generate diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/TODO --- a/kdiff3/TODO Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/TODO Thu Sep 16 02:40:08 2004 +0000 @@ -1,16 +1,28 @@ + This file contains some feature-wishes for future KDiff3-versions. TODO ==== +- Overview-option to show only remaining conflicts. +- Colors for disabled and enabled arrow are very similar +- ??? 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. -- Automatic line wrap for too long lines in the difference windows +- 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. - And one observation. When select Cyrillic charset - it looks like it was not saved. When open this dialog again - Latin charset is selected anyway. -- Add options to specify a language and charset. +- Add options to specify charset. - Ask before saving to a file that already exists (optionally). - Don't overwrite existing .orig-file, when saving the second time. @@ -20,16 +32,13 @@ - Optionally show size/date for A/B/C - Choose what to see (all or only different items) - If only different items are visible: copy the others nevertheless to destdir. - - Improve Ctrl-1/2/3 shortcuts in Dirview. - - Warnung wenn Datum in B oder C älter als A ist. - - Zielverzeichnis nachträglich änderbar + - Warnung wenn Datum in B oder C �ter als A ist. + - Zielverzeichnis nachtr�lich �derbar - Bei Kopie von Remote nach lokal: Auf jeden Fall das modification Datum setzen. - Ctrl-Space doesn't work when a file comparison takes place. - Option to allow case-insensitive filename-matching. - Options to show/suppress annoying messages -- Unicode-support - - What's this-Help. - Tip of the day. @@ -49,32 +58,3 @@ - Allow analysis of unified directory-diff/patch-file. -- Add example for line-matching preprocessor to the documentation. - Simple testcase: Consider file a.txt (6 lines): - aa - ba - ca - da - ea - fa - And file b.txt (3 lines): - cg - dg - eg - And the following line matching preprocessor command, that replaces 'g' with 'a': - /usr/bin/perl -p -e 's/g/a/;' - Without that command the following lines would be placed next to each other: - aa - cg - ba - dg - ca - eg - da - ea - fa - But with this command the result of the comparison would be: - aa - ba - ca - cg - da - dg - ea - eg - fa - diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/Doxyfile.am --- a/kdiff3/admin/Doxyfile.am Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/Doxyfile.am Thu Sep 16 02:40:08 2004 +0000 @@ -17,6 +17,9 @@ 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; \ @@ -24,7 +27,17 @@ echo "GENERATE_MAN = $(GENERATE_FLAG)" >> Doxyfile ;\ echo "GENERATE_LATEX = $(GENERATE_FLAG)" >> Doxyfile ;\ if test -n "$(DOXYGEN_EXCLUDE)"; then \ - echo "EXCLUDE_PATTERNS += $(DOXYGEN_EXCLUDE)" >> Doxyfile; \ + 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 \ @@ -45,7 +58,7 @@ fi ;\ fi ;\ done ;\ - echo "GENERATE_TAGFILE = $(top_builddir)/apidocs/$(subdir)/$(subdir).tag" >> Doxyfile ;\ + 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 ;\ @@ -65,9 +78,9 @@ fi; \ if test -d $(top_builddir)/apidocs/$(subdir)/html; then \ list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \ + echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\ for file in $$list; do \ - echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ - $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ + $(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; \ @@ -76,9 +89,9 @@ 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" ;\ for file in $$list; do \ if test -f $(top_builddir)/apidocs/$$file; then \ - echo $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ fi; \ done ; fi; \ @@ -126,8 +139,8 @@ 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 "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 ; \ @@ -158,6 +171,9 @@ 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 + + # Local Variables: # mode: makefile # End: diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/Doxyfile.global --- a/kdiff3/admin/Doxyfile.global Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/Doxyfile.global Thu Sep 16 02:40:08 2004 +0000 @@ -1,4 +1,4 @@ -# Doxyfile 1.2.15 +# Doxyfile 1.3.5 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -11,7 +11,7 @@ # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- -# General configuration options +# Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded @@ -36,12 +36,156 @@ # 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, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, -# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, -# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish. +# 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 @@ -75,50 +219,24 @@ # 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 class will be included in the various +# 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 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. +# 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. -BRIEF_MEMBER_DESC = NO +HIDE_FRIEND_COMPOUNDS = 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. +# 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. -REPEAT_BRIEF = YES - -# 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 = +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 @@ -127,58 +245,26 @@ INTERNAL_DOCS = 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 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 +# 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 adviced to set this option to NO. +# users are advised to set this option to NO. CASE_SENSE_NAMES = YES -# 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 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 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 - # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put list of the files that are included by a file in the documentation +# 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 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 -# explict @brief command for a brief description. - -JAVADOC_AUTOBRIEF = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# reimplements. - -INHERIT_DOCS = YES - # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -191,18 +277,6 @@ SORT_MEMBER_DOCS = NO -# 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 - # 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. @@ -221,22 +295,11 @@ GENERATE_BUGLIST = YES -# 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. +# 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. -# @ref in KDE docu are for kdoc, doxygen doesn't need them, so we alias them -# to nothing here - -ALIASES = libdoc=@mainpage \ - sect=

\ - reimplemented= \ - "deprecated=This class or method is obsolete, it is provided for compatibility only." \ - obsolete=@deprecated \ - ref= +GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. @@ -244,7 +307,7 @@ ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consist of for it to appear in +# 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 @@ -253,20 +316,6 @@ MAX_INITIALIZER_LINES = 30 -# 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 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. @@ -294,6 +343,13 @@ 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 @@ -323,12 +379,17 @@ # 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 +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc FILE_PATTERNS = *.h \ *.cpp \ *.cc \ - *.hpp + *.hpp \ + *.dox \ + *.c++ \ + *.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. @@ -395,7 +456,7 @@ # 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. +# files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -404,7 +465,9 @@ #--------------------------------------------------------------------------- # 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. +# 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 @@ -413,6 +476,12 @@ 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. @@ -425,6 +494,12 @@ 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 #--------------------------------------------------------------------------- @@ -481,10 +556,12 @@ HTML_FOOTER = ../apidocs/common/footer.html -# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# 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 +# 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 @@ -501,6 +578,20 @@ GENERATE_HTMLHELP = NO +# 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). @@ -514,7 +605,7 @@ 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. +# to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO @@ -532,10 +623,9 @@ # 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 and frames is required (for instance Mozilla, Netscape 4.0+, -# or Internet explorer 4.0+). Note that for large projects the tree generation -# can take a very long time. In such cases it is better to disable this feature. -# Windows users are probably better off using the HTML help feature. +# 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 @@ -560,7 +650,8 @@ 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. +# 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 @@ -614,12 +705,18 @@ 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 optimised for Word 97 and may not look very pretty with +# The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO @@ -646,7 +743,7 @@ RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assigments. You only have to provide +# 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 = @@ -690,12 +787,35 @@ # 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. Note that this -# feature is still experimental and incomplete at the -# moment. +# 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 #--------------------------------------------------------------------------- @@ -709,6 +829,39 @@ 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 #--------------------------------------------------------------------------- @@ -755,9 +908,10 @@ # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. -PREDEFINED = QT_VERSION=305 +PREDEFINED = QT_VERSION=320 \ + __cplusplus -# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then +# 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. @@ -766,8 +920,9 @@ # 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 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. +# 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 @@ -775,7 +930,20 @@ # Configuration::addtions related to external references #--------------------------------------------------------------------------- -# The TAGFILES tag can be used to specify one or more tagfiles. +# 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 = @@ -806,13 +974,19 @@ #--------------------------------------------------------------------------- # 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 +# 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 superceded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yield more powerful graphs. +# 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 @@ -834,17 +1008,17 @@ 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 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 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 @@ -859,10 +1033,18 @@ 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 = NO +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 @@ -897,6 +1079,17 @@ 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. @@ -904,7 +1097,7 @@ GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermedate dot files that are used to generate +# remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES @@ -917,38 +1110,3 @@ # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO - -# The CGI_NAME tag should be the name of the CGI script that -# starts the search engine (doxysearch) with the correct parameters. -# A script with this name will be generated by doxygen. - -CGI_NAME = - -# The CGI_URL tag should be the absolute URL to the directory where the -# cgi binaries are located. See the documentation of your http daemon for -# details. - -CGI_URL = - -# The DOC_URL tag should be the absolute URL to the directory where the -# documentation is located. If left blank the absolute path to the -# documentation, with file:// prepended to it, will be used. - -DOC_URL = - -# The DOC_ABSPATH tag should be the absolute path to the directory where the -# documentation is located. If left blank the directory on the local machine -# will be used. - -DOC_ABSPATH = - -# The BIN_ABSPATH tag must point to the directory where the doxysearch binary -# is installed. - -BIN_ABSPATH = - -# The EXT_DOC_PATHS tag can be used to specify one or more paths to -# documentation generated for other projects. This allows doxysearch to search -# the documentation for these projects as well. - -EXT_DOC_PATHS = diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/Makefile.common --- a/kdiff3/admin/Makefile.common Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/Makefile.common Thu Sep 16 02:40:08 2004 +0000 @@ -6,7 +6,7 @@ SHELL=/bin/sh -cvs dist cvs-clean configure configure.in configure.files subdirs package-messages package-merge Makefile.am: +cvs dist cvs-clean configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4: @admindir=$(admindir); \ if test "x$$admindir" = x; then \ admindir=.; until test -f $$admindir/admin/cvs.sh; do \ @@ -23,10 +23,11 @@ if test "$@" = "package-merge"; then \ MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \ $(SHELL) $$admindir/cvs.sh package-merge ;\ - else MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\ + else \ + MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\ fi -configure.in: configure.files $(shell test -f configure.files && cat configure.files) subdirs +configure.in: configure.files subdirs configure.files: subdirs .SILENT: diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/acinclude.m4.in --- a/kdiff3/admin/acinclude.m4.in Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/acinclude.m4.in Thu Sep 16 02:40:08 2004 +0000 @@ -29,7 +29,7 @@ # KDE_PATH_X_DIRECT dnl Internal subroutine of AC_PATH_X. dnl Set ac_x_includes and/or ac_x_libraries. -AC_DEFUN(KDE_PATH_X_DIRECT, +AC_DEFUN([KDE_PATH_X_DIRECT], [ AC_REQUIRE([KDE_CHECK_LIB64]) @@ -156,7 +156,7 @@ dnl Find a file (or one of more files in a list of dirs) dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_FIND_FILE, +AC_DEFUN([AC_FIND_FILE], [ $3=NO for i in $2; @@ -175,7 +175,7 @@ dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, dnl if-not-found, test-parameter) -AC_DEFUN(KDE_FIND_PATH, +AC_DEFUN([KDE_FIND_PATH], [ AC_MSG_CHECKING([for $1]) if test -n "$$2"; then @@ -228,7 +228,7 @@ fi ]) -AC_DEFUN(KDE_MOC_ERROR_MESSAGE, +AC_DEFUN([KDE_MOC_ERROR_MESSAGE], [ AC_MSG_ERROR([No Qt meta object compiler (moc) found! Please check whether you installed Qt correctly. @@ -240,7 +240,7 @@ ]) ]) -AC_DEFUN(KDE_UIC_ERROR_MESSAGE, +AC_DEFUN([KDE_UIC_ERROR_MESSAGE], [ AC_MSG_WARN([No Qt ui compiler (uic) found! Please check whether you installed Qt correctly. @@ -253,7 +253,7 @@ ]) -AC_DEFUN(KDE_CHECK_UIC_FLAG, +AC_DEFUN([KDE_CHECK_UIC_FLAG], [ AC_MSG_CHECKING([whether uic supports -$1 ]) kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` @@ -288,8 +288,9 @@ dnl in $QTDIR/bin, and some more usual places dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_PATH_QT_MOC_UIC, +AC_DEFUN([AC_PATH_QT_MOC_UIC], [ + AC_REQUIRE([KDE_CHECK_PERL]) qt_bindirs="" for dir in $kde_qt_dirs; do qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" @@ -305,16 +306,19 @@ if test -z "$UIC_PATH" ; then KDE_UIC_ERROR_MESSAGE exit 1 - elif test $kde_qtver = 3; then - KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) - KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) - + else UIC=$UIC_PATH - if test x$ac_uic_supports_libpath = xyes; then - UIC="$UIC -L \$(kde_widgetdir)" - fi - if test x$ac_uic_supports_nounload = xyes; then - UIC="$UIC -nounload" + + if test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi fi fi else @@ -332,7 +336,7 @@ AC_SUBST(UIC_TR) ]) -AC_DEFUN(KDE_1_CHECK_PATHS, +AC_DEFUN([KDE_1_CHECK_PATHS], [ KDE_1_CHECK_PATH_HEADERS @@ -380,7 +384,7 @@ ]) -AC_DEFUN(KDE_SET_PATHS, +AC_DEFUN([KDE_SET_PATHS], [ kde_cv_all_paths="kde_have_all_paths=\"yes\" \ kde_htmldir=\"$kde_htmldir\" \ @@ -391,6 +395,7 @@ kde_locale=\"$kde_locale\" \ kde_cgidir=\"$kde_cgidir\" \ kde_confdir=\"$kde_confdir\" \ + kde_kcfgdir=\"$kde_kcfgdir\" \ kde_mimedir=\"$kde_mimedir\" \ kde_toolbardir=\"$kde_toolbardir\" \ kde_wallpaperdir=\"$kde_wallpaperdir\" \ @@ -402,58 +407,62 @@ kde_styledir=\"$kde_styledir\" \ kde_widgetdir=\"$kde_widgetdir\" \ xdg_appsdir=\"$xdg_appsdir\" \ + xdg_menudir=\"$xdg_menudir\" \ xdg_directorydir=\"$xdg_directorydir\" \ kde_result=$1" ]) -AC_DEFUN(KDE_SET_DEFAULT_PATHS, +AC_DEFUN([KDE_SET_DEFAULT_PATHS], [ if test "$1" = "default"; then if test -z "$kde_htmldir"; then - kde_htmldir='\${prefix}/share/doc/HTML' + kde_htmldir='\${datadir}/doc/HTML' fi if test -z "$kde_appsdir"; then - kde_appsdir='\${prefix}/share/applnk' + kde_appsdir='\${datadir}/applnk' fi if test -z "$kde_icondir"; then - kde_icondir='\${prefix}/share/icons' + kde_icondir='\${datadir}/icons' fi if test -z "$kde_sounddir"; then - kde_sounddir='\${prefix}/share/sounds' + kde_sounddir='\${datadir}/sounds' fi if test -z "$kde_datadir"; then - kde_datadir='\${prefix}/share/apps' + kde_datadir='\${datadir}/apps' fi if test -z "$kde_locale"; then - kde_locale='\${prefix}/share/locale' + kde_locale='\${datadir}/locale' fi if test -z "$kde_cgidir"; then kde_cgidir='\${exec_prefix}/cgi-bin' fi if test -z "$kde_confdir"; then - kde_confdir='\${prefix}/share/config' + kde_confdir='\${datadir}/config' + fi + if test -z "$kde_kcfgdir"; then + kde_kcfgdir='\${datadir}/config.kcfg' fi if test -z "$kde_mimedir"; then - kde_mimedir='\${prefix}/share/mimelnk' + kde_mimedir='\${datadir}/mimelnk' fi if test -z "$kde_toolbardir"; then - kde_toolbardir='\${prefix}/share/toolbar' + kde_toolbardir='\${datadir}/toolbar' fi if test -z "$kde_wallpaperdir"; then - kde_wallpaperdir='\${prefix}/share/wallpapers' + kde_wallpaperdir='\${datadir}/wallpapers' fi if test -z "$kde_templatesdir"; then - kde_templatesdir='\${prefix}/share/templates' + kde_templatesdir='\${datadir}/templates' fi if test -z "$kde_bindir"; then kde_bindir='\${exec_prefix}/bin' fi if test -z "$kde_servicesdir"; then - kde_servicesdir='\${prefix}/share/services' + kde_servicesdir='\${datadir}/services' fi if test -z "$kde_servicetypesdir"; then - kde_servicetypesdir='\${prefix}/share/servicetypes' + kde_servicetypesdir='\${datadir}/servicetypes' fi if test -z "$kde_moduledir"; then if test "$kde_qtver" = "2"; then @@ -469,7 +478,10 @@ kde_widgetdir='\${libdir}/kde3/plugins/designer' fi if test -z "$xdg_appsdir"; then - xdg_appsdir='\${datadir}/applications' + xdg_appsdir='\${datadir}/applications/kde' + fi + if test -z "$xdg_menudir"; then + xdg_menudir='\${sysconfdir}/xdg/menus' fi if test -z "$xdg_directorydir"; then xdg_directorydir='\${datadir}/desktop-directories' @@ -489,40 +501,42 @@ fi ]) -AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS, +AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || test -z "$kde_icondir" || test -z "$kde_sounddir" || test -z "$kde_datadir" || test -z "$kde_locale" || test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_kcfgdir" || test -z "$kde_mimedir" || test -z "$kde_toolbardir" || test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || test -z "$kde_bindir" || test -z "$kde_servicesdir" || test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || test -z "$kde_styledir" || test -z "kde_widgetdir" || - test -z "$xdg_appsdir" || test -z "xdg_directorydir" + test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || test "x$kde_have_all_paths" != "xyes"; then kde_have_all_paths=no fi ]) -AC_DEFUN(KDE_MISSING_PROG_ERROR, +AC_DEFUN([KDE_MISSING_PROG_ERROR], [ AC_MSG_ERROR([The important program $1 was not found! Please check whether you installed KDE correctly. ]) ]) -AC_DEFUN(KDE_MISSING_ARTS_ERROR, +AC_DEFUN([KDE_MISSING_ARTS_ERROR], [ AC_MSG_ERROR([The important program $1 was not found! -Please check whether you installed aRts correctly. +Please check whether you installed aRts correctly or use +--without-arts to compile without aRts support (this will remove functionality). ]) ]) -AC_DEFUN(KDE_SUBST_PROGRAMS, +AC_DEFUN([KDE_SUBST_PROGRAMS], [ AC_ARG_WITH(arts, - [ --without-arts build without aRts [default=detect] ], + AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]), [build_arts=$withval], [build_arts=yes] ) @@ -548,6 +562,21 @@ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + kde32ornewer=1 + if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then + kde32ornewer= + else + if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then + kde32ornewer= + fi + fi + + if test -n "$kde32ornewer"; then + 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 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" @@ -560,15 +589,22 @@ fi DCOP_DEPENDENCIES='$(DCOPIDL)' + if test -n "$kde32ornewer"; then + KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' + DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' + AC_SUBST(KCONFIG_COMPILER) + AC_SUBST(KCFG_DEPENDENCIES) + AC_SUBST(DCOPIDLNG) + fi AC_SUBST(DCOPIDL) AC_SUBST(DCOPIDL2CPP) AC_SUBST(DCOP_DEPENDENCIES) AC_SUBST(MCOPIDL) AC_SUBST(ARTSCCONFIG) AC_SUBST(KDECONFIG) - AC_SUBST(BROCKENBORING) 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` @@ -587,7 +623,7 @@ AC_SUBST(kde_libs_htmldir) ])dnl -AC_DEFUN(AC_CREATE_KFSSTND, +AC_DEFUN([AC_CREATE_KFSSTND], [ AC_REQUIRE([AC_CHECK_RPATH]) @@ -605,13 +641,13 @@ # wrong values were cached, may be, we can set better ones kde_result= kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= - kde_datadir= kde_locale= kde_cgidir= kde_confdir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= kde_have_all_paths= kde_styledir= kde_widgetdir= - xdg_appsdir = xdg_directorydir= + xdg_appsdir = xdg_menudir= xdg_directorydir= KDE_SET_DEFAULT_PATHS($1) eval "$kde_cv_all_paths" KDE_CHECK_PATHS_FOR_COMPLETENESS @@ -635,7 +671,7 @@ ]) -AC_DEFUN(AC_SUBST_KFSSTND, +AC_DEFUN([AC_SUBST_KFSSTND], [ AC_SUBST(kde_htmldir) AC_SUBST(kde_appsdir) @@ -644,11 +680,13 @@ AC_SUBST(kde_datadir) AC_SUBST(kde_locale) AC_SUBST(kde_confdir) +AC_SUBST(kde_kcfgdir) AC_SUBST(kde_mimedir) AC_SUBST(kde_wallpaperdir) AC_SUBST(kde_bindir) dnl X Desktop Group standards AC_SUBST(xdg_appsdir) +AC_SUBST(xdg_menudir) AC_SUBST(xdg_directorydir) dnl for KDE 2 AC_SUBST(kde_templatesdir) @@ -670,9 +708,8 @@ dnl AC_SUBST(kde_toolbardir) ]) -AC_DEFUN(KDE_MISC_TESTS, +AC_DEFUN([KDE_MISC_TESTS], [ - AC_LANG_C dnl Checks for libraries. AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD AC_SUBST(LIBUTIL) @@ -691,7 +728,6 @@ AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) fi AC_CHECK_SOCKLEN_T - AC_LANG_C AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) if test $ac_cv_lib_dnet_dnet_ntoa = no; then AC_CHECK_LIB(dnet_stub, dnet_ntoa, @@ -807,28 +843,28 @@ dnl macro AC_PATH_X dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(K_PATH_X, +AC_DEFUN([K_PATH_X], [ AC_REQUIRE([KDE_MISC_TESTS])dnl AC_REQUIRE([KDE_CHECK_LIB64]) AC_ARG_ENABLE( embedded, - [ --enable-embedded link to Qt-embedded, don't use X], + AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), kde_use_qt_emb=$enableval, kde_use_qt_emb=no ) AC_ARG_ENABLE( qtopia, - [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment], + AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), kde_use_qt_emb_palm=$enableval, kde_use_qt_emb_palm=no ) AC_ARG_ENABLE( mac, - [ --enable-mac link to Qt/Mac (don't use X)], + AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), kde_use_qt_mac=$enableval, kde_use_qt_mac=no ) @@ -836,8 +872,7 @@ if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then AC_MSG_CHECKING(for X) -AC_LANG_SAVE -AC_LANG_C + AC_CACHE_VAL(kde_cv_have_x, [# One or both of the vars are not set, and there is no cached value. if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then @@ -1023,11 +1058,9 @@ AC_SUBST(QTE_NORTTI) AC_SUBST(LIB_XEXT) -AC_LANG_RESTORE - ]) -AC_DEFUN(KDE_PRINT_QT_PROGRAM, +AC_DEFUN([KDE_PRINT_QT_PROGRAM], [ AC_REQUIRE([KDE_USE_QT]) cat > conftest.$ac_ext < /dev/null; then kde_cv_uic_plugins=yes fi @@ -1582,9 +1624,11 @@ fi ]) -AC_DEFUN(KDE_CHECK_FINAL, +AC_DEFUN([KDE_CHECK_FINAL], [ - AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)], + AC_ARG_ENABLE(final, + AC_HELP_STRING([--enable-final], + [build size optimized apps (experimental - needs lots of memory)]), kde_use_final=$enableval, kde_use_final=no) if test "x$kde_use_final" = "xyes"; then @@ -1598,10 +1642,11 @@ AC_SUBST(KDE_USE_FINAL_FALSE) ]) -AC_DEFUN(KDE_CHECK_CLOSURE, +AC_DEFUN([KDE_CHECK_CLOSURE], [ - AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation], - kde_use_closure=$enableval, kde_use_closure=yes) + AC_ARG_ENABLE(closure, + AC_HELP_STRING([--enable-closure],[delay template instantiation]), + kde_use_closure=$enableval, kde_use_closure=no) KDE_NO_UNDEFINED="" if test "x$kde_use_closure" = "xyes"; then @@ -1611,20 +1656,25 @@ else KDE_USE_CLOSURE_TRUE="#" KDE_USE_CLOSURE_FALSE="" - KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], - [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], + KDE_NO_UNDEFINED="" + case $host in + *-*-linux-gnu) + KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], + [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], [KDE_NO_UNDEFINED=""])], [KDE_NO_UNDEFINED=""]) + ;; + esac fi AC_SUBST(KDE_USE_CLOSURE_TRUE) AC_SUBST(KDE_USE_CLOSURE_FALSE) AC_SUBST(KDE_NO_UNDEFINED) ]) -AC_DEFUN(KDE_CHECK_NMCHECK, +AC_DEFUN([KDE_CHECK_NMCHECK], [ - AC_ARG_ENABLE(nmcheck, [ --enable-nmcheck enable automatic namespace cleanness check], + AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), kde_use_nmcheck=$enableval, kde_use_nmcheck=no) if test "$kde_use_nmcheck" = "yes"; then @@ -1638,6 +1688,13 @@ AC_SUBST(KDE_USE_NMCHECK_FALSE) ]) +AC_DEFUN([KDE_EXPAND_MAKEVAR], [ +savex=$exec_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +tmp=$$2 +while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done +exec_prefix=$savex +]) dnl ------------------------------------------------------------------------ dnl Now, the same with KDE @@ -1645,9 +1702,9 @@ dnl and $(kde_includes) will be the kdehdrlocation (if needed) dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_BASE_PATH_KDE, +AC_DEFUN([AC_BASE_PATH_KDE], [ -AC_PREREQ([2.13]) +AC_REQUIRE([KDE_CHECK_STL]) AC_REQUIRE([AC_PATH_QT])dnl AC_REQUIRE([KDE_CHECK_LIB64]) @@ -1655,19 +1712,12 @@ AC_MSG_CHECKING([for KDE]) if test "${prefix}" != NONE; then - kde_includes=${prefix}/include - ac_kde_includes=$prefix/include - - if test "${exec_prefix}" != NONE; then - kde_libraries=${libdir} - ac_kde_libraries=$libdir - if test "$ac_kde_libraries" = '${exec_prefix}/lib'${kdelibsuff}; then - ac_kde_libraries=$exec_prefix/lib${kdelibsuff} - fi - else - kde_libraries=${prefix}/lib${kdelibsuff} - ac_kde_libraries=$prefix/lib${kdelibsuff} - fi + kde_includes=${includedir} + KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) + + kde_libraries=${libdir} + KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) + else ac_kde_includes= ac_kde_libraries= @@ -1758,7 +1808,7 @@ fi kde_libraries="${libdir}" - kde_includes=${ac_kde_prefix}/include + kde_includes="${includedir}" else ac_cv_have_kde="have_kde=yes \ @@ -1806,11 +1856,10 @@ ]) -AC_DEFUN(KDE_CHECK_EXTRA_LIBS, +AC_DEFUN([KDE_CHECK_EXTRA_LIBS], [ AC_MSG_CHECKING(for extra includes) -AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR - adds non standard include paths], +AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), kde_use_extra_includes="$withval", kde_use_extra_includes=NONE ) @@ -1835,7 +1884,7 @@ kde_extra_libs= AC_MSG_CHECKING(for extra libs) -AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths], +AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), kde_use_extra_libs=$withval, kde_use_extra_libs=NONE ) @@ -1861,7 +1910,7 @@ ]) -AC_DEFUN(KDE_1_CHECK_PATH_HEADERS, +AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], [ AC_MSG_CHECKING([for KDE headers installed]) AC_LANG_SAVE @@ -1895,12 +1944,15 @@ printf("kde_styledir=\\"/tmp/dummy\\"\n"); printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); + printf("xdg_menudir=\\"/tmp/dummy\\"\n"); printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); + printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); return 0; } EOF - ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext' + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$all_includes $CPPFLAGS" if AC_TRY_EVAL(ac_compile); then AC_MSG_RESULT(yes) else @@ -1908,11 +1960,12 @@ Check, if you installed the KDE header files correctly. For more details about this problem, look at the end of config.log.]) fi + CPPFLAGS=$ac_save_CPPFLAGS AC_LANG_RESTORE ]) -AC_DEFUN(KDE_CHECK_KDEQTADDON, +AC_DEFUN([KDE_CHECK_KDEQTADDON], [ AC_MSG_CHECKING(for kde-qt-addon) AC_CACHE_VAL(kde_cv_have_kdeqtaddon, @@ -1948,38 +2001,7 @@ fi ]) -AC_DEFUN(KDE_CHECK_KIMGIO, -[ - AC_REQUIRE([AC_BASE_PATH_KDE]) - AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) - AC_REQUIRE([AC_FIND_TIFF]) - AC_REQUIRE([AC_FIND_JPEG]) - AC_REQUIRE([AC_FIND_PNG]) - AC_REQUIRE([AC_FIND_JASPER]) - AC_REQUIRE([KDE_CREATE_LIBS_ALIASES]) - - if test "$1" = "existance"; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - kde_save_LIBS="$LIBS" - LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm" - AC_CHECK_LIB(kimgio, kimgioRegister, [ - LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no) - LIBS="$kde_save_LIBS" - AC_LANG_RESTORE - else - LIBKIMGIO_EXISTS=yes - fi - - if test "$LIBKIMGIO_EXISTS" = "yes"; then - LIB_KIMGIO='-lkimgio' - else - LIB_KIMGIO='' - fi - AC_SUBST(LIB_KIMGIO) -]) - -AC_DEFUN(KDE_CREATE_LIBS_ALIASES, +AC_DEFUN([KDE_CREATE_LIBS_ALIASES], [ AC_REQUIRE([KDE_MISC_TESTS]) AC_REQUIRE([KDE_CHECK_LIBDL]) @@ -1996,6 +2018,8 @@ AC_SUBST(LIB_KSPELL, "-lkspell") AC_SUBST(LIB_KPARTS, "-lkparts") AC_SUBST(LIB_KDEPRINT, "-lkdeprint") + AC_SUBST(LIB_KUTILS, "-lkutils") + AC_SUBST(LIB_KDEPIM, "-lkdepim") # these are for backward compatibility AC_SUBST(LIB_KSYCOCA, "-lkio") AC_SUBST(LIB_KFILE, "-lkio") @@ -2020,10 +2044,10 @@ fi ]) -AC_DEFUN(AC_PATH_KDE, +AC_DEFUN([AC_PATH_KDE], [ AC_BASE_PATH_KDE - AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install], + AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), [ if test "$enableval" = "no"; then ac_use_path_checking="default" @@ -2045,7 +2069,7 @@ ]) dnl KDE_CHECK_FUNC_EXT(, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) -AC_DEFUN(KDE_CHECK_FUNC_EXT, +AC_DEFUN([KDE_CHECK_FUNC_EXT], [ AC_MSG_CHECKING(for $1) AC_CACHE_VAL(kde_cv_func_$1, @@ -2126,14 +2150,17 @@ [ #if !defined(HAVE_$5_PROTO) #ifdef __cplusplus -extern "C" +extern "C" { #endif $4; +#ifdef __cplusplus +} +#endif #endif ]) ]) -AC_DEFUN(AC_CHECK_SETENV, +AC_DEFUN([AC_CHECK_SETENV], [ KDE_CHECK_FUNC_EXT(setenv, [ #include @@ -2143,7 +2170,7 @@ [SETENV]) ]) -AC_DEFUN(AC_CHECK_UNSETENV, +AC_DEFUN([AC_CHECK_UNSETENV], [ KDE_CHECK_FUNC_EXT(unsetenv, [ #include @@ -2153,21 +2180,23 @@ [UNSETENV]) ]) -AC_DEFUN(AC_CHECK_GETDOMAINNAME, +AC_DEFUN([AC_CHECK_GETDOMAINNAME], [ KDE_CHECK_FUNC_EXT(getdomainname, [ #include #include +#include ], [ char buffer[200]; getdomainname(buffer, 200); ], - [int getdomainname (char *, size_t)], + [#include + int getdomainname (char *, size_t)], [GETDOMAINNAME]) ]) -AC_DEFUN(AC_CHECK_GETHOSTNAME, +AC_DEFUN([AC_CHECK_GETHOSTNAME], [ KDE_CHECK_FUNC_EXT(gethostname, [ #include @@ -2181,7 +2210,7 @@ [GETHOSTNAME]) ]) -AC_DEFUN(AC_CHECK_USLEEP, +AC_DEFUN([AC_CHECK_USLEEP], [ KDE_CHECK_FUNC_EXT(usleep, [ #include @@ -2194,7 +2223,7 @@ ]) -AC_DEFUN(AC_CHECK_RANDOM, +AC_DEFUN([AC_CHECK_RANDOM], [ KDE_CHECK_FUNC_EXT(random, [ #include @@ -2216,7 +2245,7 @@ ]) -AC_DEFUN(AC_CHECK_INITGROUPS, +AC_DEFUN([AC_CHECK_INITGROUPS], [ KDE_CHECK_FUNC_EXT(initgroups, [ #include @@ -2231,7 +2260,7 @@ [INITGROUPS]) ]) -AC_DEFUN(AC_CHECK_MKSTEMPS, +AC_DEFUN([AC_CHECK_MKSTEMPS], [ KDE_CHECK_FUNC_EXT(mkstemps, [ #include @@ -2244,7 +2273,7 @@ [MKSTEMPS]) ]) -AC_DEFUN(AC_CHECK_MKDTEMP, +AC_DEFUN([AC_CHECK_MKDTEMP], [ KDE_CHECK_FUNC_EXT(mkdtemp, [ #include @@ -2258,7 +2287,7 @@ ]) -AC_DEFUN(AC_CHECK_RES_INIT, +AC_DEFUN([AC_CHECK_RES_INIT], [ AC_MSG_CHECKING([if res_init needs -lresolv]) kde_libs_safe="$LIBS" @@ -2302,7 +2331,7 @@ ) ]) -AC_DEFUN(AC_CHECK_STRLCPY, +AC_DEFUN([AC_CHECK_STRLCPY], [ KDE_CHECK_FUNC_EXT(strlcpy, [ #include @@ -2314,7 +2343,7 @@ [STRLCPY]) ]) -AC_DEFUN(AC_CHECK_STRLCAT, +AC_DEFUN([AC_CHECK_STRLCAT], [ KDE_CHECK_FUNC_EXT(strlcat, [ #include @@ -2327,7 +2356,7 @@ [STRLCAT]) ]) -AC_DEFUN(AC_FIND_GIF, +AC_DEFUN([AC_FIND_GIF], [AC_MSG_CHECKING([for giflib]) AC_CACHE_VAL(ac_cv_lib_gif, [ac_save_LIBS="$LIBS" @@ -2361,12 +2390,11 @@ fi ]) -AC_DEFUN(KDE_FIND_JPEG_HELPER, +AC_DEFUN([KDE_FIND_JPEG_HELPER], [ AC_MSG_CHECKING([for libjpeg$2]) AC_CACHE_VAL(ac_cv_lib_jpeg_$1, [ -AC_LANG_C ac_save_LIBS="$LIBS" LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" ac_save_CFLAGS="$CFLAGS" @@ -2404,7 +2432,7 @@ ]) -AC_DEFUN(AC_FIND_JPEG, +AC_DEFUN([AC_FIND_JPEG], [ dnl first look for libraries KDE_FIND_JPEG_HELPER(6b, 6b, @@ -2456,7 +2484,7 @@ ]) ]) -AC_DEFUN(KDE_CHECK_QT_JPEG, +AC_DEFUN([KDE_CHECK_QT_JPEG], [ if test -n "$LIBJPEG"; then AC_MSG_CHECKING([if Qt needs $LIBJPEG]) @@ -2493,13 +2521,12 @@ ]) -AC_DEFUN(AC_FIND_ZLIB, +AC_DEFUN([AC_FIND_ZLIB], [ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) AC_MSG_CHECKING([for libz]) AC_CACHE_VAL(ac_cv_lib_z, [ -AC_LANG_C kde_save_LIBS="$LIBS" LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" kde_save_CFLAGS="$CFLAGS" @@ -2536,7 +2563,7 @@ AC_SUBST(LIBZ) ]) -AC_DEFUN(KDE_TRY_TIFFLIB, +AC_DEFUN([KDE_TRY_TIFFLIB], [ AC_MSG_CHECKING([for libtiff $1]) @@ -2582,7 +2609,7 @@ ]) -AC_DEFUN(AC_FIND_TIFF, +AC_DEFUN([AC_FIND_TIFF], [ AC_REQUIRE([K_PATH_X]) AC_REQUIRE([AC_FIND_ZLIB]) @@ -2596,7 +2623,7 @@ ]) -AC_DEFUN(AC_FIND_PNG, +AC_DEFUN([AC_FIND_PNG], [ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) AC_REQUIRE([AC_FIND_ZLIB]) @@ -2611,7 +2638,7 @@ fi kde_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_LANG_C + AC_TRY_LINK(dnl [ #include @@ -2640,7 +2667,7 @@ ]) -AC_DEFUN(AC_FIND_JASPER, +AC_DEFUN([AC_FIND_JASPER], [ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) AC_REQUIRE([AC_FIND_JPEG]) @@ -2651,7 +2678,7 @@ LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" kde_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" -AC_LANG_C + AC_TRY_LINK(dnl [ #include @@ -2676,12 +2703,12 @@ AC_SUBST(LIB_JASPER) ]) -AC_DEFUN(AC_CHECK_BOOL, +AC_DEFUN([AC_CHECK_BOOL], [ AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) ]) -AC_DEFUN(AC_CHECK_GNU_EXTENSIONS, +AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], [ AC_MSG_CHECKING(if you need GNU extensions) AC_CACHE_VAL(ac_cv_gnu_extensions, @@ -2709,7 +2736,7 @@ fi ]) -AC_DEFUN(KDE_CHECK_COMPILER_FLAG, +AC_DEFUN([KDE_CHECK_COMPILER_FLAG], [ AC_MSG_CHECKING([whether $CXX supports -$1]) kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` @@ -2737,7 +2764,7 @@ 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 -AC_DEFUN(AC_REMOVE_FORBIDDEN, +AC_DEFUN([AC_REMOVE_FORBIDDEN], [ __val=$$1 __forbid=" $2 " if test -n "$__val"; then @@ -2758,7 +2785,7 @@ ]) dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given -AC_DEFUN(AC_VALIDIFY_CXXFLAGS, +AC_DEFUN([AC_VALIDIFY_CXXFLAGS], [dnl if test "x$kde_use_qt_emb" != "xyes"; then AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) @@ -2769,9 +2796,10 @@ fi ]) -AC_DEFUN(AC_CHECK_COMPILERS, +AC_DEFUN([AC_CHECK_COMPILERS], [ - AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]], + AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), [ case $enableval in yes) @@ -2793,9 +2821,14 @@ ]) dnl Just for configure --help - AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[]) - - AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], + AC_ARG_ENABLE(dummyoption, + AC_HELP_STRING([--disable-debug], + [disables debug output and debug symbols [default=no]]), + [],[]) + + AC_ARG_ENABLE(strict, + AC_HELP_STRING([--enable-strict], + [compiles with strict compiler options (may not work!)]), [ if test $enableval = "no"; then kde_use_strict_options="no" @@ -2804,7 +2837,7 @@ fi ], [kde_use_strict_options="no"]) - AC_ARG_ENABLE(warnings,[ --disable-warnings disables compilation with -Wall and similiar], + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]), [ if test $enableval = "no"; then kde_use_warnings="no" @@ -2818,7 +2851,7 @@ kde_use_warnings=yes fi - AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]], + AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), [kde_use_profiling=$enableval], [kde_use_profiling="no"] ) @@ -2901,12 +2934,12 @@ if test "$GCC" = "yes"; then case $host in *-*-linux-gnu) - CFLAGS="-ansi -W -Wall -pedantic -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CFLAGS="-ansi -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"]) ;; esac - CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + 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"]) @@ -2929,7 +2962,9 @@ 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,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]], + 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]) @@ -2998,14 +3033,14 @@ ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) ]) -AC_DEFUN(KDE_ADD_DEPENDENCIES, +AC_DEFUN([KDE_ADD_DEPENDENCIES], [ [A]M_DEPENDENCIES(CC) [A]M_DEPENDENCIES(CXX) ]) dnl just a wrapper to clean up configure.in -AC_DEFUN(KDE_PROG_LIBTOOL, +AC_DEFUN([KDE_PROG_LIBTOOL], [ AC_REQUIRE([AC_CHECK_COMPILERS]) AC_REQUIRE([AC_ENABLE_SHARED]) @@ -3014,11 +3049,8 @@ AC_REQUIRE([AC_LIBTOOL_DLOPEN]) AC_REQUIRE([KDE_CHECK_LIB64]) -AC_LANG_SAVE -AC_LANG_C AC_OBJEXT AC_EXEEXT -AC_LANG_RESTORE AM_PROG_LIBTOOL AC_LIBTOOL_CXX @@ -3028,30 +3060,20 @@ KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" AC_SUBST(KDE_PLUGIN) -AC_ARG_ENABLE(objprelink, [ --enable-objprelink prelink apps using objprelink (obsolete)], - kde_use_objprelink=$enableval, kde_use_objprelink=no) - if test "x$kde_use_objprelink" = "xyes"; then - AC_MSG_WARN([ ------------------------------------------------------------- -Configuration option --enable-objprelink is no longer useful. -See http:://objprelink.sourceforge.net for details: -1- Recent binutils are fast enough to do without objprelink. -2- Newer versions of objprelink do not need this option. ------------------------------------------------------------- +# 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') ]) - fi -]) - -AC_DEFUN(KDE_CHECK_LIB64, + +AC_DEFUN([KDE_CHECK_LIB64], [ - kdelibsuff=none + kdelibsuff=no AC_ARG_ENABLE(libsuffix, AC_HELP_STRING([--enable-libsuffix], [/lib directory suffix (64,32,none[=default])]), kdelibsuff=$enableval) # TODO: add an auto case that compiles a little C app to check # where the glibc is - if test "$kdelibsuff" = "none"; then + if test "$kdelibsuff" = "no"; then kdelibsuff= fi if test -z "$kdelibsuff"; then @@ -3067,13 +3089,14 @@ fi ]) -AC_DEFUN(KDE_CHECK_TYPES, +AC_DEFUN([KDE_CHECK_TYPES], [ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(short)dnl AC_CHECK_SIZEOF(long, 4)dnl AC_CHECK_SIZEOF(char *, 4)dnl ])dnl -AC_DEFUN(KDE_DO_IT_ALL, +AC_DEFUN([KDE_DO_IT_ALL], [ AC_CANONICAL_SYSTEM AC_ARG_PROGRAM @@ -3086,11 +3109,11 @@ AC_PATH_KDE ]) -AC_DEFUN(AC_CHECK_RPATH, +AC_DEFUN([AC_CHECK_RPATH], [ AC_MSG_CHECKING(for rpath) AC_ARG_ENABLE(rpath, - [ --disable-rpath do not use the rpath feature of ld], + AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), USE_RPATH=$enableval, USE_RPATH=yes) if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then @@ -3102,7 +3125,7 @@ fi dnl $x_libraries is set to /usr/lib in case if test -n "$X_LDFLAGS"; then - X_RPATH="-R \$(x_libraries)" + X_RPATH="-R \$(x_libraries)" KDE_RPATH="$KDE_RPATH $X_RPATH" fi if test -n "$KDE_EXTRA_RPATH"; then @@ -3116,7 +3139,7 @@ ]) dnl Check for the type of the third argument of getsockname -AC_DEFUN(AC_CHECK_SOCKLEN_T, [ +AC_DEFUN([AC_CHECK_SOCKLEN_T], [ AC_MSG_CHECKING(for socklen_t) AC_CACHE_VAL(ac_cv_socklen_t, [ AC_LANG_SAVE @@ -3168,7 +3191,7 @@ dnl > dnl for this file it is relicensed under LGPL -AC_DEFUN(AM_KDE_WITH_NLS, +AC_DEFUN([AM_KDE_WITH_NLS], [ dnl If we use NLS figure out what method @@ -3211,7 +3234,7 @@ dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE, +AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) @@ -3253,7 +3276,7 @@ # serial 1 -AC_DEFUN(AM_LC_MESSAGES, +AC_DEFUN([AM_LC_MESSAGES], [if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], @@ -3299,7 +3322,7 @@ # serial 1 # Stephan Kulow: I put a KDE in it to avoid name conflicts -AC_DEFUN(AM_KDE_GNU_GETTEXT, +AC_DEFUN([AM_KDE_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_HEADER_STDC])dnl @@ -3361,14 +3384,14 @@ ]) -AC_DEFUN(AC_HAVE_XPM, +AC_DEFUN([AC_HAVE_XPM], [AC_REQUIRE_CPP()dnl AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= test -z "$XPM_INCLUDE" && XPM_INCLUDE= - AC_ARG_WITH(xpm, [ --without-xpm disable color pixmap XPM tests], + AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), xpm_test=$withval, xpm_test="yes") if test "x$xpm_test" = xno; then ac_cv_have_xpm=no @@ -3376,7 +3399,6 @@ AC_MSG_CHECKING(for XPM) AC_CACHE_VAL(ac_cv_have_xpm, [ - AC_LANG_C ac_save_ldflags="$LDFLAGS" ac_save_cflags="$CFLAGS" if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then @@ -3417,7 +3439,7 @@ AC_SUBST(XPMLIB) ]) -AC_DEFUN(AC_HAVE_DPMS, +AC_DEFUN([AC_HAVE_DPMS], [AC_REQUIRE_CPP()dnl AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) @@ -3425,7 +3447,7 @@ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= DPMS_LIB= - AC_ARG_WITH(dpms, [ --without-dpms disable DPMS power saving], + AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), dpms_test=$withval, dpms_test="yes") if test "x$dpms_test" = xno; then ac_cv_have_dpms=no @@ -3439,7 +3461,6 @@ AC_MSG_RESULT(no) ac_cv_have_dpms="no" else - AC_LANG_C ac_save_ldflags="$LDFLAGS" ac_save_cflags="$CFLAGS" ac_save_libs="$LIBS" @@ -3501,18 +3522,32 @@ $1 fi fi + ac_save_cflags="$CFLAGS" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, + [Define if you have the DPMSCapable prototype in ]) + AC_CHECK_DECL(DPMSCapable, + AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, + [#include ]) + AH_TEMPLATE(HAVE_DPMSINFO_PROTO, + [Define if you have the DPMSInfo prototype in ]) + AC_CHECK_DECL(DPMSInfo, + AC_DEFINE(HAVE_DPMSINFO_PROTO),, + [#include ]) + CFLAGS="$ac_save_cflags" AC_SUBST(DPMSINC) AC_SUBST(DPMSLIB) ]) -AC_DEFUN(AC_HAVE_GL, +AC_DEFUN([AC_HAVE_GL], [AC_REQUIRE_CPP()dnl AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) test -z "$GL_LDFLAGS" && GL_LDFLAGS= test -z "$GL_INCLUDE" && GL_INCLUDE= - AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes], + AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), gl_test=$withval, gl_test="yes") if test "x$kde_use_qt_emb" = "xyes"; then # GL and Qt Embedded is a no-go for now. @@ -3588,72 +3623,74 @@ dnl shadow password and PAM magic - maintained by ossi@kde.org -AC_DEFUN(KDE_PAM, [ +AC_DEFUN([KDE_PAM], [ AC_REQUIRE([KDE_CHECK_LIBDL]) + want_pam= AC_ARG_WITH(pam, - [ --with-pam[=ARG] enable support for PAM: ARG=[yes|no|service name]], + AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), [ if test "x$withval" = "xyes"; then - use_pam=yes + want_pam=yes pam_service=kde elif test "x$withval" = "xno"; then - use_pam=no + want_pam=no else - use_pam=yes + want_pam=yes pam_service=$withval fi - ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" - ], [ - AC_CACHE_VAL(ac_cv_path_pam, - [ use_pam=no - AC_CHECK_LIB(pam, pam_start, - [ use_pam=yes - pam_service=kde - ], , $LIBDL) - ]) - ]) - eval "$ac_cv_path_pam" - - pam_header= - - AC_CHECK_HEADER(security/pam_appl.h, - [ pam_header="security/pam_appl.h" - ], - [ AC_CHECK_HEADER(pam/pam_appl.h, - [ pam_header="pam/pam_appl.h" - ], [ use_pam=no - ]) - ]) - - AC_MSG_CHECKING(for PAM) - if test "x$use_pam" = xno; then - AC_MSG_RESULT(no) - PAMLIBS="" - else - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) - PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" - - dnl test whether struct pam_message is const (Linux) or not (Sun) - AC_MSG_CHECKING(for const pam_message) - AC_EGREP_HEADER([struct pam_message], $pam_header, - [ AC_EGREP_HEADER([const struct pam_message], $pam_header, - [AC_MSG_RESULT([const: Linux-type PAM])], - [AC_MSG_RESULT([nonconst: Sun-type PAM]) - AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] - )], - [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + ], [ pam_service=kde ]) + + use_pam= + PAMLIBS= + if test "x$want_pam" != xno; then + AC_CHECK_LIB(pam, pam_start, [ + AC_CHECK_HEADER(security/pam_appl.h, + [ pam_header=security/pam_appl.h ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ pam_header=pam/pam_appl.h ], + [ + AC_MSG_WARN([PAM detected, but no headers found! +Make sure you have the necessary development packages installed.]) + ] + ) + ] + ) + ], , $LIBDL) + if test -z "$pam_header"; then + if test "x$want_pam" = xyes; then + AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) + fi + else + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + use_pam=yes + + dnl darwin claims to be something special + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) + fi + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi fi AC_SUBST(PAMLIBS) ]) dnl DEF_PAM_SERVICE(arg name, full name, define name) -AC_DEFUN(DEF_PAM_SERVICE, [ +AC_DEFUN([DEF_PAM_SERVICE], [ AC_ARG_WITH($1-pam, - [ --with-$1-pam=[val] override PAM service from --with-pam for $2], + AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), [ if test "x$use_pam" = xyes; then - $3_PAM_SERVICE="$withval" + $3_PAM_SERVICE=$withval else AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. You may want to enforce it by using --with-pam.]) @@ -3670,7 +3707,7 @@ AC_SUBST($3_PAM_SERVICE) ]) -AC_DEFUN(KDE_SHADOWPASSWD, [ +AC_DEFUN([KDE_SHADOWPASSWD], [ AC_REQUIRE([KDE_PAM]) AC_CHECK_LIB(shadow, getspent, @@ -3693,7 +3730,7 @@ AC_MSG_CHECKING([for shadow passwords]) AC_ARG_WITH(shadow, - [ --with-shadow If you want shadow password support ], + AC_HELP_STRING([--with-shadow],[If you want shadow password support]), [ if test "x$withval" != "xno"; then use_shadow=yes else @@ -3727,7 +3764,7 @@ ]) -AC_DEFUN(KDE_PASSWDLIBS, [ +AC_DEFUN([KDE_PASSWDLIBS], [ AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT AC_REQUIRE([KDE_PAM]) AC_REQUIRE([KDE_SHADOWPASSWD]) @@ -3753,7 +3790,7 @@ AC_SUBST(PASSWDLIBS) ]) -AC_DEFUN(KDE_CHECK_LIBDL, +AC_DEFUN([KDE_CHECK_LIBDL], [ AC_CHECK_LIB(dl, dlopen, [ LIBDL="-ldl" @@ -3768,7 +3805,7 @@ AC_SUBST(LIBDL) ]) -AC_DEFUN(KDE_CHECK_DLOPEN, +AC_DEFUN([KDE_CHECK_DLOPEN], [ KDE_CHECK_LIBDL AC_CHECK_HEADERS(dlfcn.h dl.h) @@ -3783,7 +3820,7 @@ dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE dnl (MM) AC_ARG_ENABLE(dlopen, -[ --disable-dlopen link statically [default=no]] , +AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), enable_dlopen=$enableval, enable_dlopen=yes) @@ -3808,7 +3845,7 @@ ]) -AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING, +AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], [ KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) KDE_PROG_LIBTOOL @@ -3828,7 +3865,7 @@ fi ]) -AC_DEFUN(KDE_ADD_INCLUDES, +AC_DEFUN([KDE_ADD_INCLUDES], [ if test -z "$1"; then test_include="Pix.h" @@ -3865,190 +3902,30 @@ ]) ]) - -AC_DEFUN(KDE_CHECK_MICO, +AC_DEFUN([KDE_CHECK_LIBPTHREAD], [ -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, + 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" + fi + + if test -z "$LIBPTHREAD"; then + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) + fi + + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], [ - 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 < -#include -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 -], -[ -#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_LIBPTHREAD, -[ -AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) -AC_SUBST(LIBPTHREAD) -]) - -AC_DEFUN(KDE_CHECK_PTHREAD_OPTION, -[ - AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.], - kde_use_kernthreads=$enableval, kde_use_kernthreads=no) - - if test "$kde_use_kernthreads" = "yes"; then - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_CFLAGS="$CFLAGS" - CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS" - CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS" - AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h) - CXXFLAGS="$ac_save_CXXFLAGS" - CFLAGS="$ac_save_CFLAGS" - if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then - kde_use_kernthreads=no - else - dnl Add proper -I and -l statements - AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD - if test "x$LIBPTHREAD" = "x"; then - kde_use_kernthreads=no - else - USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" - fi - fi - else USE_THREADS="" if test -z "$LIBPTHREAD"; then - KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] ) + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) fi - fi AH_VERBATIM(__svr_define, [ #if defined(__SVR4) && !defined(__svr4__) @@ -4061,7 +3938,7 @@ CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" ;; freebsd*) - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" ;; aix*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" @@ -4080,7 +3957,7 @@ AC_SUBST(LIBPTHREAD) ]) -AC_DEFUN(KDE_CHECK_THREADING, +AC_DEFUN([KDE_CHECK_THREADING], [ AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) @@ -4094,14 +3971,14 @@ else kde_check_threading_default=yes fi - AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ], + AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) if test "x$kde_use_threading" = "xyes"; then AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) fi ]) -AC_DEFUN(KDE_TRY_LINK_PYTHON, +AC_DEFUN([KDE_TRY_LINK_PYTHON], [ if test "$kde_python_link_found" = no; then @@ -4113,8 +3990,6 @@ AC_CACHE_VAL(kde_cv_try_link_python_$1, [ -AC_LANG_SAVE -AC_LANG_C kde_save_cflags="$CFLAGS" CFLAGS="$CFLAGS $PYTHONINC" kde_save_libs="$LIBS" @@ -4147,13 +4022,12 @@ AC_MSG_RESULT(no) $4 fi -AC_LANG_RESTORE fi ]) -AC_DEFUN(KDE_CHECK_PYTHON_DIR, +AC_DEFUN([KDE_CHECK_PYTHON_DIR], [ AC_MSG_CHECKING([for Python directory]) @@ -4167,7 +4041,7 @@ ]) AC_ARG_WITH(pythondir, -[ --with-pythondir=pythondir use python installed in pythondir ], +AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), [ ac_python_dir=$withval ], ac_python_dir=$kde_cv_pythondir @@ -4176,7 +4050,7 @@ AC_MSG_RESULT($ac_python_dir) ]) -AC_DEFUN(KDE_CHECK_PYTHON_INTERN, +AC_DEFUN([KDE_CHECK_PYTHON_INTERN], [ AC_REQUIRE([KDE_CHECK_LIBDL]) AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) @@ -4202,13 +4076,16 @@ PYTHONINC=-I$python_incdir -python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" -AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) -if test ! -r $python_libdir/libpython$version.a; then - AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) - python_libdir=$python_libdir/python$version/config +python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" +AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.so; then + AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) if test ! -r $python_libdir/libpython$version.a; then - python_libdir=no + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi fi fi @@ -4218,7 +4095,6 @@ LIBPYTHON=-lpython$version fi -python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) python_moddir=$python_moddir/python$version if test ! -r $python_moddir/copy.py; then @@ -4266,7 +4142,7 @@ ]) -AC_DEFUN(KDE_CHECK_PYTHON, +AC_DEFUN([KDE_CHECK_PYTHON], [ KDE_CHECK_PYTHON_INTERN("2.3", [KDE_CHECK_PYTHON_INTERN("2.2", @@ -4278,10 +4154,15 @@ ]) ]) -AC_DEFUN(KDE_CHECK_STL_SGI, +AC_DEFUN([KDE_CHECK_STL], [ - AC_MSG_CHECKING([if STL implementation is SGI like]) - AC_CACHE_VAL(kde_cv_stl_type_sgi, + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + + AC_MSG_CHECKING([if C++ programs can be compiled]) + AC_CACHE_VAL(kde_cv_stl_works, [ AC_TRY_COMPILE([ #include @@ -4290,60 +4171,26 @@ string astring="Hallo Welt."; astring.erase(0, 6); // now astring is "Welt" return 0; -], kde_cv_stl_type_sgi=yes, - kde_cv_stl_type_sgi=no) +], kde_cv_stl_works=yes, + kde_cv_stl_works=no) ]) - AC_MSG_RESULT($kde_cv_stl_type_sgi) - - if test "$kde_cv_stl_type_sgi" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + AC_MSG_RESULT($kde_cv_stl_works) + + if test "$kde_cv_stl_works" = "yes"; then + # back compatible + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + 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.]) fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE ]) -AC_DEFUN(KDE_CHECK_STL_HP, -[ - AC_MSG_CHECKING([if STL implementation is HP like]) - AC_CACHE_VAL(kde_cv_stl_type_hp, - [ - AC_TRY_COMPILE([ -#include -using namespace std; -],[ - string astring="Hello World"; - astring.remove(0, 6); // now astring is "World" - return 0; -], kde_cv_stl_type_hp=yes, - kde_cv_stl_type_hp=no) -]) - AC_MSG_RESULT($kde_cv_stl_type_hp) - - if test "$kde_cv_stl_type_hp" = "yes"; then - AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP]) - fi -]) - -AC_DEFUN(KDE_CHECK_STL, -[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" - KDE_CHECK_STL_SGI - - if test "$kde_cv_stl_type_sgi" = "no"; then - KDE_CHECK_STL_HP - - if test "$kde_cv_stl_type_hp" = "no"; then - AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?") - fi - fi - - CXXFLAGS="$ac_save_CXXFLAGS" - AC_LANG_RESTORE -]) - -AC_DEFUN(AC_FIND_QIMGIO, +AC_DEFUN([AC_FIND_QIMGIO], [AC_REQUIRE([AC_FIND_JPEG]) AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) AC_MSG_CHECKING([for qimgio]) @@ -4382,28 +4229,7 @@ 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(AM_DISABLE_LIBRARIES, +AC_DEFUN([AM_DISABLE_LIBRARIES], [ AC_PROVIDE([AM_ENABLE_STATIC]) AC_PROVIDE([AM_ENABLE_SHARED]) @@ -4412,7 +4238,7 @@ ]) -AC_DEFUN(AC_CHECK_UTMP_FILE, +AC_DEFUN([AC_CHECK_UTMP_FILE], [ AC_MSG_CHECKING([for utmp file]) @@ -4445,7 +4271,7 @@ ]) -AC_DEFUN(KDE_CREATE_SUBDIRSLIST, +AC_DEFUN([KDE_CREATE_SUBDIRSLIST], [ DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" @@ -4460,9 +4286,10 @@ done fi +ac_topsubdirs= if test -s $srcdir/inst-apps; then ac_topsubdirs="`cat $srcdir/inst-apps`" -else +elif test -s $srcdir/subdirs; then ac_topsubdirs="`cat $srcdir/subdirs`" fi @@ -4491,7 +4318,7 @@ AC_SUBST(TOPSUBDIRS) ]) -AC_DEFUN(KDE_CHECK_NAMESPACES, +AC_DEFUN([KDE_CHECK_NAMESPACES], [ AC_MSG_CHECKING(whether C++ compiler supports namespaces) AC_LANG_SAVE @@ -4517,22 +4344,15 @@ AC_LANG_RESTORE ]) -AC_DEFUN(KDE_CHECK_NEWLIBS, -[ - -]) - dnl ------------------------------------------------------------------------ dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_CHECK_S_ISSOCK, +AC_DEFUN([AC_CHECK_S_ISSOCK], [ AC_MSG_CHECKING(for S_ISSOCK) AC_CACHE_VAL(ac_cv_have_s_issock, [ -AC_LANG_SAVE -AC_LANG_C AC_TRY_LINK( [ #include @@ -4543,7 +4363,6 @@ ], ac_cv_have_s_issock=yes, ac_cv_have_s_issock=no) -AC_LANG_RESTORE ]) AC_MSG_RESULT($ac_cv_have_s_issock) if test "$ac_cv_have_s_issock" = "yes"; then @@ -4564,12 +4383,11 @@ dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(AC_CHECK_KDEMAXPATHLEN, +AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], [ AC_MSG_CHECKING(for MAXPATHLEN) AC_CACHE_VAL(ac_cv_maxpathlen, [ -AC_LANG_C cat > conftest.$ac_ext < @@ -4599,18 +4417,18 @@ AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) ]) -AC_DEFUN(KDE_CHECK_HEADER, +AC_DEFUN([KDE_CHECK_HEADER], [ AC_LANG_SAVE kde_safe_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $all_includes" AC_LANG_CPLUSPLUS - AC_CHECK_HEADER($1, $2, $3, $4) + AC_CHECK_HEADER([$1], [$2], [$3], [$4]) CPPFLAGS=$kde_safe_cppflags AC_LANG_RESTORE ]) -AC_DEFUN(KDE_CHECK_HEADERS, +AC_DEFUN([KDE_CHECK_HEADERS], [ AH_CHECK_HEADERS([$1]) AC_LANG_SAVE @@ -4622,14 +4440,14 @@ AC_LANG_RESTORE ]) -AC_DEFUN(KDE_FAST_CONFIGURE, +AC_DEFUN([KDE_FAST_CONFIGURE], [ dnl makes configure fast (needs perl) - AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)], + AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), with_fast_perl=$enableval, with_fast_perl=yes) ]) -AC_DEFUN(KDE_CONF_FILES, +AC_DEFUN([KDE_CONF_FILES], [ val= if test -f $srcdir/configure.files ; then @@ -4644,7 +4462,7 @@ AC_SUBST(CONF_FILES) ])dnl -AC_DEFUN(KDE_SET_PREFIX, +AC_DEFUN([KDE_SET_PREFIX], [ unset CDPATH dnl make $KDEDIR the default for the installation @@ -4654,7 +4472,7 @@ prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix=$prefix" fi - # And delete superflous '/' to make compares easier + # 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,/$,,'` KDE_FAST_CONFIGURE @@ -4727,7 +4545,7 @@ fi ])dnl -AC_DEFUN(KDE_LANG_CPLUSPLUS, +AC_DEFUN([KDE_LANG_CPLUSPLUS], [AC_LANG_CPLUSPLUS ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) @@ -4738,7 +4556,7 @@ KDE_LANG_CPLUSPLUS ]) -AC_DEFUN(KDE_CHECK_LONG_LONG, +AC_DEFUN([KDE_CHECK_LONG_LONG], [ AC_MSG_CHECKING(for long long) AC_CACHE_VAL(kde_cv_c_long_long, @@ -4758,7 +4576,7 @@ fi ]) -AC_DEFUN(KDE_CHECK_LIB, +AC_DEFUN([KDE_CHECK_LIB], [ kde_save_LDFLAGS="$LDFLAGS" dnl AC_CHECK_LIB modifies LIBS, so save it here @@ -4774,7 +4592,7 @@ LIBS="$kde_save_LIBS" ]) -AC_DEFUN(KDE_JAVA_PREFIX, +AC_DEFUN([KDE_JAVA_PREFIX], [ dir=`dirname "$1"` base=`basename "$1"` @@ -4797,11 +4615,11 @@ ]) dnl KDE_CHEC_JAVA_DIR(onlyjre) -AC_DEFUN(KDE_CHECK_JAVA_DIR, +AC_DEFUN([KDE_CHECK_JAVA_DIR], [ AC_ARG_WITH(java, -[ --with-java=javadir use java installed in javadir, --without-java disables ], +AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), [ ac_java_dir=$withval ], ac_java_dir="" ) @@ -4813,13 +4631,18 @@ kde_java_bindir=no kde_java_includedir=no kde_java_libjvmdir=no + kde_java_libgcjdir=no kde_java_libhpidir=no else if test "x$ac_java_dir" = "x"; then - dnl No option set -> look in $PATH + dnl No option set -> collect list of candidate paths + if test -n "$JAVA_HOME"; then + KDE_JAVA_PREFIX($JAVA_HOME) + fi KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/lib/j2se) KDE_JAVA_PREFIX(/usr/j*dk*) KDE_JAVA_PREFIX(/usr/lib/j*dk*) KDE_JAVA_PREFIX(/opt/j*sdk*) @@ -4832,25 +4655,33 @@ KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) KDE_JAVA_PREFIX(/usr/lib/IBMJava*) KDE_JAVA_PREFIX(/opt/java*) - + kde_cv_path="NONE" kde_save_IFS=$IFS IFS=':' for dir in $PATH; do - javadirs="$javadirs $dir" + if test -d "$dir"; then + javadirs="$javadirs $dir" + fi done IFS=$kde_save_IFS jredirs= + dnl Now javadirs contains a list of paths that exist, all ending with bin/ for dir in $javadirs; do - if test ! -d $dir; then break; fi - if test -x "$dir/java"; then - libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` - if test ! -f $libjvmdir/libjvm.so; then continue; fi - jredirs="$jredirs $dir" + dnl Check for the java executable + if test -x "$dir/java"; then + dnl And also check for a libjvm.so somewhere under there + dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. + if test "$dir" != "/usr/bin"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi fi done + dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found JAVAC= JAVA= kde_java_bindir=no @@ -4885,6 +4716,8 @@ dnl Look for libjvm.so kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libgcj.so + kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` dnl Look for libhpi.so and avoid green threads kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` @@ -4906,26 +4739,41 @@ jni_includes="-I$kde_java_includedir" dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. - dnl and under linux here.. - test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" - test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" - test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + dnl and under linux here.. + + dnl not needed for gcj + + if test "x$kde_java_libgcjdir" = "x"; then + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + fi else JAVAC= jni_includes= fi - if test ! -r "$kde_java_libjvmdir/libjvm.so"; then - AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) - fi + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + else + if test ! -r "$kde_java_libgcjdir/libgcj.so"; then + AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) + fi + fi if test ! -x "$kde_java_bindir/java"; then AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) fi - if test ! -r "$kde_java_libhpidir/libhpi.so"; then - AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + dnl not needed for gcj compile + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi fi if test -n "$jni_includes"; then @@ -4964,7 +4812,11 @@ JAVAH=$kde_java_bindir/javah JAR=$kde_java_bindir/jar AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) - JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + if test "x$kde_java_libgcjdir" = "x"; then + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + else + JVMLIBS="-L$kde_java_libgcjdir -lgcj" + fi AC_MSG_RESULT([java JDK in $kde_java_bindir]) else @@ -5013,7 +4865,7 @@ m4_define([AC_FOREACH], [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) -AC_DEFUN(KDE_NEED_FLEX, +AC_DEFUN([KDE_NEED_FLEX], [ kde_libs_safe=$LIBS LIBS="$LIBS $USER_LDFLAGS" @@ -5025,7 +4877,7 @@ AC_SUBST(LEXLIB) ]) -AC_DEFUN(AC_PATH_QTOPIA, +AC_DEFUN([AC_PATH_QTOPIA], [ dnl TODO: use AC_CACHE_VAL @@ -5054,7 +4906,7 @@ ac_qtopia_incdir=NO AC_ARG_WITH(qtopia-dir, - [ --with-qtopia-dir=DIR where the root of Qtopia is installed ], + AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), [ ac_qtopia_incdir="$withval"/include] ) qtopia_incdirs="" @@ -5129,7 +4981,7 @@ ]) -AC_DEFUN(KDE_INIT_DOXYGEN, +AC_DEFUN([KDE_INIT_DOXYGEN], [ AC_MSG_CHECKING([for Qt docs]) kde_qtdir= @@ -5166,16 +5018,17 @@ ]) -AC_DEFUN(AC_FIND_BZIP2, +AC_DEFUN([AC_FIND_BZIP2], [ AC_MSG_CHECKING([for bzDecompress in libbz2]) AC_CACHE_VAL(ac_cv_lib_bzip2, [ -AC_LANG_C +AC_LANG_SAVE +AC_LANG_CPLUSPLUS kde_save_LIBS="$LIBS" LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" -kde_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" AC_TRY_LINK(dnl [ #define BZ_NO_STDIO @@ -5185,7 +5038,8 @@ eval "ac_cv_lib_bzip2='-lbz2'", eval "ac_cv_lib_bzip2=no") LIBS="$kde_save_LIBS" -CFLAGS="$kde_save_CFLAGS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE ])dnl AC_MSG_RESULT($ac_cv_lib_bzip2) @@ -5209,6 +5063,7 @@ AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, [ + AC_LANG_SAVE AC_LANG_CPLUSPLUS kde_save_LIBS="$LIBS" LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" @@ -5225,12 +5080,11 @@ eval "ac_cv_lib_bzip2_prefix=no") LIBS="$kde_save_LIBS" CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE ])dnl AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) - - if test ! "$ac_cv_lib_bzip2_prefix" = no; then BZIP2DIR=bzip2 @@ -5251,7 +5105,7 @@ dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) dnl ------------------------------------------------------------------------ dnl -AC_DEFUN(KDE_CHECK_SSL, +AC_DEFUN([KDE_CHECK_SSL], [ LIBSSL="-lssl -lcrypto" AC_REQUIRE([KDE_CHECK_LIB64]) @@ -5260,14 +5114,14 @@ ssl_libraries="" ssl_includes="" AC_ARG_WITH(ssl-dir, - [ --with-ssl-dir=DIR where the root of OpenSSL is installed], + AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), [ ac_ssl_includes="$withval"/include ac_ssl_libraries="$withval"/lib$kdelibsuff ]) want_ssl=yes AC_ARG_WITH(ssl, - [ --without-ssl disable SSL checks], + AC_HELP_STRING([--without-ssl],[disable SSL checks]), [want_ssl=$withval]) if test $want_ssl = yes; then @@ -5296,14 +5150,9 @@ ac_ssl_libraries="$ssl_libdir" - AC_LANG_SAVE - AC_LANG_C - - ac_cflags_safe="$CFLAGS" ac_ldflags_safe="$LDFLAGS" ac_libs_safe="$LIBS" - CFLAGS="$CFLAGS -I$ssl_incdir $all_includes" LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" @@ -5313,12 +5162,9 @@ ac_ssl_rsaref="no" ) - CFLAGS="$ac_cflags_safe" LDFLAGS="$ac_ldflags_safe" LIBS="$ac_libs_safe" - AC_LANG_RESTORE - if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then have_ssl=no else @@ -5346,8 +5192,6 @@ dnl Check for SSL version AC_CACHE_VAL(ac_cv_ssl_version, [ - AC_LANG_SAVE - AC_LANG_C cat >conftest.$ac_ext < @@ -5366,8 +5210,12 @@ } EOF - ac_compile='${CC-gcc} $CFLAGS -I$ac_ssl_includes conftest.$ac_ext -o conftest' - if AC_TRY_EVAL(ac_compile); then + ac_save_CPPFLAGS=$CPPFLAGS + if test "$ac_ssl_includes" != "/usr/include"; then + CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" + fi + + if AC_TRY_EVAL(ac_link); then if eval `./conftest 2>&5`; then if test $ssl_version = error; then @@ -5390,8 +5238,7 @@ Check config.log, and if you can't figure it out, send a mail to David Faure , attaching your config.log]) fi - - AC_LANG_RESTORE + CPPFLAGS=$ac_save_CPPFLAGS ]) @@ -5419,13 +5266,17 @@ fi fi -if test "$ssl_includes" = "/usr/include" || test "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then - SSL_INCLUDES=""; -else - SSL_INCLUDES="-I$ssl_includes" +SSL_INCLUDES= + +if test "$ssl_includes" = "/usr/include"; then + if test -f /usr/kerberos/include/krb5.h; then + SSL_INCLUDES="-I/usr/kerberos/include" + fi +elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then + SSL_INCLUDES="-I$ssl_includes" fi -if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then SSL_LDFLAGS="" else SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" @@ -5436,7 +5287,7 @@ AC_SUBST(LIBSSL) ]) -AC_DEFUN(KDE_CHECK_STRLCPY, +AC_DEFUN([KDE_CHECK_STRLCPY], [ AC_REQUIRE([AC_CHECK_STRLCAT]) AC_REQUIRE([AC_CHECK_STRLCPY]) @@ -5457,7 +5308,7 @@ ]) ]) -AC_DEFUN(KDE_CHECK_BINUTILS, +AC_DEFUN([KDE_CHECK_BINUTILS], [ AC_MSG_CHECKING([if ld supports unversioned version maps]) @@ -5491,3 +5342,12 @@ AC_SUBST(OBJCFLAGS) _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) ]) + +AC_DEFUN([KDE_CHECK_PERL], +[ + KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ + AC_MSG_ERROR([No Perl found in your $PATH. +We need perl to generate some code.]) + ]) + AC_SUBST(PERL) +]) diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/am_edit --- a/kdiff3/admin/am_edit Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/am_edit Thu Sep 16 02:40:08 2004 +0000 @@ -51,6 +51,7 @@ sub pruneMocCandidates ($); sub checkMocCandidates (); sub addMocRules (); +sub findKcfgFile($); sub tag_AUTOMAKE (); sub tag_META_INCLUDES (); @@ -60,6 +61,7 @@ sub tag_LOCALINSTALL(); sub tag_IDLFILES(); sub tag_UIFILES(); +sub tag_KCFGFILES(); sub tag_SUBDIRS(); sub tag_ICON(); sub tag_CLOSURE(); @@ -111,11 +113,12 @@ { $verbose = 1; # Oh is there a problem...? } - elsif (/^-p(.+)$|^--path=(.+)$/) + elsif (/^(?:-p|--path=)(.+)$/) { - $thisProg = "$1/".basename($thisProg) if($1); - $thisProg = "$2/".basename($thisProg) if($2); + my $p = $1; + $thisProg = $p . "/". basename($thisProg); warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); + $thisProg .= " -p".$p; $pathoption=1; } elsif (/^--help$|^-h$/) @@ -222,10 +225,12 @@ local %globalmocs = ();# list of all mocfiles (in %mocFiles format) local %important = (); # list of files to be generated asap local %uiFiles = (); + local %kcfgFiles = (); local $allidls = ""; local $idl_output = "";# lists all idl generated files for cleantarget local $ui_output = "";# lists all uic generated files for cleantarget + local $kcfg_output = "";# lists all kcfg generated files for cleantarget local %dependmocs = (); @@ -263,14 +268,15 @@ tag_NO_UNDEFINED(); tag_CLOSURE(); tag_NMCHECK(); - tag_UIFILES(); # Sorts out ui rules + tag_UIFILES(); # Sorts out ui rules + tag_KCFGFILES(); # Sorts out kcfg rules tag_METASOURCES (); # Sorts out the moc rules if ($sources_changed{$program}) { my $lookup = $program . '_SOURCES\s*=[ \t]*(.*)'; if($program =~ /libkdeinit_(.*)/) { my $prog = $1; - substituteLine($prog . '_SOURCES\s*=[ \t]*.*', + substituteLine($prog . '_SOURCES\s*=[ \t]*(.*)', "${prog}_SOURCES = ${prog}_dummy.$cxxsuffix\n" . "libkdeinit_${prog}_SOURCES = " . $sources{$program}); $sources{$prog} = "${prog}_dummy.$cxxsuffix"; @@ -320,6 +326,11 @@ $target_adds{"$cleantarget-am"} .= "$cleantarget-ui "; } + if ($kcfg_output) { + appendLines ("$cleantarget-kcfg:\n\t-rm -f $kcfg_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-kcfg "; + } + if ($closure_output) { appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n"); $target_adds{"$cleantarget-am"} .= "$cleantarget-closures "; @@ -527,8 +538,10 @@ } # Checking for files to process... - open (FILEIN, $makefile) - || die "Could not open $makefileDir/$makefile: $!\n"; + + open (FILEIN, $makefile) || die "Can't open $makefileDir/$makefile: $!\n"; + # perl bug in 5.8.0: in utf8 mode it badly screws up + binmode(FILEIN, ":bytes") if ($] >= 5.008); # Read the file # stat(FILEIN)[7] might look more elegant, but is slower as it # requires stat'ing the file @@ -734,6 +747,7 @@ my %shash = (); @shash{@progsources} = 1; # we are only interested in the existence my %sourcelist = (); + my %extradeps = (); foreach $source (@progsources) { my $suffix = $source; @@ -751,8 +765,13 @@ $moc_cpp_added = 1; } } + + # scan for extra given dependencies and add them to our target + while ($MakefileData =~ /\n\s*(\S+)\.(?:lo|o)\s*:([^\n]*)/g) { + $extradeps{$1} = $2; + } + foreach $suffix (keys %sourcelist) { - # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions) my $suffix_is_cxx = 0; if($suffix =~ /($cppExt)$/) { @@ -769,7 +788,8 @@ # we support IDL on our own if ($suffix eq "skel" || $suffix =~ /^stub/ || $suffix =~ /^signals/ # obsolete, remove in KDE-4 - || $suffix eq "h" || $suffix eq "ui" ) { + || $suffix eq "h" || $suffix eq "ui" + || $suffix eq "kcfgc" ) { next; } @@ -793,6 +813,9 @@ } else { $source_deps .= " $source"; } + my $plainsource = $source; + $plainsource =~ s/\.$cppExt$//; + $source_deps .= " " . $extradeps{$plainsource} if (exists($extradeps{$plainsource})); } $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs) . "\n"; @@ -852,7 +875,8 @@ $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n"; $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n"; - $lines .= "\t echo > ${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"; push(@cleanfiles, "${kdeinit}.la.$cxxsuffix"); push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix"); @@ -868,7 +892,7 @@ substituteLine($lookup, "${kdeinit}_la_LIBADD = libkdeinit_${kdeinit}.la"); appendLines("libkdeinit_${kdeinit}_la_LIBADD = $libadd\n"); } - appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = \$(all_libraries)\n"); + appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = -no-undefined -avoid-version \$(all_libraries)\n"); # add library dependencies $lookup = $kdeinit . '_la_DEPENDENCIES\s*=[ \t]*(.*)'; @@ -944,7 +968,7 @@ $realname{$kdeinit} = $kdeinit; $sources{$kdeinit} = "${kdeinit}.la.$cxxsuffix"; - $lines .= "${kdeinit}_LDFLAGS = \$(all_libraries)\n"; + $lines .= "${kdeinit}_LDFLAGS = \$(KDE_RPATH) -no-undefined \$(all_libraries)\n"; $lines .= "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la\n"; $lines .= "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la\n"; @@ -972,7 +996,7 @@ if($#progs >= 0) { if($MakefileData !~ m/\nbin_PROGRAMS\s*=/) { - print STDERR "Error: bin_PROGRAMS missing in $printname (required for bin_PROGRAMS).\n"; + print STDERR "Error: bin_PROGRAMS missing in $printname (required for kdeinit_LTLIBRARIES).\n"; $errorflag = 1; } else { @@ -1026,7 +1050,7 @@ next if defined($donesources{$depend}); push @deps, $depend; } - $target_adds{$sdeps} = join(' ', @deps) if (@deps); + $target_adds{$sdeps} .= join(' ', @deps) . ' ' if (@deps); $donesources{$source} = 1; } } @@ -1128,7 +1152,8 @@ $lookup = '.*cd \$\(srcdir\)\s+&&[\034\s]+\$\(AUTOCONF\)(.*)'; if ($MakefileData =~ /\n($lookup)\n/) { - $newLine = "\tcd \$(srcdir) && rm -f configure && \$(MAKE) -f admin/Makefile.common configure"; + $newLine = "\tcd \$(srcdir) && rm -f configure\n"; + $newLine .= "\tcd \$(top_srcdir) && \$(MAKE) -f admin/Makefile.common configure"; substituteLine ($lookup, $newLine); } @@ -1236,8 +1261,11 @@ if ($allidls !~ /$source\_kidl/) { + $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/); + $dcopidl = $use_ng ? "\$(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"; + $dep_lines .= "\t$dcopidl $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; $allidls .= $source . "_kidl "; } @@ -1332,11 +1360,12 @@ my $dep_lines = "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n"; $dep_lines .= "\trm -f $source.$cxxsuffix\n"; if (!$kdeopts{"qtonly"}) { - $dep_lines .= "\techo '#include ' > $source.$cxxsuffix\n"; + $dep_lines .= "\techo '#include ' > $source.$cxxsuffix\n"; + $dep_lines .= "\techo '#include ' >> $source.$cxxsuffix\n"; 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 .= "\tsed -e \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | sed -e \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | sed -e \"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\" >> $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"; @@ -1364,13 +1393,69 @@ $important{$program} .= "$source.h "; $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc "; push(@cleanfiles, "$source.$cxxsuffix"); - push(@cleanfiles, "source.h"); + push(@cleanfiles, "$source.h"); push(@cleanfiles, "$source.moc"); $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); } } } +sub tag_KCFGFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my @depFiles = (); + + foreach $source (@psources) { + + if ($source =~ m/\.kcfgc$/) { + + print STDERR "adding KCFG file $source\n" if ($verbose); + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + $source =~ s/\.kcfgc$//; + + my $sourcedir = ''; + if (-f "$makefileDir/$source.kcfgc") { + $sourcedir = '$(srcdir)/'; + } + + if (!$kcfgFiles{$source}) { + $kcfg = "$program.kcfg"; + findKcfgFile("$source.kcfgc"); + + my $fixsuffix = ""; + $fixsuffix = "else mv $source.cpp $source.$cxxsuffix ; " + unless "cpp" eq $cxxsuffix; + + my $dep_lines = "$source.$cxxsuffix: $source.h\n"; + $dep_lines .= "$source.h: $sourcedir$kcfg $sourcedir$source.kcfgc \$(KCFG_DEPENDENCIES)\n"; + $dep_lines .= "\t\$(KCONFIG_COMPILER) $sourcedir$kcfg $sourcedir$source.kcfgc; ret=\$\$?; \\\n"; + $dep_lines .= "\tif test \"\$\$ret\" != 0; then rm -f $source.h ; exit \$\$ret ; $fixsuffix fi\n\n"; + + $rule_adds{"$source.$cxxsuffix"} = $dep_lines; + + $kcfgFiles{$source} = 1; + } + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $source.lo"; + } else { + $realObjs{$program} .= " $source.\$(OBJEXT)"; + } + $sources{$program} .= " $source.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$source.h "; + $kcfg_output .= "\\\n\t$source.$cxxsuffix $source.h "; + push(@cleanfiles, "$source.$cxxsuffix"); + push(@cleanfiles, "$source.h"); + $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); + } + } +} + sub tag_ICON() { my $lookup = '([^\s]*)_ICON\s*=[ \t]*(.*)'; @@ -1644,7 +1729,7 @@ $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); closedir (THISDIR); print STDOUT "pofiles found = $pofiles\n" if ($verbose); - if (-f "charset" && -f "kdelibs.po") { + if (-f "charset" && -f "kdelibs/kdelibs.po") { handle_TOPLEVEL(); } } @@ -2188,7 +2273,7 @@ $t .= $cxxsuffix eq "KKK" ? "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(KDE_CXXFLAGS) " : "\$(CXXCOMPILE) "; - $t .= " --dump-class-hierarchy \$\$i.bchecktest.cc; then \\\n" . + $t .= " --dump-class-hierarchy -c \$\$i.bchecktest.cc; then \\\n" . "\t rm -f \$\$i.bchecktest.cc; exit 1; \\\n" . "\t fi ; \\\n" . "\t echo \"\" >> \$\$i.bchecktest.cc.class; \\\n" . @@ -2337,3 +2422,18 @@ } #----------------------------------------------------------------------------- + +# find the .kcfg file listed in the .kcfgc file +sub findKcfgFile($) +{ + my ($kcfgf) = @_; + open (KCFGFIN, $kcfgf) || die "Could not open $kcfgf: $!\n"; + seek(KCFGFIN, 0, 2); + my $kcfgfsize = tell(KCFGFIN); + seek(KCFGFIN, 0, 0); + read KCFGFIN, $kcfgfData, $kcfgfsize; + close KCFGFIN; + if(($kcfgfData =~ m/^File=(.*\.kcfg)/gm)) { + $kcfg = $1; + } +} diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/bcheck.pl --- a/kdiff3/admin/bcheck.pl Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/bcheck.pl Thu Sep 16 02:40:08 2004 +0000 @@ -68,7 +68,7 @@ print "-----------------------------------------------\n"; print @new; $haschanges = 1; - return; + return $haschanges; } print $old[0]; @@ -84,7 +84,6 @@ next if ($o eq $n); if(defined($class) and $n =~ /^(\d+\s+)\w+(::\S+\s*.*)$/) { - print "comparing >$n< against >$1$class$2<\n"; next if ($n eq "$1$class$2"); } @@ -118,6 +117,8 @@ chop; s/0x[0-9a-fA-F]+/0x......../g; + s/base size=/size=/g; + s/base align=/align=/g; $chunk .= $_ . "\n"; diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/conf.change.pl --- a/kdiff3/admin/conf.change.pl Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/conf.change.pl Thu Sep 16 02:40:08 2004 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl # this script patches a config.status file, to use our own perl script # in the main loop @@ -27,11 +27,12 @@ # later autoconf's # 2. the big main loop which patches all Makefile.in's +use strict; use File::Basename; my $ac_aux_dir = dirname($0); my ($flag); -local $ac_version = 0; +my $ac_version = 0; my $vpath_seen = 0; $flag = 0; @@ -99,9 +100,9 @@ if ($ac_version != 2141) { print STDERR "hmm, don't know autoconf version\n"; } - } elsif (/^\#\s*CONFIG_HEADER section.*|^\s+#\s(Run) the commands associated/) { + } elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) { $flag = 4; - $commands = defined $1; + my $commands = defined $2; &insert_main_loop(); $commands && insert_command_loop(); if($ac_version != 250) { diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/config.pl --- a/kdiff3/admin/config.pl Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/config.pl Thu Sep 16 02:40:08 2004 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # a script for use by autoconf to make the Makefiles # from the Makefile.in's # @@ -28,19 +28,28 @@ # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. +use strict; + +use File::Path; + my $ac_subs=$ARGV[0]; my $ac_sacfiles = $ARGV[1]; my $ac_given_srcdir=$ARGV[2]; my $ac_given_INSTALL=$ARGV[3]; +my @comp_match; +my @comp_subs; + #print "ac_subs=$ac_subs\n"; #print "ac_sacfiles=$ac_sacfiles\n"; #print "ac_given_srcdir=$ac_given_srcdir\n"; #print "ac_given_INSTALL=$ac_given_INSTALL\n"; +my $configure_input; my ($srcdir, $top_srcdir); my $INSTALL; my $bad_perl = ($] < 5.005); +my $created_file_count = 0; open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; my @subs = ; @@ -94,7 +103,7 @@ push @comp_match, eval "qr/\Q$1\E/"; push @comp_subs, ""; } else { - die "Uhh. Malformed pattern in $ac_cs_root.subs ($pat)" + die "Uhh. Malformed pattern in $ac_subs ($pat)" unless ( $pat =~ /^\s*$/ ); # ignore white lines } } @@ -130,7 +139,7 @@ ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%; if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) { # The file is in a subdirectory. - if (! -d "$ac_dir") { mkdir "$ac_dir", 0777; } + if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; } ($ac_dir_suffix = $ac_dir) =~ s%^./%%; $ac_dir_suffix="/".$ac_dir_suffix; # A "../" for each directory in $ac_dir_suffix. @@ -166,20 +175,20 @@ my $ac_comsub=""; my $fname=$ac_file_in; $fname =~ s%.*/%%; - my $configure_input="Generated automatically from $fname by config.pl."; - if ($ac_file =~ /.*[Mm]akefile.*/) { - $ac_comsub="# ".$configure_input."\n"; # for the first line in $ac_file - } + $configure_input="$ac_file. Generated from $fname by config.pl."; my $ac_file_inputs; ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%; $ac_file_inputs =~ s%:% $ac_given_srcdir/%g; - patch_file($ac_file, $ac_file_inputs, $ac_comsub); + patch_file($ac_file, $ac_file_inputs); + ++$created_file_count; } +print "config.pl: fast created $created_file_count file(s).\n"; + sub patch_file { - my ($outf, $infiles, $identline) = @_; + my ($outf, $infiles) = @_; my $filedata; my @infiles=split(' ', $infiles); my $i=0; @@ -194,10 +203,6 @@ print STDERR "can't open $name: $!"."\n"; } } - if ($identline) { - # Put the ident in the second line. For shitty automake 1.6x. - $filedata =~ s%\n%\n$identline%; - } $filedata =~ s%\@configure_input\@%$configure_input%g; $filedata =~ s%\@srcdir\@%$srcdir%g; @@ -223,11 +228,7 @@ sub make_closure { my ($pat, $sub) = @_; - $pat =~ s/\@/\\@/g; # @bla@ -> \@bla\@ - $pat =~ s/\$/\\\$/g; # $bla -> \$bla - $sub =~ s/\@/\\@/g; - $sub =~ s/\$/\\\$/g; - my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%$pat%$sub%g; }"; + my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }"; if ($@) { print "can't create CODE: $@\n"; } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/cvs-clean.pl --- a/kdiff3/admin/cvs-clean.pl Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/cvs-clean.pl Thu Sep 16 02:40:08 2004 +0000 @@ -7,7 +7,7 @@ # written by Oswald Buddenhagen # inspired by the "old" cvs-clean target from Makefile.common # -# This file is free software in terms of the BSD licence. That means +# This file is free software in terms of the BSD license. That means # that you can do anything with it except removing this license or # the above copyright notice. There is NO WARRANTY of any kind. # diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/cvs.sh --- a/kdiff3/admin/cvs.sh Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/cvs.sh Thu Sep 16 02:40:08 2004 +0000 @@ -64,7 +64,7 @@ echo "*** KDE requires automake 1.6.1 or newer" exit 1 ;; - automake*1.6.* | automake*1.7* ) : ;; + automake*1.6.* | automake*1.7* | automake*1.8.* ) : ;; "" ) echo "*** AUTOMAKE NOT FOUND!." echo "*** KDE requires automake 1.6.1 or newer" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/debianrules --- a/kdiff3/admin/debianrules Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/debianrules Thu Sep 16 02:40:08 2004 +0000 @@ -40,16 +40,16 @@ if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /\bdebug\b/) { - $enable_debug="--enable-debug"; + $enable_debug="--enable-debug=full"; $enable_final=""; } else { $enable_debug="--disable-debug"; if (defined $ENV{DEB_BUILD_OPTIONS} && - $ENV{DEB_BUILD_OPTIONS} =~ /\bnofinal\b/) { + $ENV{DEB_BUILD_OPTIONS} =~ /\bfinal\b/) { + $enable_final="--enable-final"; + } else { $enable_final=""; - } else { - $enable_final="--enable-final"; } } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/detect-autoconf.sh --- a/kdiff3/admin/detect-autoconf.sh Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/detect-autoconf.sh Thu Sep 16 02:40:08 2004 +0000 @@ -13,53 +13,67 @@ # our includer. The repeated type calls are not that expensive. checkAutoconf() { - if test -x "`$WHICH autoconf-2.5x`" ; then + if test -x "`$WHICH autoconf-2.5x 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf-2.5x`" - elif test -x "`$WHICH autoconf-2.54`" ; then + elif test -x "`$WHICH autoconf-2.57 2>/dev/null`" ; then + AUTOCONF="`$WHICH autoconf-2.57`" + elif test -x "`$WHICH autoconf-2.56 2>/dev/null`" ; then + AUTOCONF="`$WHICH autoconf-2.56`" + elif test -x "`$WHICH autoconf-2.55 2>/dev/null`" ; then + AUTOCONF="`$WHICH autoconf-2.55`" + elif test -x "`$WHICH autoconf-2.54 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf-2.54`" - elif test -x "`$WHICH autoconf-2.53`" ; then + elif test -x "`$WHICH autoconf-2.53 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf-2.53`" - elif test -x "`$WHICH autoconf-2.53a`" ; then + elif test -x "`$WHICH autoconf-2.53a 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf-2.53a`" - elif test -x "`$WHICH autoconf-2.52`" ; then + elif test -x "`$WHICH autoconf-2.52 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf-2.52`" - elif test -x "`$WHICH autoconf2.50`" ; then + elif test -x "`$WHICH autoconf2.50 2>/dev/null`" ; then AUTOCONF="`$WHICH autoconf2.50`" fi } checkAutoheader() { - if test -x "`$WHICH autoheader-2.5x`" ; then + if test -x "`$WHICH autoheader-2.5x 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader-2.5x`" AUTOM4TE="`$WHICH autom4te-2.5x`" - elif test -x "`$WHICH autoheader-2.54`" ; then + elif test -x "`$WHICH autoheader-2.57 2>/dev/null`" ; then + AUTOHEADER="`$WHICH autoheader-2.57`" + AUTOM4TE="`$WHICH autom4te-2.57`" + elif test -x "`$WHICH autoheader-2.56 2>/dev/null`" ; then + AUTOHEADER="`$WHICH autoheader-2.56`" + AUTOM4TE="`$WHICH autom4te-2.56`" + elif test -x "`$WHICH autoheader-2.55 2>/dev/null`" ; then + AUTOHEADER="`$WHICH autoheader-2.55`" + AUTOM4TE="`$WHICH autom4te-2.55`" + elif test -x "`$WHICH autoheader-2.54 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader-2.54`" AUTOM4TE="`$WHICH autom4te-2.54`" - elif test -x "`$WHICH autoheader-2.53`" ; then + elif test -x "`$WHICH autoheader-2.53 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader-2.53`" AUTOM4TE="`$WHICH autom4te-2.53`" - elif test -x "`$WHICH autoheader-2.53a`" ; then + elif test -x "`$WHICH autoheader-2.53a 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader-2.53a`" AUTOM4TE="`$WHICH autom4te-2.53a`" - elif test -x "`$WHICH autoheader-2.52`" ; then + elif test -x "`$WHICH autoheader-2.52 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader-2.52`" - elif test -x "`$WHICH autoheader2.50`" ; then + elif test -x "`$WHICH autoheader2.50 2>/dev/null`" ; then AUTOHEADER="`$WHICH autoheader2.50`" fi } checkAutomakeAclocal () { - if test -z "$UNSERMAKE"; then - if test -x "`$WHICH automake-1.6`" ; then - AUTOMAKE="`$WHICH automake-1.6`" - ACLOCAL="`$WHICH aclocal-1.6`" - elif test -x "`$WHICH automake-1.7`" ; then - AUTOMAKE="`$WHICH automake-1.7`" - ACLOCAL="`$WHICH aclocal-1.7`" - fi - else + if test -x "`$WHICH automake-1.6 2>/dev/null`" ; then + AUTOMAKE="`$WHICH automake-1.6`" + ACLOCAL="`$WHICH aclocal-1.6`" + elif test -x "`$WHICH automake-1.7 2>/dev/null`" ; then + AUTOMAKE="`$WHICH automake-1.7`" + ACLOCAL="`$WHICH aclocal-1.7`" + fi + if test -n "$UNSERMAKE"; then AUTOMAKE="$UNSERMAKE" fi } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/install-sh --- a/kdiff3/admin/install-sh Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/install-sh Thu Sep 16 02:40:08 2004 +0000 @@ -56,7 +56,7 @@ while [ x"$1" != x ]; do case $1 in - -c) instcmd="$cpprog" + -c) instcmd=$cpprog shift continue;; @@ -79,7 +79,7 @@ shift continue;; - -s) stripcmd="$stripprog" + -s) stripcmd=$stripprog shift continue;; @@ -106,7 +106,7 @@ if [ x"$src" = x ] then - echo "install: no input file specified" + echo "$0: no input file specified" >&2 exit 1 else : @@ -115,8 +115,8 @@ if [ x"$dir_arg" != x ]; then dst=$src src="" - - if [ -d $dst ]; then + + if [ -d "$dst" ]; then instcmd=: chmodcmd="" else @@ -125,20 +125,20 @@ else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad +# might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f "$src" ] || [ -d "$src" ] then : else - echo "install: $src does not exist" + echo "$0: $src does not exist" >&2 exit 1 fi - + if [ x"$dst" = x ] then - echo "install: no destination specified" + echo "$0: no destination specified" >&2 exit 1 else : @@ -147,16 +147,16 @@ # 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 [ -d $dst ] + if [ -d "$dst" ] then - dst="$dst"/`basename $src` + dst=$dst/`basename "$src"` else : fi fi ## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script @@ -165,69 +165,73 @@ if [ ! -d "$dstdir" ]; then defaultIFS=' ' -IFS="${IFS-${defaultIFS}}" +IFS="${IFS-$defaultIFS}" -oIFS="${IFS}" +oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS pathcomp='' while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" + pathcomp=$pathcomp$1 shift - if [ ! -d "${pathcomp}" ] ; + if [ ! -d "$pathcomp" ] ; then - $mkdirprog "${pathcomp}" + $mkdirprog "$pathcomp" else : fi - pathcomp="${pathcomp}/" + pathcomp=$pathcomp/ done fi if [ x"$dir_arg" != x ] then - $doit $instcmd $dst && + $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 + 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 ] + if [ x"$transformarg" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else - dstfile=`basename $dst $transformbasename | + dstfile=`basename "$dst" $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename - if [ x"$dstfile" = x ] + if [ x"$dstfile" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else : fi -# Make a temp file name in the proper directory. +# 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 && - - trap "rm -f ${dsttmp}" 0 && + $doit $instcmd "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits @@ -235,17 +239,38 @@ # 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 && + 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 $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile + $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 +} diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/libtool.m4.in --- a/kdiff3/admin/libtool.m4.in Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/libtool.m4.in Thu Sep 16 02:40:08 2004 +0000 @@ -24,6 +24,17 @@ # serial 47 AC_PROG_LIBTOOL + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + # AC_PROG_LIBTOOL # --------------- AC_DEFUN([AC_PROG_LIBTOOL], @@ -34,6 +45,11 @@ [AC_LIBTOOL_CXX], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run @@ -59,6 +75,7 @@ AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed @@ -86,7 +103,6 @@ AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl -AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl @@ -143,6 +159,7 @@ ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" +AC_CHECK_TOOL(AR, ar, false) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) @@ -192,8 +209,8 @@ ;; esac -ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], enable_win32_dll=yes, enable_win32_dll=no) AC_ARG_ENABLE([libtool-lock], @@ -224,8 +241,7 @@ LTCC=${LTCC-"$CC"} # Allow CC to be a program name with arguments. -set dummy $CC -compiler="[$]2" +compiler=$CC ])# _LT_AC_SYS_COMPILER @@ -239,24 +255,32 @@ # to the aix ld manual. AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_AC_SYS_LIBPATH_AIX +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + # _LT_AC_PROG_ECHO_BACKSLASH # -------------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) - +[_LT_AC_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} @@ -274,7 +298,7 @@ elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else @@ -404,8 +428,7 @@ fi AC_SUBST(ECHO) -AC_DIVERT_POP -])# _LT_AC_PROG_ECHO_BACKSLASH +])])# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_LOCK @@ -438,6 +461,19 @@ # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -449,26 +485,55 @@ LD="${LD-ld} -64" ;; esac + fi fi rm -rf conftest* ;; -*-*-linux*) - # Test if the compiler is 64bit +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *"ELF 32"*) + case "`/usr/bin/file conftest.o`" in + *32-bit*) LINUX_64_MODE="32" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac ;; - *"ELF 64"*) + *64-bit*) LINUX_64_MODE="64" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac ;; esac fi rm -rf conftest* ;; - + *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" @@ -482,34 +547,11 @@ CFLAGS="$SAVE_CFLAGS" fi ;; -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one - AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, - [AC_TRY_LINK([], - [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); - DllMain (0, 0, 0);], - [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) - - case $host/$CC in - *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) - # old mingw systems require "-dll" to link a DLL, while more recent ones - # require "-mdll" - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mdll" - AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, - [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) - CFLAGS="$SAVE_CFLAGS" ;; - *-*-cygwin* | *-*-pw32*) - # cygwin systems need to pass --dll to the linker, and not link - # crt.o which will require a WinMain@16 definition. - lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; - esac ;; ]) esac @@ -524,24 +566,34 @@ # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_CACHE_CHECK([$1], [$2], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], [$2=no ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $3" - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - else + if test ! -s conftest.err; then $2=yes fi fi $rm conftest* - CFLAGS="$save_CFLAGS" ]) if test x"[$]$2" = xyes; then @@ -561,7 +613,7 @@ [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext + printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -593,7 +645,7 @@ i=0 testring="ABCD" - case $host_os in + case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun @@ -609,7 +661,18 @@ lt_cv_sys_max_cmd_len=-1; ;; - *) + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. @@ -753,11 +816,26 @@ lt_cv_dlopen_self=yes ;; - cygwin* | mingw* | pw32*) + mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], @@ -844,13 +922,7 @@ mkdir conftest cd conftest mkdir out - ifelse([$1],[],[save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"], - [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"], - [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS" - GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext # According to Tom Tromey, Ian Lance Taylor reported there are C compilers # that will create temporary files in the current directory regardless of @@ -859,20 +931,28 @@ # builds. chmod -w . - if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - if test -s out/conftest.err; then - # Append any errors to the config.log. - cat out/conftest.err 1>&AS_MESSAGE_LOG_FD - else + if test ! -s out/conftest.err; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi - ifelse([$1],[],[CFLAGS="$save_CFLAGS"], - [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"], - [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"]) chmod u+w . $rm conftest* out/* rmdir out @@ -934,7 +1014,8 @@ [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then + test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && @@ -978,8 +1059,21 @@ test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else AC_MSG_RESULT([no]) fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi ])# AC_LIBTOOL_SYS_LIB_STRIP @@ -991,6 +1085,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= +shrext=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -1011,19 +1106,21 @@ case $host_os in aix3*) version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' + soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux + need_lib_prefix=no + need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file @@ -1049,12 +1146,12 @@ # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}.so$major' + soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi @@ -1067,7 +1164,7 @@ ;; beos*) - library_names_spec='${libname}.so' + library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -1075,8 +1172,8 @@ bsdi4*) version_type=linux need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -1088,41 +1185,55 @@ cygwin* | mingw* | pw32*) version_type=windows + shrext=".dll" need_version=no need_lib_prefix=no + case $GCC,$host_os in - yes,cygwin*) + yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' - sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ - $install_prog .libs/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac ;; - yes,mingw*) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"` - if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - yes,pw32*) - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' - ;; + *) - library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' @@ -1135,21 +1246,26 @@ version_type=darwin need_lib_prefix=no need_version=no - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. - library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' - soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1157,17 +1273,29 @@ dynamic_linker=no ;; +freebsd*-gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + freebsd*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac @@ -1191,8 +1319,8 @@ version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; @@ -1203,26 +1331,42 @@ version_type=sunos need_lib_prefix=no need_version=no - if test "$host_cpu" = ia64; then + case "$host_cpu" in + ia64*) + shrext='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - else + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - fi + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; @@ -1230,21 +1374,29 @@ irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; - *) version_type=irix ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; @@ -1253,6 +1405,7 @@ shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. @@ -1265,8 +1418,8 @@ version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' libsuff= if test "x$LINUX_64_MODE" = x64; then @@ -1298,12 +1451,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -1313,17 +1466,17 @@ newsos6) version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; -nto-qnx) +nto-qnx*) version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -1332,7 +1485,7 @@ version_type=sunos need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then @@ -1351,8 +1504,9 @@ os2*) libname_spec='$name' + shrext=".dll" need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' + library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; @@ -1361,8 +1515,8 @@ version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" @@ -1370,8 +1524,8 @@ sco3.2v5*) version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1379,8 +1533,8 @@ version_type=linux need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -1390,7 +1544,7 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -1402,12 +1556,18 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no ;; motorola) need_lib_prefix=no @@ -1421,16 +1581,16 @@ sysv4*MP*) if test -d /usr/nec ;then version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.so.$major' + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; uts4*) version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1447,13 +1607,9 @@ # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags=TAGS], - [include additional configurations @<:@CXX,GCJ@:>@])], - [tagnames="$withval"], - [tagnames="CXX,GCJ" - case $host_os in - mingw*|cygwin*) tagnames="$tagnames,RC" ;; - esac]) + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then @@ -1471,7 +1627,7 @@ # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do @@ -1494,11 +1650,27 @@ case $tagname in CXX) - AC_LIBTOOL_LANG_CXX_CONFIG + if test -n "$CXX" && test "X$CXX" != "Xno"; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi ;; + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + GCJ) - AC_LIBTOOL_LANG_GCJ_CONFIG + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi ;; RC) @@ -1511,8 +1683,10 @@ esac # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi + fi done IFS="$lt_save_ifs" @@ -1671,11 +1845,27 @@ ])# AC_LIBTOOL_PICMODE +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + # AC_PATH_TOOL_PREFIX # ------------------- # find a file program which can recognise shared library AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_MSG_CHECKING([for $1]) +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) @@ -1699,7 +1889,7 @@ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then + $EGREP "$file_magic_regex" > /dev/null; then : else cat <&2 @@ -1750,20 +1940,21 @@ # AC_PROG_LD # ---------- -# find the path to the GNU or non-GNU linker +# find the pathname to the GNU or non-GNU linker AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], [AC_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) + AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1775,10 +1966,10 @@ # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; @@ -1807,11 +1998,14 @@ # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + case `"$lt_cv_path_LD" -v 2>&1 &1 &5; then +case `$LD -v 2>&1 /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else - lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; @@ -1995,7 +2203,7 @@ lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; -nto-qnx) +nto-qnx*) lt_cv_deplibs_check_method=unknown ;; @@ -2043,6 +2251,9 @@ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; esac ;; @@ -2059,7 +2270,7 @@ # AC_PROG_NM # ---------- -# find the path to a BSD-compatible name lister +# find the pathname to a BSD-compatible name lister AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, [if test -n "$NM"; then @@ -2076,16 +2287,23 @@ # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file - if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break - elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac fi done IFS="$lt_save_ifs" @@ -2102,15 +2320,15 @@ [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32*) - # These system don't have libm +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) - AC_CHECK_LIB(m, main, LIBM="-lm") + AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac ])# AC_CHECK_LIBM @@ -2155,7 +2373,7 @@ # In the future, this macro may have to be called after AC_PROG_LIBTOOL. AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, + AC_CHECK_LIB(ltdl, lt_dlinit, [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], [if test x"$enable_ltdl_install" = xno; then AC_MSG_WARN([libltdl not installed, but installation disabled]) @@ -2177,14 +2395,6 @@ ])# AC_LIBLTDL_INSTALLABLE -# If this macro is not defined by Autoconf, define it here. -ifdef([AC_PROVIDE_IFELSE], - [], - [define([AC_PROVIDE_IFELSE], - [ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - # AC_LIBTOOL_CXX # -------------- # enable support for C++ libraries @@ -2198,9 +2408,26 @@ AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + # AC_LIBTOOL_GCJ # -------------- # enable support for GCJ libraries @@ -2218,6 +2445,7 @@ [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) ])# _LT_AC_LANG_GCJ @@ -2225,7 +2453,8 @@ # -------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([AC_PROG_RC]) +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) ])# AC_LIBTOOL_RC @@ -2247,10 +2476,10 @@ _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" +lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests -lt_simple_link_test_code='main(){return(0);}' +lt_simple_link_test_code='int main(){return(0);}\n' _LT_AC_SYS_COMPILER @@ -2267,7 +2496,7 @@ fi if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : else AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no @@ -2294,9 +2523,9 @@ AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_DLOPEN_SELF($1) # Report which librarie types wil actually be built @@ -2322,6 +2551,32 @@ test "$enable_shared" = yes && enable_static=no fi ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _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' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + 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' + # 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(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; esac AC_MSG_RESULT([$enable_shared]) @@ -2355,12 +2610,17 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Dependencies to place before and after the object being linked: _LT_AC_TAGVAR(predep_objects, $1)= @@ -2369,27 +2629,42 @@ _LT_AC_TAGVAR(postdeps, $1)= _LT_AC_TAGVAR(compiler_lib_search_path, $1)= -# Source file extension for C test sources. +# Source file extension for C++ test sources. ac_ext=cc -# Object file extension for compiled C test sources. +# Object file extension for compiled C++ test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" +lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests -lt_simple_link_test_code='int main(int char *[]) { return(0); }' +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # Allow CC to be a program name with arguments. -lt_save_CC="$CC" +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} -set dummy $CC -compiler="[$]2" +compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` @@ -2404,12 +2679,11 @@ if test "$GXX" = yes; then # Set up default GNU C++ configuration + AC_PROG_LD + # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. - if eval "`$CC -print-prog-name=ld` --version 2>&1" | \ - egrep 'GNU ld' > /dev/null; then - with_gnu_ld=yes - + 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' @@ -2423,7 +2697,7 @@ # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - egrep 'no-whole-archive' > /dev/null; then + grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= @@ -2437,13 +2711,13 @@ # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no @@ -2564,6 +2838,71 @@ ;; esac ;; + + cygwin* | mingw* | pw32*) + # _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(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' + # 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 + cp $export_symbols $output_objdir/$soname.def; + else + 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' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes; then + _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' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + 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' + 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' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + + # 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}' + 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}' + 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(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + dgux*) case $cc_basename in ec++) @@ -2595,25 +2934,79 @@ ;; gnu*) ;; - hpux*) + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + 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' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) if test $with_gnu_ld = no; then - if test "$host_cpu" = ia64; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - else + ;; + *) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - fi + ;; + esac fi - if test "$host_cpu" = ia64; then + case "$host_cpu" in + hppa*64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - else + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes - fi - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac case $cc_basename in CC) @@ -2621,16 +3014,12 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC) - case $host_os in - hpux9*) - _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' + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - else - _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' - fi + _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' ;; esac # Commands to make compiler produce verbose output that lists @@ -2641,21 +3030,17 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then - case $host_os in - hpux9*) - _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' + case "$host_cpu" in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; *) - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - else - _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' - fi + _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' ;; esac fi @@ -2683,7 +3068,7 @@ 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' else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' + _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' fi fi _LT_AC_TAGVAR(link_all_deplibs, $1)=yes @@ -2700,9 +3085,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)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.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 $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' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -2711,7 +3095,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' @@ -2747,7 +3131,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; @@ -2772,7 +3156,15 @@ esac ;; netbsd*) - # NetBSD uses g++ - do we need to do anything? + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _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 + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; osf3*) case $cc_basename in @@ -2782,7 +3174,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)='templib=`echo $lib | sed -e "s/\.so\..*/\.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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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)=: @@ -2812,7 +3204,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then @@ -2825,7 +3217,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support @@ -2842,7 +3234,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)='templib=`echo $lib | sed -e "s/\.so\..*/\.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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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)=: @@ -2859,7 +3251,7 @@ 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_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~ + _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~ $rm $lib.exp' @@ -2875,7 +3267,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then @@ -2888,7 +3280,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support @@ -2938,7 +3330,7 @@ # 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_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + _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' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' @@ -2963,7 +3355,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is @@ -2982,26 +3374,26 @@ # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | egrep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${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 $linker_flags~$rm $lib.exp' + 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_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' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" 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 $linker_flags ${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 $linker_flags~$rm $lib.exp' + _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_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' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' @@ -3037,9 +3429,55 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -# Figure out "hidden" C++ library dependencies from verbose -# compiler output whening linking a shared library. -cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments - _LT_AC_FILE_LTDLL_C - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments - _LT_AC_FILE_IMPGEN_C -EOF - ;; esac # We use sed instead of cat because bash on DJGPP gets confused if @@ -3732,7 +4284,7 @@ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [], + [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI @@ -3784,6 +4336,9 @@ irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; solaris* | sysv5*) symcode='[[BDT]]' ;; @@ -3794,16 +4349,17 @@ # Handle CRLF in mingw tool chain opt_cr= -case $host_os in +case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[[ABCDGISTW]]' -fi +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGISTW]]' ;; +esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do @@ -3839,8 +4395,8 @@ fi # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then cat < conftest.$ac_ext #ifdef __cplusplus extern "C" { @@ -3866,7 +4422,7 @@ lt_preloaded_symbols[[]] = { EOF - sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; @@ -3948,10 +4504,10 @@ # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - cygwin* | mingw* | os2*) + mingw* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' @@ -3971,10 +4527,15 @@ fi ;; hpux*) - # PIC is the default for IA64 HP-UX, but not for PA HP-UX. - if test "$host_cpu" != ia64; then + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - fi + ;; + esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' @@ -4027,9 +4588,14 @@ aCC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - if test "$host_cpu" != ia64; then + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi + ;; + esac ;; *) ;; @@ -4058,7 +4624,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; + ;; cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha @@ -4189,11 +4755,11 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - cygwin* | mingw* | pw32* | os2*) + mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' @@ -4219,10 +4785,16 @@ ;; hpux*) - # PIC is the default for IA64 HP-UX, but not for PA HP-UX. - if test "$host_cpu" != ia64; then + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - fi + ;; + esac ;; *) @@ -4242,7 +4814,7 @@ fi ;; - cygwin* | mingw* | pw32* | os2*) + mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' @@ -4250,9 +4822,16 @@ hpux9* | hpux10* | hpux11*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" != ia64; then + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi + ;; + esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; @@ -4269,11 +4848,18 @@ ;; linux*) - if test "$CC" = "icc"; then + case $CC in + icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - fi + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac ;; osf3* | osf4* | osf5*) @@ -4300,11 +4886,7 @@ ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - if test "x$host_vendor" = xsni; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD' - else - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - fi + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; @@ -4335,7 +4917,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [], + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; @@ -4349,7 +4931,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC" + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac ]) @@ -4361,30 +4943,32 @@ AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix4* | aix5*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi ;; - cygwin* | mingw* | pw32*) + pw32*) _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; + cygwin* | mingw*) + _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' + ;; *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ],[ runpath_var= _LT_AC_TAGVAR(allow_undefined_flag, $1)= - + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)= _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= @@ -4392,17 +4976,21 @@ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an egrep regular expression of symbols to exclude + # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. @@ -4466,7 +5054,7 @@ ;; beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME @@ -4477,80 +5065,28 @@ ;; cygwin* | mingw* | pw32*) - # _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) 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(always_export_symbols, $1)=yes - - extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ - sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ - test -f $output_objdir/impgen.exe || (cd $output_objdir && \ - if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ - else $CC -o impgen impgen.c ; fi)~ - $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' - - # cygwin and mingw dlls have different entry points and sets of symbols - # to exclude. - # FIXME: what about values for MSVC? - dll_entry=__cygwin_dll_entry@12 - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ - case $host_os in - mingw*) - # mingw values - dll_entry=_DllMainCRTStartup@12 - dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ - ;; - esac - - # mingw and cygwin differ, and it's simplest to just exclude the union - # of the two symbol sets. - dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 - - # recent cygwin and mingw systems supply a stub DllMain which the user - # can override, but on older systems we have to supply one (in ltdll.c) - if test "x$lt_cv_need_dllmain" = "xyes"; then - ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " - ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ - test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' + _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' + # 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 + cp $export_symbols $output_objdir/$soname.def; + else + 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' else - ltdll_obj= - ltdll_cmds= + ld_shlibs=no fi - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - # Be careful not to strip the DATA tag left by newer dlltools. - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"' - $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ - sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' - - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; - _lt_hint=1; - cat $export_symbols | while read symbol; do - set dummy \$symbol; - case \[$]# in - 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; - esac; - _lt_hint=`expr 1 + \$_lt_hint`; - done; - fi~ - '"$ltdll_cmds"' - $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ - $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ - $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' ;; netbsd*) @@ -4558,13 +5094,13 @@ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $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 $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' fi ;; solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&2 @@ -4576,7 +5112,7 @@ *** used, and then restart. EOF - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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' else @@ -4592,7 +5128,7 @@ ;; *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + 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' else @@ -4605,20 +5141,12 @@ runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - case $host_os in - cygwin* | mingw* | pw32*) - # dlltool doesn't understand --whole-archive et. al. - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - ;; - *) - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - ;; - esac + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -4647,7 +5175,7 @@ else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' @@ -4763,35 +5291,55 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # 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 $libobjs $compiler_flags `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. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) + if test "$GXX" = yes ; then + _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' ;; *) # Darwin 1.3 on - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ;; esac - - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. Also zsh mangles - # `"' quotes if we put them in here... so don't! - _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' - # We need to add '_' to the symbols in $export_symbols first - #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + 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' + 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' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # 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}' + 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}' + 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(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi ;; dgux*) @@ -4831,54 +5379,80 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - hpux9* | hpux10* | hpux11*) + hpux9*) if test "$GCC" = yes; then - case $host_os in - hpux9*) - _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' - ;; - *) - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - esac + _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' else - case $host_os in - hpux9*) - _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' - ;; - *) - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - ;; - esac + _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 - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - else - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; + hpux10* | hpux11*) + 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 -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + 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' 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' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -4907,9 +5481,8 @@ openbsd*) _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 $linker_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else @@ -4919,7 +5492,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 $linker_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac @@ -4954,7 +5527,7 @@ 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 -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + _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~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly @@ -4975,11 +5548,11 @@ _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_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + _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' 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~ + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' @@ -5007,13 +5580,23 @@ ;; sysv4) - if test "x$host_vendor" = xsni; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - fi + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac runpath_var='LD_RUN_PATH' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; @@ -5059,7 +5642,7 @@ # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now _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~ + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -5089,48 +5672,54 @@ # # Do we need to explicitly link libc? # -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes -if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - echo 'static int dummy;' > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + cat conftest.err 1>&5 fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac -fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac ])# AC_LIBTOOL_PROG_LD_SHLIBS @@ -5174,146 +5763,6 @@ ])# _LT_AC_FILE_LTDLL_C -# _LT_AC_FILE_IMPGEN_C -# -------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [ -# /* impgen.c starts here */ -# /* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# 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. -# */ -# -# #include /* for printf() */ -# #include /* for open(), lseek(), read() */ -# #include /* for O_RDONLY, O_BINARY */ -# #include /* for strdup() */ -# -# /* O_BINARY isn't required (or even defined sometimes) under Unix */ -# #ifndef O_BINARY -# #define O_BINARY 0 -# #endif -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (dll < 1) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/sed$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - _max=0 - _count=0 - # Add /usr/xpg4/bin/sed as it is typically found on Solaris - # along with /bin/sed that truncates output. - for _sed in $_sed_list /usr/xpg4/bin/sed; do - test ! -f ${_sed} && break - cat /dev/null > "$tmp/sed.in" - _count=0 - echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" - # Check for GNU sed and select it if it is found. - if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then - lt_cv_path_SED=${_sed} - break; +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && break + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed fi - while true; do - cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" - mv "$tmp/sed.tmp" "$tmp/sed.in" - cp "$tmp/sed.in" "$tmp/sed.nl" - echo >>"$tmp/sed.nl" - ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break - cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break - # 10000 chars as input seems more than enough - test $_count -gt 10 && break - _count=`expr $_count + 1` - if test $_count -gt $_max; then - _max=$_count - lt_cv_path_SED=$_sed - fi - done done - rm -rf "$tmp" +done ]) +SED=$lt_cv_path_SED AC_MSG_RESULT([$SED]) ]) diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/admin/ltmain.sh --- a/kdiff3/admin/ltmain.sh Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/admin/ltmain.sh Thu Sep 16 02:40:08 2004 +0000 @@ -1,7 +1,7 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # @@ -55,8 +55,8 @@ # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.4e -TIMESTAMP=" (1.1090 2002/02/07 19:54:36)" +VERSION=1.5a +TIMESTAMP=" (1.1240 2003/06/26 06:55:19)" default_mode= help="Try \`$progname --help' for more information." @@ -69,8 +69,17 @@ # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -SP2NL='tr \040 \012' -NL2SP='tr \015\012 \040\040' +# test EBCDIC or ASCII +case `echo A|tr A '\301'` in + A) # EBCDIC based system + SP2NL="tr '\100' '\n'" + NL2SP="tr '\r\n' '\100\100'" + ;; + *) # Assume ASCII based system + SP2NL="tr '\040' '\012'" + NL2SP="tr '\015\012' '\040\040'" + ;; +esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -88,8 +97,8 @@ : ${IFS=" "} if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - echo "$modename: not configured to build any kind of library" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 fi @@ -105,6 +114,49 @@ lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +win32_libid () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + +# End of Shell function definitions +##################################### + # Parse our command line options once, thoroughly. while test "$#" -gt 0 do @@ -128,7 +180,7 @@ # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) - echo "$progname: invalid tag name: $tagname" 1>&2 + $echo "$progname: invalid tag name: $tagname" 1>&2 exit 1 ;; esac @@ -144,7 +196,7 @@ # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" else - echo "$progname: ignoring unknown tag $tagname" 1>&2 + $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi ;; esac @@ -166,12 +218,11 @@ ;; --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - echo - echo "Copyright 1996, 1997, 1998, 1999, 2000, 2001" - echo "Free Software Foundation, Inc." - echo "This is free software; see the source for copying conditions. There is NO" - echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit 0 ;; @@ -185,7 +236,7 @@ ;; --debug) - echo "$progname: enabling shell trace mode" + $echo "$progname: enabling shell trace mode" set -x ;; @@ -194,16 +245,16 @@ ;; --features) - echo "host: $host" + $echo "host: $host" if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" + $echo "enable shared libraries" else - echo "disable shared libraries" + $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then - echo "enable static libraries" + $echo "enable static libraries" else - echo "disable static libraries" + $echo "disable static libraries" fi exit 0 ;; @@ -259,8 +310,10 @@ # Infer the operation mode. if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 case $nonopt in - *cc | *++ | gcc* | *-gcc*) + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do @@ -315,152 +368,121 @@ modename="$modename: compile" # Get the compilation command and the source file. base_compile= - prev= - lastarg= - srcfile="$nonopt" + srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_output= - - user_target=no + arg_mode=normal + libobj= + for arg do - case $prev in - "") ;; - xcompiler) - # Aesthetically quote the previous argument. - prev= - lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - - case $arg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal continue ;; - esac - - # Accept any command-line options. - case $arg in - -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - user_target=next + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + arg_mode=target + continue + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg ;; - - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - continue - ;; - esac - - case $user_target in - next) - # The next one is the -o target name - user_target=yes - continue - ;; - yes) - # We got the output file - user_target=set - libobj="$arg" - continue - ;; - esac - - # Accept the current argument as the source file. - lastarg="$srcfile" - srcfile="$arg" + esac # case $arg_mode # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. - case $lastarg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - done - - case $user_target in - set) + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit 1 ;; - no) - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 ;; *) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac @@ -498,28 +520,25 @@ # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. if test -n "$available_tags" && test -z "$tagname"; then - case "$base_compile " in - "$CC "*) ;; + case $base_compile in # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when ltconfig was run. - "`$echo $CC` "*) ;; + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" case "$base_compile " in - "$CC "*) + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; - "`$echo $CC` "*) - tagname=$z - break - ;; esac fi done @@ -527,11 +546,11 @@ # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then - echo "$modename: unable to infer tagged configuration" - echo "$modename: specify a tag with \`--tag'" 1>&2 + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 exit 1 # else -# echo "$modename: using $tagname tagged configuration" +# $echo "$modename: using $tagname tagged configuration" fi ;; esac @@ -595,7 +614,7 @@ done elif test "$need_locks" = warn; then if test -f "$lockfile"; then - echo "\ + $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` @@ -609,7 +628,7 @@ $run $rm $removelist exit 1 fi - echo $srcfile > "$lockfile" + $echo $srcfile > "$lockfile" fi if test -n "$fix_srcfile_path"; then @@ -667,7 +686,7 @@ if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - echo "\ + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -737,7 +756,7 @@ if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - echo "\ + $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -801,7 +820,7 @@ # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra - # flag for every libtool invokation. + # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying @@ -833,6 +852,7 @@ linker_flags= dllsearchpath= lib_search_path=`pwd` + inst_prefix_dir= avoid_version=no dlfiles= @@ -859,6 +879,7 @@ temp_rpath= thread_safe=no vinfo= + vinfo_number=no # We need to know -static, to get the right output filenames. for arg @@ -965,6 +986,11 @@ prev= continue ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; release) release="-$arg" prev= @@ -981,7 +1007,7 @@ # A libtool-controlled object. # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= @@ -1115,6 +1141,14 @@ finalize_command="$finalize_command $wl$qarg" continue ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; *) eval "$prev=\"\$arg\"" prev= @@ -1173,6 +1207,11 @@ continue ;; + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) @@ -1224,6 +1263,9 @@ # 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 @@ -1239,7 +1281,10 @@ esac elif test "X$arg" = "X-lc_r"; then case $host in - *-*-openbsd* | *-*-freebsd*) + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-openbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -1254,6 +1299,34 @@ continue ;; + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + -no-fast-install) fast_install=no continue @@ -1335,6 +1408,11 @@ prev=vinfo continue ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` @@ -1383,6 +1461,11 @@ continue ;; + -XCClinker) + prev=xcclinker + continue + ;; + # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need @@ -1405,7 +1488,7 @@ # A libtool-controlled object. # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= @@ -1551,27 +1634,24 @@ # command doesn't match the default compiler. if test -n "$available_tags" && test -z "$tagname"; then case $base_compile in - "$CC "*) ;; # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when ltconfig was run. - "`$echo $CC` "*) ;; + # but not from the CC environment variable when configure was run. + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" case $base_compile in - "$CC "*) + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) # The compiler in $compile_command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; - "`$echo $CC` "*) - tagname=$z - break - ;; esac fi done @@ -1579,11 +1659,11 @@ # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then - echo "$modename: unable to infer tagged configuration" - echo "$modename: specify a tag with \`--tag'" 1>&2 + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 exit 1 # else -# echo "$modename: using $tagname tagged configuration" +# $echo "$modename: using $tagname tagged configuration" fi ;; esac @@ -1638,7 +1718,17 @@ *) linkmode=prog ;; # Anything else should be a program. esac + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplcations in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac specialdeplibs= + libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) @@ -1658,7 +1748,7 @@ # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= - if test "X$duplicate_deps" = "Xyes" ; then + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; @@ -1732,12 +1822,18 @@ fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - # Search the libtool library - lib="$searchdir/lib${name}.la" - if test -f "$lib"; then - found=yes - break - fi + for search_ext in .la $shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library @@ -1749,6 +1845,42 @@ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi fi ;; # -l -L*) @@ -1799,17 +1931,17 @@ case $linkmode in lib) if test "$deplibs_check_method" != pass_all; then - echo - echo "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not used here." + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." else - echo - echo "*** Warning: Linking the shared library $output against the" - echo "*** static library $deplib is not portable!" + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue @@ -1853,7 +1985,7 @@ fi # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 @@ -1869,8 +2001,9 @@ library_names= old_library= # If the library was installed with an old release of libtool, - # it will not redefine variable installed. + # it will not redefine variables installed, or shouldnotlink installed=yes + shouldnotlink=no # Read the .la file case $lib in @@ -1914,6 +2047,7 @@ continue fi # $pass = conv + # Get the name of the library we link against. linklib= for l in $old_library $library_names; do @@ -2006,6 +2140,7 @@ continue fi + if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" @@ -2092,6 +2227,17 @@ need_relink=yes fi # This is a shared library + + # Warn about portability, can't link against -module's on some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. @@ -2129,7 +2275,7 @@ elif test -n "$soname_spec"; then # bleh windows case $host in - *cygwin*) + *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; @@ -2141,8 +2287,8 @@ # Make a new name for the extract_expsyms_cmds to use soroot="$soname" - soname=`echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : @@ -2184,6 +2330,22 @@ immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" + case $host in + *-*-sco3.2v5* ) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against it, someone + # is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; @@ -2202,6 +2364,14 @@ add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" @@ -2257,9 +2427,23 @@ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" fi @@ -2291,21 +2475,21 @@ # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. - echo - echo "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module @@ -2376,19 +2560,70 @@ ;; esac if grep "^installed=no" $deplib > /dev/null; then - path="-L$absdir/$objdir" + path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 fi - path="-L$absdir" + if test "$absdir" != "$libdir"; then + # Sure, some shells/systems don't implement the -ef. + # Those will have to live with the warning. + test "$absdir" -ef "$libdir" > /dev/null 2>&1 || + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + path="" + fi + ;; + *) + path="-L$path" + ;; + esac + + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac ;; *) continue ;; esac case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$deplibs $depdepl" ;; + esac + case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; esac @@ -2434,6 +2669,7 @@ # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or @@ -2470,18 +2706,25 @@ *) tmp_libs="$tmp_libs $deplib" ;; esac ;; - -R*) - temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi + # Last step: remove runtime libs from dependency_libs (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" @@ -2507,7 +2750,7 @@ fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then @@ -2529,6 +2772,7 @@ case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" ;; *) @@ -2540,6 +2784,7 @@ if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` @@ -2552,9 +2797,9 @@ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit 1 else - echo - echo "*** Warning: Linking the shared library $output against the non-libtool" - echo "*** objects $objs is not portable!" + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi @@ -2582,7 +2827,7 @@ fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then @@ -2601,9 +2846,46 @@ exit 1 fi - current="$2" - revision="$3" - age="$4" + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac # Check that each of the things are valid numbers. case $current in @@ -2667,14 +2949,14 @@ ;; irix | nonstopux) + major=`expr $current - $age + 1` + case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" - major=`expr $current - $age + 1` - # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do @@ -2694,7 +2976,7 @@ ;; osf) - major=`expr $current - $age` + major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" @@ -2724,7 +3006,7 @@ *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 ;; esac @@ -2773,7 +3055,7 @@ # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= - tempremovelist=`echo "$output_objdir/*"` + tempremovelist=`$echo "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext) @@ -2800,9 +3082,9 @@ # Eliminate all temporary directories. for path in $notinst_path; do - lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` - deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` - dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` + deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` done if test -n "$xrpath"; then @@ -2853,6 +3135,12 @@ *-*-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 @@ -2886,7 +3174,7 @@ # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. + # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) @@ -2905,39 +3193,16 @@ for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" -ne "0"; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - else - # Error occured in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - $rm conftest - $LTCC -o conftest conftest.c $i - # Did it work? - if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` + if test "$name" != "" && test "$name" -ne "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches @@ -2946,21 +3211,64 @@ newdeplibs="$newdeplibs $i" else droppeddeps=yes - echo - echo "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which I believe you do not have" + $echo "*** because a test_compile did reveal that the linker did not use it for" + $echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + $rm conftest + $LTCC -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because a test_compile did reveal that the linker did not use this one" + $echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi fi else droppeddeps=yes - echo - echo "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." + $echo + $echo "*** Warning! Library $i is needed by this library but I was not able to" + $echo "*** make it link in! You will probably need to install it or some" + $echo "*** library that it depends on before this library will be fully" + $echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" @@ -2974,11 +3282,20 @@ for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then @@ -2999,26 +3316,27 @@ done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ - | egrep "$file_magic_regex" > /dev/null; then + | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi - done - done + done + done + fi if test -n "$a_deplib" ; then droppeddeps=yes - echo - echo "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then - echo "*** with $libname but no candidates were found. (...for file magic test)" + $echo "*** with $libname but no candidates were found. (...for file magic test)" else - echo "*** with $libname and none of the candidates passed a file format test" - echo "*** using a file magic. Last file checked: $potlib" + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" fi fi else @@ -3034,33 +3352,43 @@ name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | egrep "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done done - done + fi if test -n "$a_deplib" ; then droppeddeps=yes - echo - echo "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then - echo "*** with $libname but no candidates were found. (...for regex pattern test)" + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else - echo "*** with $libname and none of the candidates passed a file format test" - echo "*** using a regex pattern. Last file checked: $potlib" + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else @@ -3071,16 +3399,23 @@ ;; none | unknown | *) newdeplibs="" - if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | - grep . >/dev/null; then - echo + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." + $echo "*** Warning: inter-library dependencies are not supported in this platform." else - echo "*** Warning: inter-library dependencies are not known to be supported." + $echo "*** Warning: inter-library dependencies are not known to be supported." fi - echo "*** All declared inter-library dependencies are being dropped." + $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; @@ -3100,17 +3435,17 @@ if test "$droppeddeps" = yes; then if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - echo "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" @@ -3120,16 +3455,16 @@ build_libtool_libs=no fi else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module @@ -3187,7 +3522,11 @@ if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" - eval dep_rpath=\"$hardcode_libdir_flag_spec\" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. @@ -3207,6 +3546,7 @@ fi # Get the real and link names of the library. + eval shared_ext=\"$shrext\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" @@ -3240,13 +3580,21 @@ save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi @@ -3257,6 +3605,17 @@ $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs @@ -3290,8 +3649,34 @@ if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done @@ -3318,13 +3703,21 @@ #linker_flags="$linker_flags $add_flags" # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval cmds=\"$module_expsym_cmds\" + else + eval cmds=\"$module_cmds\" + fi + else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else eval cmds=\"$archive_cmds\" + fi fi - if len=`expr "X$cmds" : ".*"` && + if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else @@ -3385,6 +3778,15 @@ test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + # Set up a command to remove the reloadale object files # after they are used. i=0 @@ -3541,8 +3943,34 @@ if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done @@ -3609,7 +4037,7 @@ prog) case $host in - *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 @@ -3634,6 +4062,16 @@ ;; esac + case $host in + *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 + ;; + esac + compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" @@ -3784,12 +4222,12 @@ done if test -n "$exclude_expsyms"; then - $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi @@ -3807,8 +4245,8 @@ for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval 'echo ": $name " >> "$nlist"' + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done @@ -3817,12 +4255,18 @@ test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then - egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S @@ -3831,7 +4275,7 @@ if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else - echo '/* NONE */' >> "$output_objdir/$dlsyms" + $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ @@ -4075,13 +4519,228 @@ # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in - *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in - *cygwin*) exeext=.exe ;; + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac + case $host in + *cygwin* | *mingw* ) + cwrappersource=`$echo ${objdir}/lt-${output}.c` + cwrapper=`$echo ${output}.exe` + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +#define DIR_SEPARATOR '/' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +#define HAVE_DOS_BASED_FILE_SYSTEM +#ifndef DIR_SEPARATOR_2 +#define DIR_SEPARATOR_2 '\\' +#endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +char * basename (const char *name); +char * fnqualify(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup ((char *) basename (argv[0])); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = fnqualify(argv[0]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +char * +basename (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha (name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return (char *) base; +} + +char * +fnqualify(const char *path) +{ + size_t size; + char *p; + char tmp[LT_PATHMAX + 1]; + + assert(path != NULL); + + /* Is it qualified already? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha (path[0]) && path[1] == ':') + return xstrdup (path); +#endif + if (IS_DIR_SEPARATOR (path[0])) + return xstrdup (path); + + /* prepend the current directory */ + /* doesn't handle '~' */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ + p = XMALLOC(char, size); + sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); + return p; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC -s -o $cwrapper $cwrappersource + ;; + esac $rm $output trap "$rm $output; exit 1" 1 2 15 @@ -4159,7 +4818,7 @@ " if test "$fast_install" = yes; then - echo >> $output "\ + $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" @@ -4175,7 +4834,7 @@ $rm \"\$progdir/\$file\" fi" - echo >> $output "\ + $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then @@ -4193,13 +4852,13 @@ $rm \"\$progdir/\$file\" fi" else - echo >> $output "\ + $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi - echo >> $output "\ + $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" @@ -4230,14 +4889,6 @@ # Run the actual program with our arguments. " case $host in - # win32 systems need to use the prog path for dll - # lookup to work - *-*-cygwin* | *-*-pw32*) - $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} -" - ;; - # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ @@ -4247,11 +4898,7 @@ *) $echo >> $output "\ - # Export the path to the program. - PATH=\"\$progdir:\$PATH\" - export PATH - - exec \$program \${1+\"\$@\"} + exec \$progdir/\$program \${1+\"\$@\"} " ;; esac @@ -4263,7 +4910,7 @@ # The program doesn't exist. \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 - echo \"See the $PACKAGE documentation for more information.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ @@ -4286,7 +4933,6 @@ oldobjs="$libobjs_save" build_libtool_libs=no else - #oldobjs="$oldobjs$old_deplibs $non_pic_objects" oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" @@ -4322,8 +4968,34 @@ if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` done @@ -4348,6 +5020,25 @@ objlist= concat_cmds= save_oldobjs=$oldobjs + # GNU ar 2.10+ was changed to match POSIX; thus no paths are + # encoded into archives. This makes 'ar r' malfunction in + # this piecewise linking case whenever conflicting object + # names appear in distinct ar calls; check, warn and compensate. + if (for obj in $save_oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 + $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 + AR_FLAGS=cq + fi + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done for obj in $save_oldobjs do oldobjs="$objlist $obj" @@ -4359,6 +5050,9 @@ else # the above command should be used before it gets too long oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= @@ -4366,7 +5060,11 @@ done RANLIB=$save_RANLIB oldobjs=$objlist - eval cmds=\"\$concat_cmds~$old_archive_cmds\" + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~$old_archive_cmds\" + fi fi fi save_ifs="$IFS"; IFS='~' @@ -4402,9 +5100,11 @@ fi done # Quote the link command for shipping. - relink_command="($relink_command; cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" + relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - + if test "$hardcode_automatic" = yes ; then + relink_command= + fi # Only create the output if not a dry run. if test -z "$run"; then for installed in no yes; do @@ -4457,7 +5157,7 @@ # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file @@ -4486,6 +5186,9 @@ # Is this an already installed library? installed=$installed +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' @@ -4668,7 +5371,7 @@ *.la) # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -4703,12 +5406,33 @@ dir="$dir$objdir" if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit 1 + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue + exit 1 fi fi @@ -4816,23 +5540,43 @@ destfile="$destdir/$destfile" fi + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) - wrapper=`echo $file | ${SED} -e 's,.exe$,,'` + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac - if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac # If there is no directory component, then add one. case $file in - */* | *\\*) . $wrapper ;; - *) . ./$wrapper ;; + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; esac # Check the variables that should have been set. @@ -4860,10 +5604,17 @@ done relink_command= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac # If there is no directory component, then add one. case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; esac outputname= @@ -4877,7 +5628,7 @@ $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 continue fi - file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` @@ -4895,7 +5646,7 @@ fi else # Install the binary that we compiled earlier. - file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi @@ -4911,7 +5662,7 @@ destfile=$destfile.exe ;; *:*.exe) - destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; @@ -4998,40 +5749,40 @@ # Exit here if they wanted silent mode. exit 0 - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" + $echo "----------------------------------------------------------------------" + $echo "Libraries have been installed in:" for libdir in $libdirs; do - echo " $libdir" + $echo " $libdir" done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" fi if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" - echo " - use the \`$flag' linker flag" + $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then - echo " - have your system administrator run these commands:$admincmds" + $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi - echo - echo "See any operating system documentation about shared libraries for" - echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "----------------------------------------------------------------------" + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "----------------------------------------------------------------------" exit 0 ;; @@ -5059,7 +5810,7 @@ case $file in *.la) # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 @@ -5130,7 +5881,7 @@ -*) ;; *) # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; @@ -5153,7 +5904,7 @@ eval "export $shlibpath_var" fi - # Restore saved enviroment variables + # Restore saved environment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi @@ -5203,13 +5954,14 @@ rmdirs= + origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. - objdir="$objdir" + objdir="$origobjdir" else - objdir="$dir/$objdir" + objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" @@ -5239,7 +5991,7 @@ case $name in *.la) # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. @@ -5286,7 +6038,7 @@ *.lo) # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file . $dir/$name @@ -5306,15 +6058,31 @@ ;; *) - # Do a test to see if this is a libtool program. - if test "$mode" = clean && - (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$file - - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi fi fi ;; @@ -5322,6 +6090,7 @@ $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done + objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do @@ -5383,7 +6152,9 @@ uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE." +a more detailed description of MODE. + +Report bugs to ." exit 0 ;; @@ -5541,7 +6312,7 @@ ;; esac -echo +$echo $echo "Try \`$modename --help' for more information about other modes." exit 0 @@ -5563,7 +6334,7 @@ # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/doc/README --- a/kdiff3/doc/README Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/doc/README Thu Sep 16 02:40:08 2004 +0000 @@ -47,3 +47,7 @@ for i in `ls ../en | grep png`; do ln -s ../en/$i $i; done +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 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/doc/en/index.docbook --- a/kdiff3/doc/en/index.docbook Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/doc/en/index.docbook Thu Sep 16 02:40:08 2004 +0000 @@ -22,7 +22,7 @@ Eibl

- joachim.eibl@gmx.de + joachim.eibl at gmx.de
@@ -30,7 +30,7 @@ -2002-2003 +2002-2004 Joachim Eibl @@ -45,8 +45,8 @@ (V.MM.LL), it could be used by automation scripts. Do NOT change these in the translation. --> -2003-12-07 -0.9.80 +2004-05-29 +0.9.84 @@ -62,7 +62,7 @@ has options to highlight or hide changes in white-space or comments. - This document describes KDiff3-version 0.9.80. + This document describes KDiff3-version 0.9.84. @@ -205,22 +205,23 @@ - And ... +And ... - Fast navigation via buttons. - A mouse-click into a summary column sync's all windows to show the same position. - Select and copy from any window and paste into the merge result window. - Overview column that shows where the changes and conflicts are. - The colors are adjustable to your specific preferences. - Adjustable Tab size. - Option to insert spaces instead of tabs. - Open files comfortably via dialog or specify files on the command line. - Search for strings in all text windows. Find (Ctrl-F) and Find Next (F3) - Show the line numbers for each line. - Paste clipboard or drag text into a diff input window. - Networktransparency via KIO. - Can be used as diff-viewer in KDevelop 3. - ... + Fast navigation via buttons. + A mouse-click into a summary column sync's all windows to show the same position. + Select and copy from any window and paste into the merge result window. + Overview column that shows where the changes and conflicts are. + The colors are adjustable to your specific preferences. + Adjustable Tab size. + Option to insert spaces instead of tabs. + Open files comfortably via dialog or specify files on the command line. + Search for strings in all text windows. Find (Ctrl-F) and Find Next (F3) + Show the line numbers for each line. + Paste clipboard or drag text into a diff input window. + Networktransparency via KIO. + Can be used as diff-viewer in KDevelop 3. + Word-wrap for long lines. + ... @@ -285,6 +286,18 @@ For more information on command line options use: kdiff3 --help +Options: + -m, --merge Merge the input. + -b, --base file Explicit base file. For compatibility with certain tools. + -o, --output file Output file. Implies -m. E.g.: -o newfile.txt + --out file Output file, again. (For compatibility with certain tools.) + --auto No GUI if all conflicts are auto-solvable. (Needs -o file) + --qall Don't solve conflicts automatically. (For compatibility...) + --L1 alias1 Visible name replacement for input file 1 (base). + --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. @@ -371,7 +384,8 @@ strings, comments, for the preprocessor, and some only very esoteric situations.) The vertical line separating the summary column and the text is interrupted - if the input file had no lines there. + if the input file had no lines there. When word-wrap is enabled then this vertical + line appears dotted for wrapped lines. 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 @@ -603,6 +617,8 @@ of the previous line is used for the new line. Auto copy selection: Every selection is immediately copied to the clipboard when active and you needn't explicitely copy it. + Line end style: When saving you can select what line + end style you prefer. The default setting is the common choice for the used operating system. Use locale encoding: For displaying foreign characters. Try changing this if some characters of your language aren't displayed correctly. @@ -632,24 +648,14 @@ Ignore C/C++ comments: Default is off. Changes in comments will be treated like changes in white space. - Convert to Upper Case: 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. + Ignore case: Default is off. + Case-differences of characters (like 'A' vs. 'a') will be treated like changes in white space. Preprocessor-Command: - 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. + See next section. Line-Matching Preprocessor-Command: - 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. + See next section. Try Hard: Try hard to find an even smaller delta. (Default is on.) This will probably @@ -698,6 +704,16 @@ 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.) + Overview options: + These choices are only available when you compare three files. In normal mode all + differences are shown in one color-coded overview-column. But sometimes you are + especially interested in the differences between only two of these three files. + Selecting "A vs. B", "A vs. C" or "B vs. C"-overview will show a second overview + column with the required information next to the normal overview. + + Word wrap diff windows: + Wrap lines when their length would exceed the width of a window. + Show Window A/B/C: 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.) @@ -722,6 +738,266 @@ + +Preprocessor Commands + +KDiff3 supports two preprocessor options. + + + Preprocessor-Command: + 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. + + Line-Matching Preprocessor-Command: + 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. + + + + +The idea is to allow the user greater flexibility while configuring the diff-result. +But this requires an external program, and many users don't want to write one themselves. +The good news is that very often sed or perl +will do the job. + +Example: Simple testcase: Consider file a.txt (6 lines): + + aa + ba + ca + da + ea + fa + +And file b.txt (3 lines): + + cg + dg + eg + +Without a preprocessor the following lines would be placed next to each other: + + aa - cg + ba - dg + ca - eg + da + ea + fa + +This is probably not wanted since the first letter contains the actually interesting information. +To help the matching algorithm to ignore the second letter we can use a line matching preprocessor +command, that replaces 'g' with 'a': + + sed 's/g/a/' + +With this command the result of the comparison would be: + + aa + ba + ca - cg + da - dg + ea - eg + fa + +Internally the matching algorithm sees the files after running the line matching preprocessor, +but on the screen the file is unchanged. (The normal preprocessor would change the data also on +the screen.) + + +<command>sed</command> Basics + +This section only introduces some very basic features of sed. For more +information see info:/sed or + +http://www.gnu.org/software/sed/manual/html_mono/sed.html. +A precompiled version for Windows can be found at +http://unxutils.sourceforge.net. +Note that the following examples assume that the sed-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. + + +In this context only the sed-substitute-command is used: + + sed 's/REGEXP/REPLACEMENT/FLAGS' + +Before you use a new command within KDiff3, you should first test it in a console. +Here the echo-command is useful. Example: + + echo abrakadabra | sed 's/a/o/' + -> obrakadabra + +This example shows a very simple sed-command that replaces the first occurance +of "a" with "o". If you want to replace all occurances then you need the "g"-flag: + + echo abrakadabra | sed 's/a/o/g' + -> obrokodobro + +The "|"-symbol is the pipe-command that transfers the output of the previous +command to the input of the following command. If you want to test with a longer file +then you can use cat on Unix-like systems or type +on Windows-like systems. sed will do the substitution for each line. + + cat filename | sed options + + + +Examples For <command>sed</command>-Use In KDiff3 +Ignoring Other Types Of Comments + +Currently KDiff3 understands only C/C++ comments. Using the +Line-Matching-Preprocessor-Command you can also ignore +other types of comments, by converting them into C/C++-comments. + +Example: To ignore comments starting with "#", you would like to convert them +to "//". Note that you also must enable the "Ignore C/C++-Comments" option to get +an effect. An appropriate Line-Matching-Preprocessor-Command would be: + + + sed 's/#/\/\//' + +Since for sed the "/"-character has a special meaning, it is necessary to place the +"\"-character before each "/" in the replacement-string. Sometimes the "\" is required +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 +sed. 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. + + +Caseinsensitive Diff + +Use the following Line-Matching-Preprocessor-Command to convert all input to uppercase: + + sed 's/\(.*\)/\U\1/' + +Here the ".*" is a regular expression that matches any string and in this context matches +all characters in the line. +The "\1" in the replacement string refers to the matched text within the first pair of "\(" and "\)". +The "\U" converts the inserted text to uppercase. + + + +Ignoring Version Control Keywords + +CVS and other version control systems use several keywords to insert automatically +generated strings (info:/cvs/Keyword substitution). +All of them follow the pattern "$KEYWORD generated text$". We now need a +Line-Matching-Preprocessor-Command that removes only the generated text: + + sed 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/' + +The "\|" separates the possible keywords. You might want to modify this list +according to your needs. +The "\" before the "$" is necessary because otherwise the "$" matches the end of the line. + + +While experimenting with sed you might come to understand and even like +these regular expressions. They are useful because there are many other programs that also +support similar things. + + + +Ignoring Numbers + +Ignoring numbers actually is a built-in option. But as another example, this is how +it would look as a Line-Matching-Preprocessor-command. + + sed 's/[0123456789.-]//g' + +Any character within '[' and ']' is a match and will be replaced with nothing. + + + +Ignoring Certain Columns + +Sometimes a text is very strictly formatted, and contains columns that you always want to ignore, while there are +other columns you want to preserve for analysis. In the following example the first five columns (characters) are +ignored, the next ten columns are preserved, then again five columns are ignored and the rest of the line is preserved. + + sed 's/.....\(..........\).....\(.*\)/\1\2/' + +Each dot '.' matches any single character. The "\1" and "\2" in the replacement string refer to the matched text within the first +and second pair of "\(" and "\)" denoting the text to be preserved. + + + +Combining Several Substitutions + +Sometimes you want to apply several substitutions at once. You can then use the +semicolon ';' to separate these from each other. Example: + + echo abrakadabra | sed 's/a/o/g;s/\(.*\)/\U\1/' + -> OBROKODOBRO + + + + +Using <command>perl</command> instead of <command>sed</command> + +Instead of sed you might want to use something else like +perl. + + perl -p -e 's/REGEXP/REPLACEMENT/FLAGS' + +But some details are different in perl. Note that where +sed needed "\(" and "\)" perl +requires the simpler "(" and ")" without preceding '\'. Example: + + sed 's/\(.*\)/\U\1/' + perl -p -e 's/(.*)/\U\1/' + + + + + +Order Of Preprocessor Execution + +The data is piped through all internal and external preprocessors in the +following order: + + +Normal preprocessor, +Line-Matching-Preprocessor, +Ignore case (conversion to uppercase), +Detection of C/C++ comments, +Ignore numbers, +Ignore white space + + +The data after the normal preprocessor will be preserved for display and merging. The +other operations only modify the data that the line-matching-diff-algorithm sees. + +In the rare cases where you use a normal preprocessor note that +the line-matching-preprocessor sees the output of the normal preprocessor as input. + + + +Warning + +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 +certain differences and in the worst case destroy important data. + +For this reason during a merge if a normal preprocessor-command is being used KDiff3 +will tell you so and ask you if it should be disabled or not. +But it won't warn you if a Line-Matching-Preprocessor-command is active. The merge will not complete until +all conflicts are solved. If you disabled "Show White Space" then the differences that +were removed with the Line-Matching-Preprocessor-command will also be invisible. If the +Save-button remains disabled during a merge (because of remaining conflicts), make sure to enable +"Show White Space". If you don't wan't to merge these less important differences manually +you can select "Choose [A|B|C] For All Unsolved Whitespace Conflicts" in the Merge-menu. + + + @@ -962,6 +1238,15 @@ agreeable. + +Statistics Columns + + When the file comparison mode "Full Analysis" is enabled in the options, then + KDiff3 will show extra columns containing the numbers of unsolved, solved, nonwhite and whitespace + conflicts. (The solved-column will only show when comparing or merging three directories.) + + + @@ -1073,13 +1358,26 @@ 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. + Default is off. List only deltas: 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. + + File Comparison Mode: + + Binary Comparison: + This is the default file comparison mode. + + Full Analysis: + Do a full analysis of each file and show the statistics information columns. + (Number of solved, unsolved, nonwhite and white conflicts.) + The full analysis is slower than a simple binary analysis, and much + slower when used on files that don't contain text. + (Specify the appropriate file-antipatterns.) + Trust the modification date: 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 @@ -1089,6 +1387,8 @@ 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. + + Synchronize Directories: 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 @@ -1211,7 +1511,7 @@ 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.) + (Modifying permissions or modification time is only possible for local files.) @@ -1342,14 +1642,14 @@ &kdiff3; - File and Directory Comparison and Merge Tool -Program copyright 2002-2003 Joachim Eibl joachim.eibl@gmx.de +Program copyright 2002-2004 Joachim Eibl joachim.eibl at gmx.de Several cool ideas and bugreports came from colleagues and many people out in the Wild Wild Web. Thank you! -Documentation Copyright © 2002-2003 Joachim Eibl joachim.eibl@gmx.de +Documentation Copyright © 2002-2004 Joachim Eibl joachim.eibl at gmx.de @@ -1380,9 +1680,7 @@ Requirements - In order to successfully use all features of &kdiff3;, you need &kde; >3.1. The - diff-tool from the GNU-diff-utils - is recommended for best results. + In order to successfully use all features of &kdiff3;, you need &kde; >3.1. For information about how to run KDiff3 on other platforms without KDE please see the homepage. diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/kdiff3.kdevelop --- a/kdiff3/kdiff3.kdevelop Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/kdiff3.kdevelop Thu Sep 16 02:40:08 2004 +0000 @@ -3,7 +3,7 @@ Joachim Eibl joachim@gmx.de - 0.9.82 + 0.9.85 KDevKDEAutoProject C++ @@ -55,6 +55,7 @@ + @@ -66,6 +67,7 @@ 1 false + 0 @@ -76,6 +78,7 @@ false + false @@ -115,6 +118,7 @@ false true + 10 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/README --- a/kdiff3/po/README Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/README Thu Sep 16 02:40:08 2004 +0000 @@ -5,25 +5,30 @@ This text is for you, if you might want to help translating KDiff3 or just want to learn how this i18n-thing works. -Current completeness status KDiff3-0.9.81 (2004/01/06): -Total number of message-strings: 376 +grep "Language-Team" *.po -The translation for these languages is 100% complete: -da Danish -de Deutsch -en_GB British English -et Estonian -fr French -it Italian -pt Portuguese -pt_BR Brazilian Portuguese -sr Serbian -sv Svenska +az Azerbaijani +ca LANGUAGE +da Danish +de Deutsch +en_GB British English +es espaniol +et Estonian +fr French +hu Hungarian +it Italian +nl Nederlands +pl Polish +pt_BR Brazilian Portuguese +pt Portuguese +ro Romanian +ru Russian +sr Serbian +sv Svenska +ta +tr Türkçe +zh_CN zh_CN -These languages are partly done: -es Espaniol -hu Hungarian -ru Russian Thanks to all translators! @@ -93,7 +98,7 @@ Finally the program must only read the correct translation tables: QTranslator kdiff3Translator( 0 ); - kdiff3Translator.load( QString("kdiff3_")QTextCodec::locale(), translationDir ); + kdiff3Translator.load( QString("kdiff3_")+QTextCodec::locale(), translationDir ); app.installTranslator( &kdiff3Translator ); QTranslator qtTranslator( 0 ); diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/cvsgetpo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/po/cvsgetpo Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +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 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/da.po --- a/kdiff3/po/da.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/da.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,18 +1,18 @@ # Danish translation of kdiff3 # Copyright (C). -# Erik Kjær Pedersen , 2003. +# Erik Kjær Pedersen , 2003, 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-10 07:18-0500\n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-05-31 12:34+0200\n" "Last-Translator: Erik Kjær Pedersen \n" "Language-Team: Danish \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.3.1\n" "Plural-Forms: \n" #: _translatorinfo.cpp:1 @@ -27,11 +27,44 @@ "Your emails" msgstr "erik@binghamton.edu" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Skrivning af klippebordsdata til midlertidig fil mislykkedes." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Fra klippebord" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Forbehandling mislykkedes muligvis. Tjek denne kommando:\n" +"\n" +" %1\n" +"\n" +"Forbehandlingskommandoen vil blive deaktiveret nu." + +#: diff.cpp:425 +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 "" +"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 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -39,61 +72,81 @@ "Fejl med datatab:\n" "Hvis dette kan gentages so kontakt venligst forfatteren.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Alvorlig intern fejl" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Toplinje %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Slut" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Blanding af link og normale filer." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Link: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Størrelse. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Dato & Størrelse: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Oprettelse af midlertidig kopi af %1 mislykkedes." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Ã…bning af %1 mislykkedes." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Sammenligner fil ..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Fejl ved læsning fra %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Navn" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operation" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Status" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Uløst" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Løst" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Ikke-hvid" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Hvid" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -101,41 +154,41 @@ "Du er ved at udføre en mappeindfletning. Er du sikker pÃ¥ at du ønsker at " "afbryde indfletningen og skanne mappen igen?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Genskan" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Fortsæt med indfletning" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Det mislykkedes at Ã¥bne mapper:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Fejl ved Ã¥bning af mappe" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -145,132 +198,142 @@ "sammen.\n" "Tjek igen før du fortsætter." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Parameteradvarsel" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Skanner mapper ..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Læser mappen A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Læser mappen B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Læser mappen C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Nogle undermapper kunne ikke læses i" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Tjek tilladelser for undermapperne." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Klar." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Status for mappesammenligning" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Antal undermapper:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Antal ens filer:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Antal forskellige filer:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Antal manuelle indfletninger:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Dette pÃ¥virker alle indfletningsoperationer." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Ændrer alle indfletningsoperationer" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "&Fortsæt" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Behandler" -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "At gøre." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Kopiér A til B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Kopiér B til A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Slet A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Slet B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Slet A & B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Indflet til A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Indflet til B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Indflet til A & B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Slet (hvis det eksisterer)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Indflet" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Indflet (manuelt)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Fejl: Filtyper i konflikt" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Fejl: Datoer er ens men filer er ikke." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Denne operation er ikke mulig for øjeblikket." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Operation ikke mulig" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -285,42 +348,42 @@ "Hvis du ved hvordan dette kan reproduceres, sÃ¥ kontakt programmets " "forfatter." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Programfejl" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Der opstod en fejl mens der kopieredes.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Indfletningsfejl" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Fejl." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Færdig." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Ikke gemt." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Ukendt indfletningsoperation. (Dette skulle ikke kunne ske!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Ukendt indfletningsoperation." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -339,19 +402,19 @@ "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:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Starter indfletning" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Gør det" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simulér det" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -359,7 +422,7 @@ "Det frem,hævede punkt har forskellig type i de forskellige mapper. Vælg " "hvad der skal gøres." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -367,13 +430,15 @@ "Ændringsdatoerne for filerne er ens, men filerne er ikke ens. Vælg hvad " "der skal gøres." -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +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:1692 +#: directorymergewindow.cpp:1838 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 " @@ -383,249 +448,251 @@ "Ønsker du at fortsætte punktet der forÃ¥rsagede fejlen eller ønsker du at " "springe over dette punkt?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Fortsæt med indfletning efter en fejl" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Fortsæt med det sidste punkt" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Spring over punkt" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Sprunget over." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "I fremgang..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Indfletningsoperation færdig." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Indfletning færdig" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Fejl: Under sletning af %1: Det mislykkedes at lave sikkerhedskopi." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "slet mappe rekursivt( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "slet( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Fejl: rmdir( %1 ) operation mislykkedes." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Fejl: slet-operation mislykkedes." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "manuel indfletning( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." -msgstr " Bemærk: Efter en manuel indfletning skal brugeren fortsætte via F7." +#: directorymergewindow.cpp:2102 +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:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "" "Fejl: copy( %1 -> %2 ) mislykkedes. Sletning af eksisterende mÃ¥l " "mislykkedes." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "copyLink( %1 -> %2 )" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "Fejl: copyLink mislykkedes: Eksterne link er endnu ikke understøttede." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Fejl: copyLink mislykkedes." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "copy( %1 -> %2 )" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "Fejl under rename( %1 -> %2 ): Kan ikke slette eksisterende mÃ¥l." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "rename( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Fejl: Omdøbning mislykkedes." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." msgstr "Fejl ved makeDir af %1. Kan ikke slette eksisterende fil." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "makeDir( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Fejl ved oprettelse af mappe." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "MÃ¥l" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Mappe" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Type" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Størrelse" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Attr" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Sidste ændring" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Link-destination" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "ikke tilgængelig" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Dest): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Basis): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Dest): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Dest): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Dest: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Start/Fortsæt mappeindfletning" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Kør operation for dette punkt" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Sammenlign udvalgt fil" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Indflet udvalgt fil" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Fold alle undermapper sammen" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Fold alle undermapper ud" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Vælg A for alle punkter" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Vælg B for alle punkter" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Vælg C for alle punkter" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Auto-vælg operation for alle punkter" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Ingen operation for alle punkter" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Gør intet" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Slet (hvis det eksisterer)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Slet A og B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Indflet til A og B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -634,7 +701,7 @@ "sikkerhedskopieringen.\n" "Filnavn: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -642,53 +709,53 @@ "Det mislykkedes at ændre navnet under sikkerhedskopieringen\n" "Filnavne:" -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Henter filstatus: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Læser fil: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Skriver fil: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Ude af hukommelse" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Opretter mappe: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Fjerner mappe: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Fjerner fil: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Laver symbolsk link: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Omdøber fil: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Kopierer fil: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -697,7 +764,7 @@ "Fejl under kopieringsoperationen: Ã…bning af fil til læsning mislykkedes. " "Filnavn: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -706,313 +773,328 @@ "Fejl under kopieringsoperationen: Ã…bning af fil til skrivning mislykkedes. " "Filnavn: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "Fejl under kopieringsoperationen: Læsning mislykkedes. Filnavn: %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Fejl under kopieringsoperationen: Skrivning mislykkedes. Filnavn: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Læser mappe:" -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Giver en liste af mappe: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Tilvalg --auto brugt, men ingen uddatafil angivet." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Tilvalg --auto ignoreret for mappesammenligning." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Det mislykkedes at gemme." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Det mislykkedes at Ã¥bne disse filer:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Fejl ved Ã¥bning af fil" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Ã…bner dokumenter til sammenligning..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "gemmer indfletningsresultatet. Alle konflikter skal løses!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Gemmer dette dokument som..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Afslutter programmet" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "Udklipper det markerede udvalg og lægger det pÃ¥ klippebordet" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Kopierer det valgte udsnit til klippebordet" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Indsætter klippebordets indhold pÃ¥ den aktuelle position" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Søg efter en streng" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Søg efter strengen igen" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "SlÃ¥ værktøjslinjen til/fra" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "SlÃ¥r statuslinjen til/fra" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Indstil KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "GÃ¥ til den aktuelle delta" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "GÃ¥ til første delta" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "GÃ¥ til sidste delta" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "GÃ¥ til forrige delta" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "GÃ¥ til næste delta" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "GÃ¥ til forrige konflikt" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "GÃ¥ til næste konflikt" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "GÃ¥ til forrige uløste konflikt" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "GÃ¥ til næste uløste konflikt" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Vælg linjer fra A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Vælg linjer fra B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Vælg linjer fra C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "GÃ¥ til næste uløste konflikt automatisk efter kildevalg" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Vis mellemrums && tabulator-tegn for forskelle" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Vis hvide tegn" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Vis linjenumre" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Vælg A overalt" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Vælg B overalt" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Vælg C overalt" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Vælg A for alle uløste konflikter" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Vælg B for alle uløste konflikter" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Vælg C for alle uløste konflikter" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Vælg A for alle uløste konflikter med hvide tegn" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Vælg B for alle uløste konflikter med hvide tegn" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Vælg C for alle uløste konflikter med hvide tegn" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Løs simple konflikter automatisk" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Sæt deltaer til konflikter" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Vis vindue A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Vis vindue B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Vis vindue V" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Fokus pÃ¥ næste vindue" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normalt overblik" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A vs. B overblik" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A vs. C overblik" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B vs. C overblik" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Tekstombrydning i diff-vinduer" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Fokus pÃ¥ forrige vindue" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "SlÃ¥ opdelt orientering til og fra" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Mappe && tekst opdelt skærmvisning" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Skift mellem Mappe && tekstvisning" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Klar." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Indfletningsresultatet er ikke blevet gemt." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Gem && afslut" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Afslut uden at gemme" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Det mislykkedes at gemme indfletningsresultatet." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Gemmer fil..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Gemmer fil med nyt filnavn..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "GÃ¥r ud..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "SlÃ¥r værktøjslinje til/fra" -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "SlÃ¥ statuslinje til/fra..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Søgetekst:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Versalfølsom" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Gennemsøg A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Gennemsøg B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Gennemsøg C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Søgeuddata" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Søg" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Kunne ikke finde filer til sammenligning." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1026,59 +1108,79 @@ "Dette sker sædvanligvis pÃ¥ grund af et installationsproblem. Læs venligst " "README-filen i kildepakken for detaljer." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Tekst Diff- og indfletningsværktøj" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Indflet inddata." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Eksplicit basisfil. For kompatibilitet med visse værktøjer." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Uddatafil. Implicerer -m. F.eks.: -o nyfil.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Uddatafil, igen. (For kompatibilitet med visse værktøjer.)" -#: main.cpp:37 +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Løs ikke konflikter automatisk. (For kompatibilitet...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Synlig navneerstatning. Angiv dette en gang for hver inddata." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Synlig navneerstatning for inddatafil 1 (basis)." -#: main.cpp:41 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Synlig navneerstatning for inddatafil 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Synlig navneerstatning for inddatafil 3." + +#: main.cpp:47 +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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "fil1 der skal Ã¥bnes (basis, hvis ikke angivet via --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "fil2 der skal Ã¥bnes" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "fil3 der skal Ã¥bnes" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1086,55 +1188,55 @@ "Uddata er blevet ændret.\n" "Hvis du fortsætter vil dine ændringer gÃ¥ tabt." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Alle inddata-filer er binært ens." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Alle inddata-filer indeholder den samme tekst." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Filerne A og B er binært ens.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Filerne A og B har samme tekst.\n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Filerne A og C er binært ens.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Filerne A og C har samme tekst.\n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Filerne B og C er binært ens.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Filerne B og C har samme tekst.\n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Totalt antal konflikter: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1142,7 +1244,7 @@ "\n" "Antal automatisk løste konflikter: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1150,23 +1252,27 @@ "\n" "Antal uløste konflikter: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Konflikter" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Uddata" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Ændret]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1174,11 +1280,11 @@ "Ikke alle konflikter er løst endnu.\n" "Filen er ikke gemt.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Konflikter tilovers" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1188,27 +1294,27 @@ "\n" "Fil ikke gemt." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Fejl ved at gemme fil" -#: mergeresultwindow.cpp:1987 +#: 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:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Fejl ved skrivning." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Editor & Diff uddata-skrifttype" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Kursiv skrifttype for deltaer" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1216,63 +1322,63 @@ "Vælg den kursive udgave af skrifttypen til forskelle.\n" "Hvis skrifttypen ikke understøtter kursive tegn, sÃ¥ gør dette intet." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Farve" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Farver i Editor & Diff-uddata" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Forgrundsfarve:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Baggrundsfarve:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Diff baggrundsfarve:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Farve A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Farve B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Farve C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Konfliktfarve:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Baggrundsfarve for aktuelt omrÃ¥de:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Diff baggrundsfarve for aktuelt omrÃ¥de:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Editor-opførsel" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Tab indsætter mellemrum" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1280,25 +1386,25 @@ "Til: Tryk pÃ¥ tab genererer et passende antal mellemrum.\n" "Fra: Et Tab-tegn bliver indsat." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tab-størrelse:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Auto-indrykning" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Autokopi udvalg" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1306,27 +1412,39 @@ "Til: Enhver markering bliver umiddelbart skrevet til klippebordet.\n" "Fra: Du skal eksplicit kopiere f.eks. via Ctrl-C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Linjeslut-stil:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Ændr dette hvis ikke-ascii tegn ikke vises rigtigt." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Diff & Indflet" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Opsætning af diff & indflet" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Bevar vognretur" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1335,11 +1453,11 @@ "Hjælper med at sammenligne filer der blev ændrede under forskellige " "operativsystemer." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorér numre" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1349,35 +1467,37 @@ "hvide tegn.)\n" "Kan muligvis hjælpe med at sammenligne numeriske data." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorér C/C++ kommentarer" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Behandl C/C++ kommentarersom hvide tegn." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Konvertér til store bogstaver" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Ignorér versaltype" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Lav alle smÃ¥ bogstaver om til store ved læsning. (f.eks.: 'a'->'A')" +#: optiondialog.cpp:535 +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:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Præprocessor kommando:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "Brugerdefineret præ-proces. (Se dokumentationen for detaljer.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Linje-matchende præprocessor kommando:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1385,11 +1505,11 @@ "Denne præ-processor bruges kun nÃ¥r du matcher linjer.\n" "(Se dokumentationen for detaljer.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Prøv hÃ¥rdt (langsommere)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1397,11 +1517,11 @@ "Aktiverer --minimal tilvalget for den eksterne diff.\n" "Analysen af store filer vil være meget langsommere." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Auto fremad-tøven (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1410,15 +1530,15 @@ "i det angiven tidsrum tid, før der springes frem til den næste konflikt. " "OmrÃ¥de: 0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Standard for 2-fils indfletning af hvide tegn:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Manuelt valg" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1426,27 +1546,27 @@ "Tillad indfletningsalgoritmen automatisk at vælge et input for ændringer " "kun af hvide tegn." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Standard for 3-fils indfletning:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Mappeindfletning" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Rekursive mapper" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Om undermapper skal analyseres eller ej." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Filmønstre:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1456,11 +1576,11 @@ "Jokertegn: '*' og '?'\n" "Flere mønstre kan angives ved brug af adskillertegnet: ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Fil-anti-mønstre:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1470,11 +1590,11 @@ "Jokertegn: '*' og '?'\n" "Flere mønstre kan angives ved brug af adskillertegnet: ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Mappe-anti-mønstre:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1484,11 +1604,11 @@ "Jokertegn: '*' og '?'\n" "Flere mønstre kan angives ved brug af adskillertegnet: ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Brug .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1496,23 +1616,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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Find skjulte filer og mapper" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Finder filer og mapper med en skjulte attribut." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Finder filer og mapper der begynder med '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Følger fil-link" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1520,11 +1640,11 @@ "Til: Sammenlign med filen som linket peger pÃ¥.\n" "Fra: Sammenlign link." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Følg mappe-link" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1532,19 +1652,44 @@ "Til: Sammenlign med mappen som linket peger pÃ¥.\n" "Fra: Sammenlign link." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Kun deltaer pÃ¥ listen" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "Filsammenligningstilstand" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binær sammenligning" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Binær sammenligning af hver fil. (Standard)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Fuld analyse" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Stol pÃ¥ ændringsdato (usikker)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1553,11 +1698,11 @@ "Antag at filer er ens hvis ændringsdatoen og fillængden er ens.\n" "Nyttigt for store mapper eller langsomme netværk." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Stol pÃ¥ størrelsen (usikker)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1567,11 +1712,11 @@ "Nyttigt for store mapper eller langsomme netværk, nÃ¥r datoen er ændret " "efter filer er hentet." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Synkronisér mapper" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1581,11 +1726,11 @@ "begge mapper er ens bagefter.\n" "Virker kun nÃ¥r to mapper sammenlignes uden at angive nogen destination." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Kopiér nyere i stedet for at indflette (usikker)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1595,11 +1740,11 @@ "(Brug kun dette hvis du ved hvad du foretager dig!)\n" "Kun effektivt nÃ¥r to mapper sammenlignes." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Sikkerhedskopieringsfiler (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1607,7 +1752,27 @@ "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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Regional opsætning" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Sprog (genstart krævet)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +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ælg sproget for GUI-strengene eller \"Auto\".\n" +"For at en ændring af sprog skal ske, afslut og start KDiff3 igen." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1623,73 +1788,92 @@ "\n" "Ønsker du at fortsætte eller at vælge en anden skrifttype." -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Inkompatibel skrifttype" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Fortsæt pÃ¥ eget ansvar." -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Vælg en anden skrifttype" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Præprocessor kommando:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -"Kørsel af den eksterne diff mislykkes.\n" -"Tjek om diff virker, om programmet kan skrive i den midlertidige mappe eller " -"om disk er fuld.\n" -"Det eksterne diff-tilvalg vil blive deaktiveret nu og den interne diff vil " -"blive brugt." +"Følgende tilvalg du valgte vil muligvis ændre data:\n" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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" +"Mest sandsynligt ikke ønsket under en indfletning.\n" +"Ønsker du at deaktivere disse indstillinger eller fortsætte med disse " +"indstillinger aktive?" + +#: pdiff.cpp:265 +msgid "Option unsafe for merging" +msgstr "Tilvalg usikkert ved en indfletning" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Brug disse tilvalg under en indfletning" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Deaktivér usikre tilvalg" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Indlæser A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Indlæser B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Diff: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Linjeforskel: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Indlæser C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Diff: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Diff: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Linjeforskel: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Linjeforskel: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1699,67 +1883,67 @@ "Bemærk at KDiff3-indfletningen ikke er beregnet til binære data.\n" "Fortsæt pÃ¥ eget ansvar." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Basis):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Fil..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Mappe..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Frivillig):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Uddata (frivillig):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Indstil..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Afbryd" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Ã…bner filer..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Fejl ved Ã¥bning af fil" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Klipper valgene ud..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Kopierer valgene til klippebord..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Indsætter klippebordets indhold..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Gem && Fortsæt" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Fortsæt uden at gemme" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Søgning færdig." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Søgning færdig" @@ -1788,9 +1972,13 @@ msgstr "&Bevægelse" #: rc.cpp:9 +msgid "D&iffview" +msgstr "D&iff-visning" + +#: rc.cpp:10 msgid "&Merge" msgstr "Ind&flet" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Vindue" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/de.po --- a/kdiff3/po/de.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/de.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,20 +1,22 @@ +# translation of de.po to # translation of kdiff3.po to Deutsch # Übersetzung von kdiff3.po ins Deutsche # Copyright (C) -# Thomas Diehl , 2003. +# Thomas Diehl , 2003, 2004. # Joachim Eibl , 2004. +# Joachim Eibl , 2004. # msgid "" msgstr "" -"Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2004-01-06 22:17+0100\n" -"Last-Translator: Joachim Eibl \n" -"Language-Team: Deutsch \n" +"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" +"Last-Translator: Joachim Eibl \n" +"Language-Team: \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\n" #: _translatorinfo.cpp:1 msgid "" @@ -28,11 +30,45 @@ "Your emails" msgstr "joachim.eibl@gmx.de" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Speichern der Zwischenablage in temporärer Datei ist fehlgeschlagen." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Aus Zwischenablage" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Der Vorverarbeitungsbefehl ist möglicherweise fehlgeschlagen.\n" +"Bitte überprüfen sie diesen Befehl:\n" +"\n" +" %1\n" +"\n" +"Diese Vorverarbeitung wird nun deaktiviert." + +#: diff.cpp:425 +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 "" +"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 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -41,229 +77,262 @@ "Falls das Problem reproduzierbar ist, nehmen Sie bitte Kontakt mit dem Autor " "auf.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Schwerwiegender interner Fehler" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Oberste Zeile %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Ende" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Vermischung von Verknüpfungen und Dateien" -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Verknüpfung: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Größe: " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Datum & Größe: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Erstellung einer temporären Kopie von %1 ist fehlgeschlagen." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Öffnen von %1 ist fehlgeschlagen." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Datei wird verglichen..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Fehler beim Lesen von %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Name" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Aktion" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Status" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Ungelöst" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Gelöst" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Nicht weiß" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Weiß" + +#: 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 "Sie sind dabei, Verzeichnisse zusammenzuführen. Sind Sie sicher, dass Sie diese Operation abbrechen und das Verzeichnis erneut einlesen wollen?" +msgstr "" +"Sie sind dabei, Verzeichnisse zusammenzuführen. Sind Sie sicher, dass Sie " +"diese Operation abbrechen und das Verzeichnis erneut einlesen wollen?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Neu einlesen" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Zusammenführung fortsetzen" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Öffnen der Verzeichnisse fehlgeschlagen:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Fehler beim Öffnen des Verzeichnisses" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "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:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Parameter-Warnung" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Verzeichnisse einlesen ..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Einlesen von Verzeichnis A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Einlesen von Verzeichnis B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Einlesen von Verzeichnis C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Einige Unterverzeichnisse nicht lesbar in" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Überprüfen Sie bitte die Zugriffsrechte für die Unterverzeichnisse." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Bereit" + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Status des Verzeichnisvergleichs" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Anzahl der Unterverzeichnisse:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Anzahl der identischen Dateien:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Anzahl der unterschiedlichen Dateien:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Anzahl der manuellen Zusammenführungen:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Dies beeinflußt alle Zusammenführungsaktionen." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Änderung aller Zusammenführungsaktionen" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "&Fortsetzen" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Fortschritt " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Unerledigt." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Kopiere A nach B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Kopiere B nach A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Lösche A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Lösche B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Lösche A & B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Zusammenführen nach A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Zusammenführen nach B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Zusammenführen nach A & B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Lösche (falls vorhanden)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Zusammenführen" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Zusammenführen (manuell)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Fehler: Konflikt der Dateitypen" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Fehler: Gleiches Datum, aber unterschiedliche Dateien." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Diese Aktion ist momentan nicht zulässig." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Unzulässige Aktion" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -275,42 +344,43 @@ "\n" "mergeResultSaved: m_pMFI=0\n" "\n" -"Wenn Sie dies reproduzieren können, informieren Sie bitte den Autor dieses Programms." +"Wenn Sie dies reproduzieren können, informieren Sie bitte den Autor dieses " +"Programms." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Programm Fehler" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "An error occurred while copying.\n" msgstr "Ein Fehler ist während des Kopierens aufgetreten.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Zusammenführungsfehler" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Fehler." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Erledigt." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Nicht gespeichert." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Unbekannte Zusammenführaktion. (Sollte nie passieren!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Unbekannte Zusammenführaktion." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -323,665 +393,709 @@ 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!" +"Sie sollten aber wissen, dass dieses Program noch Beta-Status hat und es " +"KEINE GARANTIE gibt! Erstellen Sie Sicherungkopien Ihrer wichtigen Daten!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Start der Zusammenführung" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Start" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simulieren" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "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." +msgstr "" +"Das markierte Element hat einen unterschiedlichen Typ in den verschiedenen " +"Verzeichnissen. Wählen Sie eine Aktion." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "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." +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:1633 -msgid "This operation is currently not possible because dir merge currently runs." -msgstr "Diese Aktion ist momentan nicht möglich, weil zur Zeit Verzeichnisse zusammengeführt werden." +#: directorymergewindow.cpp:1778 +msgid "" +"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:1692 +#: directorymergewindow.cpp:1838 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 "" "Beim letzten Element ist ein Fehler aufgetreten.\n" -"Wollen Sie mit diesem Element fortfahren, oder wollen Sie dieses Element überspringen?" +"Wollen Sie mit diesem Element fortfahren, oder wollen Sie dieses Element " +"überspringen?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Fortsetzung der Zusammenführung nach einem Fehler" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Mit letztem Element fortsetzen" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Element überspringen" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Übersprungen." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "In Bearbeitung..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Die Zusammenführung ist fertig." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Zusammenführung abgeschlossen." -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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 übereinstimmen." +msgstr "" +"Die simulierte Zusammenführung ist abgeschlossen. Überprüfen Sie, ob Sie " +"mit den vorgeschlagenen Aktionen einverstanden sind." -#: directorymergewindow.cpp:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." -msgstr "Fehler: Beim Löschen von %1: Die Erstellung einer Sicherungskopie schlug fehl." +msgstr "" +"Fehler: Beim Löschen von %1: Die Erstellung einer Sicherungskopie schlug " +"fehl." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "Lösche Verzeichnis rekursiv( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "Lösche( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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." +msgstr "" +"Fehler: Löschen des Verzeichnisses schlug fehl, da es nicht gelesen werden " +"konnte." -#: directorymergewindow.cpp:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Fehler: Verzeichnis löschen( %1 ) Operation fehlgeschlagen." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Fehler: Löschoperation fehlgeschlagen." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "Manuelles Zusammenführen( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +msgid " Note: After a manual merge the user should continue by pressing F7." msgstr " Hinweis: Nach manuellem Zusammenführen mit F7 fortsetzen." -#: directorymergewindow.cpp:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." -msgstr "Fehler: Kopie( %1 -> %2 ) fehlgeschlagen. Das existierende Ziel konnte nicht gelöscht werden." +msgstr "" +"Fehler: Kopie( %1 ->" +" %2 ) fehlgeschlagen. Das existierende Ziel konnte nicht gelöscht werden." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "Verknüpfung kopieren( %1 -> %2 )" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." -msgstr "Fehler: Verknüpfung kopieren: Nichtlokale Verknüpfungen werden nicht unterstützt." +msgstr "" +"Fehler: Verknüpfung kopieren: Nichtlokale Verknüpfungen werden nicht " +"unterstützt." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Fehler: Verknüpfung kopieren fehlgeschlagen." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "kopiere( %1 -> %2 )" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." -msgstr "Fehler beim Umbenennen( %1 -> %2 ): Das existierende Ziel konnte nicht gelöscht werden." +msgstr "" +"Fehler beim Umbenennen( %1 -> %2 ): Das existierende Ziel konnte nicht " +"gelöscht werden." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "Umbenennen( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Fehler: Umbenennen fehlgeschlagen." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." -msgstr "Fehler beim Erstellen des Verzeichnisses %1. Kann existierendes Objekt nicht löschen." +msgstr "" +"Fehler beim Erstellen des Verzeichnisses %1. Kann existierendes Objekt nicht " +"löschen." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "erstelleVerzeichnis( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Fehler beim Erstellen eines Verzeichnis." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Ziel" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Verzeichnis" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Typ" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Größe" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Attr" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Letzte Änderung" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Verküpfungsziel" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "nicht vorhanden" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Ziel): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Basis):" -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Ziel): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Ziel): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Ziel: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Verzeichniszusammenführung starten/fortsetzen" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Aktion des aktuellen Elements ausführen" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Vergleiche gewählte Datei" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Aktuelle Datei zusammenführen" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Alle Unterverzeichnisse einklappen" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Alle Unterverzeichnisse ausklappen" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Für alle Elemente A wählen" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Für alle Elemente B wählen" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Für alle Elemente C wählen" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Aktion für alle Elemente automatisch wählen" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Keine Aktion für alle Elemente" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Nichts tun" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Löschen (falls vorhanden)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Lösche A und B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Zusammenführen nach A und B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " msgstr "" -"Als versucht wurde eine Sicherungskopie zu erstellen, konnte eine schon vorhandene Sicherungskopie nicht gelöscht werden.\n" +"Als versucht wurde eine Sicherungskopie zu erstellen, konnte eine schon " +"vorhandene Sicherungskopie nicht gelöscht werden.\n" "Datei: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " msgstr "" -"Als versucht wurde eine Sicherungskopie zu erstellen, ist das Umbenennen fehlgeschlagen:\n" +"Als versucht wurde eine Sicherungskopie zu erstellen, ist das Umbenennen " +"fehlgeschlagen:\n" "Dateinamen: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Hole Datei Status: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Einlesen von Datei: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Schreibe Datei: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Nicht genügend Speicher" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Erstelle Verzeichnis: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Lösche Verzeichnis: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Lösche Datei: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Erstelle Verknüpfung: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Datei umbenennen: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Datei kopieren: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format 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:837 +#: fileaccess.cpp:844 #, c-format 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:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "Fehler beim Kopieren: Lesen fehlgeschlagen: %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Fehler beim Kopieren: Schreiben fehlgeschlagen: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Lese Verzeichnis:" -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Einlesen von Verzeichnis: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Option --auto verwendet, aber keine Ausgabedatei angegeben." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Option --auto wird beim Vergleich von Verzeichnissen ignoriert." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Speichern fehlgeschlagen." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Öffnen dieser Dateien schlug fehl:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Fehler beim Dateiöffnen" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Dateien für Vergleich öffnen..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "Sichern des Zusammenführergebnisses. Alle Konflikte müssen gelöst sein." -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Speichert das aktuelle Dokument als..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Beendet das Programm" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "Schneidet die Auswahl aus und kopiert sie in die Zwischenablage" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Kopiert den ausgewählten Bereich in die Zwischenablage" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Fügt den Inhalt der Zwischenablage an der aktuellen Position ein" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Suche nach Text..." -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Weitersuchen" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Blendet die Werkzeugleiste ein/aus" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Blendet die Statusleiste ein/aus" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "KDiff3 einrichten..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Springe zu aktuellem Unterschied" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Springe zum ersten Unterschied" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Springe zum letzten Unterschied" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Springe zu vorigem Unterschied" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Springe zu nächstem Unterschied" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Springe zu vorigem Konflikt" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Springe zu nächstem Konflikt" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Springe zu vorigem ungelösten Konflikt" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Springe zu nächstem ungelöstem Konflikt" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Wähle Zeile(n) von A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Wähle Zeile(n) von B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Wähle Zeile(n) von C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "Automatisch zu nächstem ungelösten Konflikt weiterspringen" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Zeige Leerzeichen und Tabulator Zeichen in Unterschieden" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Zeige \"weisse\" Zeichen" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Zeige Zeilennummern" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Wähle A überall" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Wähle B überall" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Wähle C überall" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Wähle A für alle ungelösten Konflikte" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Wähle B für alle ungelösten Konflikte" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Wähle C für alle ungelösten Konflikte" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Wähle A für alle ungelösten \"weissen\" Konflikte" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Wähle B für alle ungelösten \"weissen\" Konflikte" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Wähle C für alle ungelösten \"weissen\" Konflikte" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Automatisch einfache Konflikte lösen" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Alle Unterschiede zu Konflikten machen" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Zeige Fenster A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Zeige Fenster B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Zeige Fenster C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Setze Fokus zum nächsten Fenster" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normale Übersicht" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A vs. B Übersicht" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A vs. C Übersicht" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B vs. C Übersicht" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Zeilenumbruch für Vergleichsanzeige" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Setze Fokus zum vorigen Fenster" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Ausrichtung der Fensterteilung wechseln" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Verzeichnis && Textfenster teilen sich Hauptfenster" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Wechsel zwischen Verzeichnis && Text Fenster" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Bereit" - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Das Zusammenführungsergebnis wurde nicht gespeichert." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Speichern && Beenden" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Beenden ohne zu speichern" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Speichern des Zusammenführungsergebnisses schlug fehl." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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?" +msgstr "" +"Sie führen eine Verzeichniszusammenführung durch. Sind sie sicher, dass " +"sie diese beenden möchten?" -#: kdiff3.cpp:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Datei wird gespeichert..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Datei wird unter neuem Namen gespeichert..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Wird beendet..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Werkzeugleiste (de)aktivieren..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Statusleiste an/aus..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Suchtext:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" -msgstr "Groß-/Kleinschreibung beachten" +msgstr "Groß/Kleinschreibung beachten" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Suche in A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Suche in B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Suche in C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Suche im Ergebnis" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Suchen" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Konnte Dateien für Vergleich nicht finden." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3-Komponente" @@ -992,61 +1106,84 @@ "README-file in the source package for details." msgstr "" "Konnte die KDiff3-Komponente nicht finden!\n" -"Das ist normalerweise ein Installationsproblem. Bitte lesen Sie die README-Datei, die den Quelltexten beiliegt." +"Das ist normalerweise ein Installationsproblem. Bitte lesen Sie die " +"README-Datei, die den Quelltexten beiliegt." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Werkzeug zum Vergleich und Zusammenführen von Textdateien und Verzeichnissen" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Quellen zusammenführen." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Explizite Basisdatei. Für Kompatibilität mit anderen Werkzeugen." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Ergebnisdateiname bei Zusammenführung. z.B.: -o neu.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Ergebnisdatei. (Für Kompatibilität mit anderen Werkzeugen.)" -#: main.cpp:37 +#: main.cpp:41 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)" +msgstr "" +"Kein Fenster anzeigen, wenn alle Konflikte automatisch lösbar sind. " +"(Benötigt -o)" -#: main.cpp:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Keine Konflikte automatisch lösen. (Für Kompatibilität...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Anderer angezeigter Dateiname für erste Datei (Basis)." + +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Anderer angezeigter Dateiname für zweite Datei." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Anderer angezeigter Dateiname für dritte Datei." + +#: main.cpp:47 +msgid "Alternative visible name replacement. Supply this once for every input." msgstr "Anderer angezeigter Dateiname: Kann für jede Quelle spezifiziert werden." -#: main.cpp:41 +#: 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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "Erste Datei (Basis, falls nicht --base benützt wird)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "Zweite Datei" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "Dritte Datei" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1054,43 +1191,43 @@ "Das Ergebnis wurde verändert.\n" "Wenn sie fortsetzen gehen die Änderungen verloren." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Alle Quelldateien sind binär identisch." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Alle Quelldateien enthalten den gleichen Text." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "Files A and B are binary equal.\n" msgstr "Die Dateien A und B sind binär identisch.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "Files A and B have equal text. \n" msgstr "Die Dateien A und B enthalten den gleichen Text. \n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "Files A and C are binary equal.\n" msgstr "Die Dateien A und C sind binär identisch.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "Files A and C have equal text. \n" msgstr "Die Dateien A und C enthalten den gleichen Text. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "Files B and C are binary equal.\n" msgstr "Die Dateien B und C sind binär identisch.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "Files B and C have equal text. \n" msgstr "Die Dateien B und C enthalten den gleichen Text. \n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Gesamte Anzahl der Konflikte: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1098,7 +1235,7 @@ "\n" "Anzahl der automatisch gelösten Konflikte: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1106,23 +1243,27 @@ "\n" "Anzahl der ungelösten Konflikte: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Konflikte" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Ausgabe" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Geändert]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1130,11 +1271,11 @@ "Noch sind nicht alle Konflikt gelöst.\n" "Die Datei wurde nicht gespeichert.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Es sind noch ungelöste Konflikte übrig" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1144,153 +1285,174 @@ "\n" "Datei nicht gespeichert." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Fehler beim Speichern der Datei" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Nicht genug Speicher beim Vorbereiten zum Speichern" -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Fehler beim Schreiben." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Schrift für Editor & Vergleichsfenster" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Kursivschrift bei Unterschieden" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." msgstr "" -"Unterschiede werden kursiv angezeigt.\n " -"Wenn aber diese Schriftart keine kursiven Zeichen unterstützt, passiert nichts." +"Unterschiede werden kursiv angezeigt.\n" +" Wenn aber diese Schriftart keine kursiven Zeichen unterstützt, passiert " +"nichts." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Farbe" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Farben im Editor & Vergleichsfenster" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Vordergrundfarbe:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Hintergrundfarbe:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Hintergrundfarbe bei Unterschieden:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Farbe für A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Farbe für B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Farbe für C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Farbe für Konflikte:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Hintergrundfarbe für aktuellen Bereich:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Hintergrundfarbe für Unterschiede im aktuellen Bereich:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Verhalten des Editors" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Tabulator fügt Leerzeichen ein" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 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." +msgstr "" +"Falls aktiv wird bei Betätigen des Tabulaturs die passende Anzahl " +"Leerzeichen eingefügt. Sonst wird ein Tabulatorzeichen eingefügt." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tabulator Länge:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Automatisch einrücken" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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" +msgstr "" +"Wenn aktiv, dann wird die Einrückung der vorigen Zeile bei neuen Zeilen " +"übernommen.\n" -#: optiondialog.cpp:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Auswahl automatisch kopieren" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 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:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Zeilenendekodierung:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Falls die speziellen Zeichen Ihrer Sprache nicht korrekt dargestellt werden, können diesen Wert ändern. (Vielleicht hilfts.)" +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Vergleich und Zusammenführung" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Vergleich und Zusammenführung Einstellungen" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Wagenrücklaufzeichen anzeigen" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." msgstr "" "Zeige das Wagenrücklaufzeichen '\\r' falls vorhanden.\n" -"Hilft beim Vergleich von Dateien, die unter verschiedenen Betriebssystemen geändert wurden." +"Hilft beim Vergleich von Dateien, die unter verschiedenen Betriebssystemen " +"geändert wurden." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Zahlen ignorieren" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1299,35 +1461,35 @@ "Zahlen werden während des Vergleichs wie \"weisse\" Zeichen behandelt.\n" "Könnte helfen, wenn Dateien viele Zahlen enthalten." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignoriere C/C++ Kommentare" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Behandle C/C++ Kommentare wie \"weisse\" Zeichen." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "In Großbuchstaben umwandeln" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Unterschiede bei Groß- und Kleinschreibung ignorieren" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Beim Einlesen werden alle Kleinbuchstaben in Großbuchstaben umgewandelt. (z.B. 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "Unterschiede bei Groß- und Kleinschreibung wie weisse Unterschiede behandeln. ('a'<=>'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Vorverarbeitungsbefehl:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "Benutzerdefinierbare Vorverarbeitung: (Siehe Beschreibung für Details.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Vorverarbeitungsbefehl nur für Zeilenabgleich:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1335,65 +1497,69 @@ "Dieser Vorverarbeitungsbefehl wirkt nur in der Phase des Zeilenabgleichs.\n" "(Für Details siehe die Dokumentation.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Aufwendig suchen (langsamer)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 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:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Automatisch-Weiterspringen-Verzögerung (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "\"Weisse\" Zeichen Autoauswahl bei 2 Dateien:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Manuelle Auswahl" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "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." +msgstr "" +"Bei Datei-Zusammenführungen wird automatisch diese Vorauswahl für " +"ausschliesslich \"weisse\" Konflikte gewählt." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "\"Weisse\" Zeichen Autoauswahl bei 3 Dateien:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Verzeichnis-Zusammenführung" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Rekursive Verzeichnisse" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Falls aktiv werden auch Unterverzeichnisse eingelesen." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Datei Muster:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1401,13 +1567,14 @@ msgstr "" "Muster der zu analysierenden Dateien. \n" "Jokerzeichen: '*' und '?'\n" -"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird." +"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt " +"wird." -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Datei Anti-Muster:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1415,13 +1582,14 @@ msgstr "" "Muster der auszuschließenden Dateien. \n" "Jokerzeichen: '*' und '?'\n" -"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird." +"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt " +"wird." -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Verzeichnis Anti-Muster:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1429,13 +1597,14 @@ msgstr "" "Muster der auszuschließenden Verzeichnisse. \n" "Jokerzeichen: '*' und '?'\n" -"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt wird." +"Mehrer Muster können angegeben werden, indem das Trennzeichen ';' benützt " +"wird." -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr ".cvsignore benützen" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1443,109 +1612,141 @@ "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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Finde versteckte Dateien und Verzeichnisse" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Findet versteckte Dateien und Verzeichnisse." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Findet versteckte Dateien und Verzeichnisse, die mit '.' beginnen." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Folge Datei-Verknüpfungen" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 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:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Folge Verzeichnis-Verküpfungen" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." msgstr "" -"Falls aktiv werden die Verzeichnisse, auf die eine Verküpfung zeigt, verglichen.\n" +"Falls aktiv werden die Verzeichnisse, auf die eine Verküpfung zeigt, " +"verglichen.\n" "Sonst nur die Verknüpfungen." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Nur Unterschiede anzeigen" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "Dateivergleichsmethode" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binärvergleich" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Binärvergleich aller Dateien (Voreinstellung)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Vollständige Analyse" + +#: optiondialog.cpp:695 +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" +"(Langsamer als Binärvergleich, viel langsamer bei Binärdateien.)" + +#: optiondialog.cpp:698 msgid "Trust the modification date (unsafe)" msgstr "Vertraue dem Änderungsdatum (unsicher)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 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:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Vertraue der Größe (unsicher)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 "" "Annahme, dass Dateien identisch sind, wenn die Größe übereinstimmt.\n" -"Hilfreich bei großen Verzeichnissen oder langsamen Verbindungen, wenn das Veränderungsdatum beim Kopieren modifiziert wird." +"Hilfreich bei großen Verzeichnissen oder langsamen Verbindungen, wenn das " +"Veränderungsdatum beim Kopieren modifiziert wird." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Verzeichnisse synchronisieren" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 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 "" -"Dateien werden in beiden Verzeichnissen gespeichert, damit die Verzeichnisse nachher identisch sind.\n" -"Funktioniert nur, wenn zwei Verzeichnisse verglichen werden, und kein Ziel angegeben wird." +"Dateien werden in beiden Verzeichnissen gespeichert, damit die Verzeichnisse " +"nachher identisch sind.\n" +"Funktioniert nur, wenn zwei Verzeichnisse verglichen werden, und kein Ziel " +"angegeben wird." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Neuere Datei statt Zusammenführung auswählen (unsicher)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 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 "" -"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" +"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" "Falls inaktiv wird eine Zusammenführung vorgeschlagen.\n" "Nur beim Vergleich zweier Verzeichnisse wirksam." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Sicherungskopie erstellen (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1553,7 +1754,27 @@ "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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Regionale Einstellungen" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Sprache (Neustart erforderlich)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Automatisch" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"Sprache für das Benutzerinterface wählen oder \"Auto\".\n" +"Diese Änderung wird erst nach Beendigung und Neustart von KDiff3 wirksam." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1567,143 +1788,165 @@ "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?" +"Wollen Sie mit dieser Schrift fortfahren oder doch eine andere Schrift " +"wählen?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Inkompatible Schriftart" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Weiter auf eigenes Risiko" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Andere Schrift wählen" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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." +msgstr "" +"Dies führt zum zurücksetzen aller Einstellungen, nicht nur des aktuellen " +"Themas." -#: pdiff.cpp:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Vorverarbeitungsbefehl: " + +#: pdiff.cpp:262 +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 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." +"\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 "" -"Der Vergleich mit dem externen diff-Tool hat nicht funktioniert.\n" -"Vielleicht ist die Festplatte voll.\n" -"Die Option \"Externes Diff\" wird nun deaktiviert." +"\n" +"Wahrscheinlich ist dies während der Dateizusammenführung nicht erwünscht.\n" +"Wollen Sie diese Einstellungen deaktivieren oder beibehalten und fortfahren?" -#: pdiff.cpp:437 +#: pdiff.cpp:265 +msgid "Option unsafe for merging" +msgstr "Einstellung ist unsicher bei Dateizusammenführungen" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Verwendung dieser Option während der Zusammenführung" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Unsichere Einstellung deaktivieren" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Lade A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Lade B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Vergleiche: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Zeilenvergleich: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Lade C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Vergleiche: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Vergleiche: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Zeilenvergleiche: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Zeilenvergleich: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 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:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Basis):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Datei..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Verzeichnis..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Optional):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Ziel (optional):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Einrichten..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Abbrechen" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Dateien öffnen..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Fehler beim Öffnen der Datei" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Auswahl wird ausgeschnitten..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Auswahl wird in Zwischenablage kopiert..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Inhalt der Zwischenablage wird eingefügt..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Speichern && Fortsetzen" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Fortsetzen ohne zu Speichern" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Suche abgeschlossen." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Suche abgeschlossen" @@ -1732,10 +1975,14 @@ msgstr "&Navigation" #: rc.cpp:9 +msgid "D&iffview" +msgstr "Vergleichsansicht" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Zusammenführen" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Fenster" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/en_GB.po --- a/kdiff3/po/en_GB.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/en_GB.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,19 +1,20 @@ # translation of kdiff3.po to British English -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. # Malcolm Hunter , 2003. # Jonathan Riddell , 2003. +# Andrew Coles , 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-10 21:47+0000\n" -"Last-Translator: Malcolm Hunter \n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-06-08 11:20+0100\n" +"Last-Translator: Andrew Coles \n" "Language-Team: British English \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" +"X-Generator: KBabel 1.3.1\n" #: _translatorinfo.cpp:1 msgid "" @@ -27,11 +28,43 @@ "Your emails" msgstr "kde-en-gb@jriddell.org" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Writing clipboard data to temp file failed." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "From Clipboard" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." + +#: diff.cpp:425 +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 "" +"The line-matching-preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The line-matching-preprocessing command will be disabled now." + +#: diff.cpp:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -39,61 +72,81 @@ "Data loss error:\n" "If it is reproducable please contact the author.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Severe Internal Error" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" -msgstr "Topline %1" +msgid "Top line %1" +msgstr "Top line %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "End" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Mix of links and normal files." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Link: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Size. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Date & Size: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Creating temp copy of %1 failed." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Opening %1 failed." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Comparing file ..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Error reading from %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Name" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operation" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Status" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Unsolved" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Solved" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Nonwhite" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "White" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -101,41 +154,41 @@ "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Rescan" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Continue Merging" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Opening of directories failed:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Directory Open Error" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -145,132 +198,142 @@ "directories are merged.\n" "Check again before continuing." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Parameter Warning" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Scanning directories ..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Reading Directory A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Reading Directory B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Reading Directory C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Some subdirectories were not readable in" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Check the permissions of the subdirectories." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Ready." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Directory Comparison Status" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Number of subdirectories:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Number of equal files:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Number of different files:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Number of manual merges:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "This affects all merge operations." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Changing All Merge Operations" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "C&ontinue" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Processing " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "To do." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Copy A to B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Copy B to A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Delete A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Delete B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Delete A & B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Merge to A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Merge to B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Merge to A & B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Delete (if exists)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Merge" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Merge (manual)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Error: Conflicting File Types" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Error: Dates are equal but files are not." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "This operation is currently not possible." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Operation Not Possible" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -284,42 +347,42 @@ "\n" "If you know how to reproduce this, please contact the program author." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Program Error" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "An error occurred while copying.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Merge Error" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Error." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Done." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Not saved." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Unknown merge operation. (This must never happen!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Unknown merge operation." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -339,19 +402,19 @@ "Be aware that this program still has beta status and there is NO WARRANTY " "whatsoever! Make backups of your vital data!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Starting Merge" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Do It" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simulate It" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -359,7 +422,7 @@ "The highlighted item has a different type in the different directories. " "Select what to do." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -367,11 +430,15 @@ "The modification dates of the file are equal but the files are not. Select " "what to do." -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." -msgstr "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +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:1692 +#: directorymergewindow.cpp:1838 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 " @@ -381,245 +448,245 @@ "Do you want to continue with the item that caused the error or do you want " "to skip this item?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Continue merge after an error" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Continue With Last Item" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Skip Item" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Skipped." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "In progress..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Merge operation complete." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Merge Complete" -#: directorymergewindow.cpp:1797 +#: 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:1833 +#: directorymergewindow.cpp:1977 msgid "" "An error occurred. Press OK to see detailed information.\n" msgstr "" "An error occurred. Press OK to see detailed information.\n" -#: directorymergewindow.cpp:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Error: While deleting %1: Creating backup failed." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "delete directory recursively( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "delete( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Error: rmdir( %1 ) operation failed." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Error: delete operation failed." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "manual merge( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." -msgstr " Note: After a manual merge the user should continue via F7." +#: 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:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "copyLink( %1 -> %2 )" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "Error: copyLink failed: Remote links are not yet supported." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Error: copyLink failed." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "copy( %1 -> %2 )" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "Error during rename( %1 -> %2 ): Cannot delete existing destination." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "rename( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Error: Rename failed." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." msgstr "Error during makeDir of %1. Cannot delete existing file." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "makeDir( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Error while creating directory." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Dest" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Dir" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Type" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Size" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Attr" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Last Modification" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Link-Destination" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "not available" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Dest): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Base): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Dest): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Dest): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Dest: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Start/Continue Directory Merge" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Run Operation for Current Item" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Compare Selected File" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Merge Current File" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Fold All Subdirs" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Unfold All Subdirs" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Choose A for All Items" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Choose B for All Items" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Choose C for All Items" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Auto-Choose Operation for All Items" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "No Operation for All Items" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Do Nothing" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Delete (If Exists)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Delete A and B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Merge to A and B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -627,7 +694,7 @@ "While trying to make a backup, deleting an older backup failed. \n" "Filename: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -635,53 +702,53 @@ "While trying to make a backup, renaming failed. \n" "Filenames: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Getting file status: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Reading file: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Writing file: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Out of memory" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Making directory: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Removing directory: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Removing file: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Creating symbolic link: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Renaming file: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Copying file: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -690,7 +757,7 @@ "Error during file copy operation: Opening file for reading failed. Filename: " "%1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -699,311 +766,326 @@ "Error during file copy operation: Opening file for writing failed. Filename: " "%1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "Error during file copy operation: Reading failed. Filename: %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Error during file copy operation: Writing failed. Filename: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Reading directory: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Listing directory: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Option --auto used, but no output file specified." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Option --auto ignored for directory comparison." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Saving failed." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Opening of these files failed:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "File Open Error" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Opens documents for comparison..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "Saves the merge result. All conflicts must be solved!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Saves the current document as..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Quits the application" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "Cuts the selected section and puts it to the clipboard" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Copies the selected section to the clipboard" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Pastes the clipboard contents to actual position" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Search for a string" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Search again for the string" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Enables/disables the toolbar" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Enables/disables the statusbar" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Configure KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Go to Current Delta" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Go to First Delta" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Go to Last Delta" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Go to Previous Delta" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Go to Next Delta" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Go to Previous Conflict" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Go to Next Conflict" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Go to Previous Unsolved Conflict" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Go to Next Unsolved Conflict" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Select Line(s) From A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Select Line(s) From B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Select Line(s) From C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "Automatically Go to Next Unsolved Conflict After Source Selection" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Show Space && Tabulator Characters for Differences" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Show White Space" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Show Line Numbers" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Choose A Everywhere" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Choose B Everywhere" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Choose C Everywhere" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Choose A For All Unsolved Conflicts" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Choose B For All Unsolved Conflicts" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Choose C For All Unsolved Conflicts" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Choose A For All Unsolved Whitespace Conflicts" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Choose B For All Unsolved Whitespace Conflicts" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Choose C For All Unsolved Whitespace Conflicts" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Automatically Solve Simple Conflicts" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Set Deltas to Conflicts" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Show Window A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Show Window B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Show Window C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Focus Next Window" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normal Overview" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A vs. B Overview" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A vs. C Overview" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B vs. C Overview" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Word Wrap Diff Windows" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Focus Prev Window" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Toggle Split Orientation" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Dir && Text Split Screen View" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Toggle Between Dir && Text View" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Ready." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "The merge result hasn't been saved." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Save && Quit" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Quit Without Saving" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Saving the merge result failed." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Saving file..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Saving file with a new filename..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Exiting..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Toggling toolbar..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Toggle the statusbar..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Searchtext:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Case sensitive" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Search A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Search B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Search C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Search output" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Search" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Couldn't find files for comparison." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1017,59 +1099,79 @@ "This usually happens due to an installation problem. Please read the " "README-file in the source package for details." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Text Diff and Merge Tool" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Merge the input." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Explicit base file. For compatibility with certain tools." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Output file. Implies -m. E.g.: -o newfile.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Output file, again. (For compatibility with certain tools.)" -#: main.cpp:37 +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Don't solve conflicts automatically. (For compatibility...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Visible name replacement for input file 1 (base)." -#: main.cpp:41 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Visible name replacement for input file 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Visible name replacement for input file 3." + +#: main.cpp:47 +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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "file1 to open (base, if not specified via --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "file2 to open" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "file3 to open" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1077,55 +1179,55 @@ "The output has been modified.\n" "If you continue your changes will be lost." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "All input files are binary equal." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "All input files contain the same text." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Files A and B are binary equal.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Files A and B have equal text. \n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Files A and C are binary equal.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Files A and C have equal text. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Files B and C are binary equal.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Files B and C have equal text. \n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Total number of conflicts: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1133,7 +1235,7 @@ "\n" "Nr of automatically solved conflicts: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1141,23 +1243,27 @@ "\n" "Nr of unsolved conflicts: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Conflicts" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Output" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Modified]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1165,11 +1271,11 @@ "Not all conflicts are solved yet.\n" "File not saved.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Conflicts Left" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1179,27 +1285,27 @@ "\n" "File not saved." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "File Save Error" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Out of memory while preparing to save." -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Error while writing." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Editor & Diff Output Font" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Italic font for deltas" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1207,63 +1313,63 @@ "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Colour" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Colours in Editor & Diff Output" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Foreground colour:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Background colour:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Diff background colour:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Colour A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Colour B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Colour C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Conflict colour:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Current range background colour:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Current range diff background colour:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Editor Behaviour" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Tab inserts spaces" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1271,25 +1377,25 @@ "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tab size:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Auto indentation" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Auto copy selection" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1297,27 +1403,39 @@ "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Line End Style:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Change this if non-ascii-characters aren't displayed correctly." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Diff & Merge" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Diff & Merge Settings" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Preserve carriage return" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1325,11 +1443,11 @@ "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignore numbers" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1339,35 +1457,35 @@ "white space.)\n" "Might help to compare files with numeric data." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignore C/C++ Comments" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Treat C/C++ comments like white space." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Convert to upper case" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Ignore case" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "Treat case differences like white space changes. ('a'<=>'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Preprocessor command:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "User defined pre-processing. (See the docs for details.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Line-matching preprocessor command:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1375,11 +1493,11 @@ "This pre-processor is only used during line matching.\n" "(See the docs for details.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Try hard (slower)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1387,11 +1505,11 @@ "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Auto advance delay (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1399,15 +1517,15 @@ "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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "White space 2-file merge default:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Manual choice" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1415,27 +1533,27 @@ "Allow the merge algorithm to automatically select an input for " "white-space-only changes." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "White space 3-file merge default:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Directory Merge" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Recursive directories" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Whether to analyse subdirectories or not." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "File pattern(s):" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1445,11 +1563,11 @@ "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "File-anti-pattern(s):" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1459,11 +1577,11 @@ "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Dir-anti-pattern(s):" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1473,11 +1591,11 @@ "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Use .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1485,23 +1603,23 @@ "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Find hidden files and directories" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Finds files and directories with the hidden attribute." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Finds files and directories starting with '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Follow file links" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1509,11 +1627,11 @@ "On: Compare the file the link points to.\n" "Off: Compare the links." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Follow directory links" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1521,19 +1639,43 @@ "On: Compare the directory the link points to.\n" "Off: Compare the links." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "List only deltas" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "File Comparison Mode" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binary Comparison" + +#: optiondialog.cpp:692 +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 +msgid "" +"Do a full analysis and show statistics information in extra columns.\n" +"(Slower than a binary comparison, much slower for binary files.)" +msgstr "" +"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 msgid "Trust the modification date (unsafe)" msgstr "Trust the modification date (unsafe)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1543,11 +1685,11 @@ "equal.\n" "Useful for big directories or slow networks." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Trust the size (unsafe)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1557,11 +1699,11 @@ "Useful for big directories or slow networks when the date is modified during " "download." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Synchronise directories" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1571,11 +1713,11 @@ "both directories are the same afterwards.\n" "Works only when comparing two directories without specifying a destination." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Copy newer instead of merging (unsafe)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1585,11 +1727,11 @@ "(Use this only if you know what you are doing!)\n" "Only effective when comparing two directories." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Backup files (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1597,7 +1739,27 @@ "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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Regional Settings" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Language (restart required)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"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 msgid "" "You selected a variable width font.\n" "\n" @@ -1613,73 +1775,91 @@ "\n" "Do you want to continue or do you want to select another font." -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Incompatible Font" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Continue at Own Risk" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Select Another Font" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "PreprocessorCmd: " + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -"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." +"The following option(s) you selected might change data:\n" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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" +"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 "Loading A" msgstr "Loading A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Loading B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Diff: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Linediff: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Loading C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Diff: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Diff: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Linediff: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Linediff: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1689,67 +1869,67 @@ "Note that the KDiff3-merge was not meant for binary data.\n" "Continue at your own risk." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Base):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "File..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Dir..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Optional):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Output (optional):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Configure..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Abort" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Opening files..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "File open error" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Cutting selection..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Copying selection to clipboard..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Inserting clipboard contents..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Save && Continue" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Continue Without Saving" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Search complete." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Search Complete" @@ -1778,61 +1958,13 @@ msgstr "&Movement" #: rc.cpp:9 +msgid "D&iffview" +msgstr "D&iffview" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Merge" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Window" - -#~ msgid "Delete A && B" -#~ msgstr "Delete A && B" - -#~ msgid "Merge to A && B" -#~ msgstr "Merge to A && B" - -#~ msgid "In progress ..." -#~ msgstr "In progress ..." - -#~ msgid "" -#~ "On: Text that differs only in white space will match and\n" -#~ "be shown on the same line in the different output windows.\n" -#~ "Off is useful when whitespace is very important.\n" -#~ "On is good for C/C++ and similar languages." -#~ msgstr "" -#~ "On: Text that differs only in white space will match and\n" -#~ "be shown on the same line in the different output windows.\n" -#~ "Off is useful when whitespace is very important.\n" -#~ "On is good for C/C++ and similar languages." - -#~ msgid "Use external diff" -#~ msgstr "Use external diff" - -#~ msgid "" -#~ "Since for complicated files the internal algorithm is not so good yet,\n" -#~ "you probably want to use the normal diff tool as line matcher." -#~ msgstr "" -#~ "Since for complicated files the internal algorithm is not so good yet,\n" -#~ "you probably want to use the normal diff tool as line matcher." - -#~ msgid "Ignore trivial matches" -#~ msgstr "Ignore trivial matches" - -#~ msgid "" -#~ "When a difference was found, the algorithm searches for matching lines\n" -#~ "Short or trivial lines match even when the differences still continue.\n" -#~ "Ignoring trivial lines avoids this. Good for C/C++ and similar languages." -#~ msgstr "" -#~ "When a difference was found, the algorithm searches for matching lines\n" -#~ "Short or trivial lines match even when the differences still continue.\n" -#~ "Ignoring trivial lines avoids this. Good for C/C++ and similar languages." - -#~ msgid "Max search length:" -#~ msgstr "Max search length:" - -#~ msgid "" -#~ "Diff might fail for too small values but might take too long for big " -#~ "values.\n" -#~ msgstr "" -#~ "Diff might fail for too small values but might take too long for big " -#~ "values.\n" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/es.po --- a/kdiff3/po/es.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/es.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,20 +1,20 @@ # translation of kdiff3.po to español # translation of kdiff3.po to Español -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright (C) 2003,2004 Free Software Foundation, Inc. # Miguel Revilla Rodríguez , 2003. -# Carlos Mayo Hernández , 2003 +# Carlos Mayo Hernández , 2003,2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-22 19:17+0100\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 \n" "Language-Team: español \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" +"X-Generator: KBabel 1.3\n" #: _translatorinfo.cpp:1 msgid "" @@ -28,11 +28,38 @@ "Your emails" msgstr "carlos.mayo@hispalinux.es" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Error al escribir los datos del portapapeles en el archivo temporal." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Desde el portapapeles" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Posiblemente falló el pre-procesamiento. Compruebe este comando:\n" +"\n" +" %1\n" +"\n" +"El comando de pre-procesamiento se desactivará ahora." + +#: diff.cpp:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -40,233 +67,270 @@ "Error de pérdida de datos:\n" "Si se puede reproducir contacte con el autor.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Error interno grave" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Linea de arriba %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Fin" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Mezcla de enlaces y archivos normales." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Enlace:" -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Tamaño:" -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Fecha y tamaño:" -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Falló la creación de la copia temporal de %1." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Falló la apertura de %1." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Guardando archivo..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Error al leer de %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Nombre" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operación" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Estado" -#: directorymergewindow.cpp:271 +#: 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 "" +"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:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Volver a buscar" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" -msgstr "" +msgstr "Continuar fusionando" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Falló la apertura de directorios:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Error al abrir directorio" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "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" +"Compruebe de nuevo antes de continuar." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" -msgstr "" +msgstr "Advertencia en el parámetro" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "Sincronizar directorios" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Leyendo directorio A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Leyendo directorio B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Leyendo directorio C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" -msgstr "" +msgstr "Algunos subdirectorios no se pudieron leer" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Comprobar los permisos de los subdirectorios." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Listo" + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Estado de la comparación del directorio" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Número de subdirectorios:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Número de archivos iguales:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Número de archivos diferentes:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" -msgstr "" +msgstr "Número de fusiones manuales:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." -msgstr "" +msgstr "Esto afecta a todas las operaciones de fusión." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" -msgstr "" +msgstr "Cambiando todas las operaciones de fusión" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "C&ontinuar" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Procesando" -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Por hacer." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Copiar A a B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Copiar B a A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Eliminar A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Eliminar B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Eliminar A y B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" -msgstr "" +msgstr "Fusionar a A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" -msgstr "" +msgstr "Fusionar a B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" -msgstr "" +msgstr "Fusionar a A y B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Eliminar (si existe)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" -msgstr "" +msgstr "Fusionar" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" -msgstr "" +msgstr "Fusionar (manual)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Error: Conflicto de tipos de archivo" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Error: Las fechas son iguales pero los archivos no." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Esta operación no es posible actualmente." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Operación imposible" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -274,42 +338,48 @@ "\n" "If you know how to reproduce this, please contact the program author." msgstr "" +"Esto nunca debe ocurrir: \n" +"\n" +"mergeResultSaved: m_pMFI=0\n" +"\n" +"Si sabe cómo reproducir esto, por favor contacte con el autor del programa." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Error de programa" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" +"Ocurrió un error mientras se copiaba.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" -msgstr "" +msgstr "Error de fusión" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Error." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Hecho." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." -msgstr "" +msgstr "Sin guardar." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" -msgstr "" +msgstr "Operación de fusión desconocida. (Esto no debe ocurrir nunca)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." -msgstr "" +msgstr "Operación de fusión desconocida." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -320,657 +390,718 @@ "Be aware that this program still has beta status and there is NO WARRANTY " "whatsoever! Make backups of your vital data!" 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" +"\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:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" -msgstr "" +msgstr "Comenzando fusión" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Hacerlo" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simularlo" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "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:1583 +#: directorymergewindow.cpp:1721 msgid "" "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:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"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:1692 +#: directorymergewindow.cpp:1838 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 "" +"Hubo un error en el último paso.\n" +"¿Desea continuar con el elemento que causó el error o desea omitir este " +"elemento?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" -msgstr "" +msgstr "Continuar la fusión después de un error" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Continuar con el último elemento" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Omitir elemento" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Omitido." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "En progreso..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." -msgstr "" +msgstr "Operación de fusión completa." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" -msgstr "" +msgstr "Fusión completa" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." -msgstr "" +msgstr "Error: Mientras se borraba %1: Falló la creación de copia de seguridad." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "eliminar directorio recursivamente( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "eliminar( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Error: la operación rmdir( %1 ) falló." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." +msgstr "Error: falló la operación de eliminación." + +#: directorymergewindow.cpp:2099 +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." msgstr "" +" Nota: Después de una fusión manual el usuario puede continuar " +"presionando F7." -#: directorymergewindow.cpp:1955 -msgid "manual merge( %1, %2, %3 -> %4)" -msgstr "" +#: directorymergewindow.cpp:2125 +msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." +msgstr "Error: falló la copia ( %1 -> %2 ). Fallo al eliminar destino existente." -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." -msgstr "" +#: directorymergewindow.cpp:2135 +msgid "copyLink( %1 -> %2 )" +msgstr "copyLink( %1 -> %2 )" -#: directorymergewindow.cpp:1981 -msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." -msgstr "" +#: directorymergewindow.cpp:2146 +msgid "Error: copyLink failed: Remote links are not yet supported." +msgstr "Error: falló copyLink. Enlaces remotos no están soportados todavía." -#: directorymergewindow.cpp:1991 -msgid "copyLink( %1 -> %2 )" -msgstr "" +#: directorymergewindow.cpp:2152 +msgid "Error: copyLink failed." +msgstr "Error: falló copyLink." -#: directorymergewindow.cpp:2002 -msgid "Error: copyLink failed: Remote links are not yet supported." -msgstr "" +#: directorymergewindow.cpp:2172 +msgid "copy( %1 -> %2 )" +msgstr "copy( %1 -> %2 )" -#: directorymergewindow.cpp:2008 -msgid "Error: copyLink failed." -msgstr "" - -#: directorymergewindow.cpp:2028 -msgid "copy( %1 -> %2 )" -msgstr "" - -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 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:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "renombrar( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Error: Fallo al renombrar" -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." -msgstr "" +msgstr "Error durante makeDir de %1. No se puede eliminar un archivo existente." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" -msgstr "" +msgstr "makeDir( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Error al crear el directorio." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Dest" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Dir" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Tipo" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Tamaño" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Atrib" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Última modificación" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Destino del enlace" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "no disponible" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Dest):" -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (base):" -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Dest):" -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Dest):" -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Dest:" -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" -msgstr "" +msgstr "Comenzar/Continuar fusión de directorio" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Realizar operación para el elemento actual" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Comparar el archivo seleccionado" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" -msgstr "" +msgstr "Fusionar archivo actual" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" -msgstr "" +msgstr "Plegar todos los subdirectorios" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" -msgstr "" +msgstr "Desplegar todos los subdirectorios" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Elegir A para todos los elementos" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Elegir B para todos los elementos" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Elegir C para todos los elementos" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" -msgstr "" +msgstr "Auto-elegir operación para todos los elementos" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" -msgstr "" +msgstr "Ninguna operación para todos los elementos" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" -msgstr "" +msgstr "No hacer nada" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Eliminar (si existe)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Eliminar A y B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" -msgstr "" +msgstr "Fusionar a A y B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " msgstr "" +"Mientras se intentaba hacer una copia de seguridad, se produjo un fallo al " +"eliminar una copia de seguridad anterior.\n" +"Nombre de archivo: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " msgstr "" +"Mientras se intentaba hacer una copia de seguridad, se produjo un fallo al " +"renombrar.\n" +"Nombres de archivos: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" -msgstr "" +msgstr "Obteniendo estado de archivo: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Leyendo archivo: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Escribiendo archivo: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Fuera de memoria" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Creando directorio: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Eliminando directorio: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Eliminando archivo: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Creando enlace simbólico: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Renombrando archivo: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Copiando archivo: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "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:837 +#: fileaccess.cpp:844 #, c-format msgid "" "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:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, 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:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Leyendo directorio:" -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Listando directorio: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." -msgstr "" +msgstr "Opción --auto usada, pero sin archivo de salida especificado." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." -msgstr "" +msgstr "Opción --auto ignorada para comparación de directorio." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." -msgstr "" +msgstr "Fallo al guardar." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" -msgstr "" +msgstr "Fallo al abrir estos archivos:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" -msgstr "" +msgstr "Error de apertura de archivo" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." -msgstr "" +msgstr "Abre documentos para comparación..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 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:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." -msgstr "" +msgstr "Guarda el documento actual como..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Sale de la aplicación" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" -msgstr "" +msgstr "Corta la sección seleccionada y la pega en el portapapeles" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" -msgstr "" +msgstr "Copia la sección seleccionada al portapapeles" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" -msgstr "" +msgstr "Pega el contenido del portapapeles en la posición actual" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Buscar por una cadena" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" -msgstr "" +msgstr "Buscar de nuevo la cadena" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Activar/desactivar la barra de herramientas" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Activar/desactivar la barra de estado" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Configurar KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Ir al Delta actual" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Ir al primer Delta" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Ir al último Delta" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Ir al Delta anterior" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Ir al siguiente Delta" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Ir al conflicto anterior" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Ir al conflicto siguiente" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" -msgstr "" +msgstr "Ir al conflicto anterior sin resolver" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" -msgstr "" +msgstr "Ir al conflicto siguiente sin resolver" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Seleccionar linea(s) de A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Seleccionar linea(s) de B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Seleccionar linea(s) de C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" -msgstr "" +msgstr "Mostrar carácteres espacio y tabulador por diferencias" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Mostar espacio en blanco" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Mostar número de lineas" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Elegir A en cualquier sitio" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Elegir B en cualquier sitio" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Elegir C en cualquier sitio" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" -msgstr "" +msgstr "Elegir A para todos los conflictos sin resolver" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" -msgstr "" +msgstr "Elegir B para todos los conflictos sin resolver" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" -msgstr "" +msgstr "Elegir C para todos los conflictos sin resolver" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" -msgstr "" +msgstr "Elegir A para todos los conflictos de espacios en blanco sin resolver" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" -msgstr "" +msgstr "Elegir B para todos los conflictos de espacios en blanco sin resolver" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" -msgstr "" +msgstr "Elegir C para todos los conflictos de espacios en blanco sin resolver" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" -msgstr "" +msgstr "Resolver automáticamente conflictos simples" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" -msgstr "" +msgstr "Establecer Deltas a conflictos" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Mostar ventana A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Mostar ventana B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Mostar ventana C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" +msgstr "Ir a la siguiente ventana" + +#: kdiff3.cpp:409 +msgid "Normal Overview" msgstr "" -#: kdiff3.cpp:396 -msgid "Focus Prev Window" +#: kdiff3.cpp:410 +msgid "A vs. B Overview" msgstr "" -#: kdiff3.cpp:397 -msgid "Toggle Split Orientation" +#: kdiff3.cpp:411 +msgid "A vs. C Overview" msgstr "" -#: kdiff3.cpp:399 -msgid "Dir && Text Split Screen View" +#: kdiff3.cpp:412 +msgid "B vs. C Overview" msgstr "" -#: kdiff3.cpp:401 -msgid "Toggle Between Dir && Text View" +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" msgstr "" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Listo" +#: kdiff3.cpp:418 +msgid "Focus Prev Window" +msgstr "Ir a la ventana anterior" -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:419 +msgid "Toggle Split Orientation" +msgstr "Cambiar orientación de división" + +#: kdiff3.cpp:421 +msgid "Dir && Text Split Screen View" +msgstr "Vista de la división de pantalla Dir y Texto" + +#: kdiff3.cpp:423 +msgid "Toggle Between Dir && Text View" +msgstr "Cambiar entre vista Dir y Texto" + +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." -msgstr "" +msgstr "El resultado de la fusión no ha sido guardado." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Guardar y salir" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Salir sin guardar" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." -msgstr "" +msgstr "Falló al guardar el resultado de la fusión." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Guardando archivo..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Guardando archivo con un nuevo nombre..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Saliendo..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." -msgstr "" +msgstr "Cambiando barra de herramientas..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." -msgstr "" +msgstr "Cambiar la barra de estado..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Buscar texto:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" -msgstr "" +msgstr "Distinción de mayúsculas" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Buscar A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Buscar B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Buscar C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Buscar salida" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "Bu&scar" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "No se pudo encontrar archivos para comparar." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -980,60 +1111,90 @@ "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:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" -msgstr "" - -#: main.cpp:31 -msgid "Merge the input." -msgstr "" - -#: main.cpp:33 -msgid "Explicit base file. For compatibility with certain tools." -msgstr "" +msgstr "Herramienta de diff y fusión de texto" #: main.cpp:35 -msgid "Output file. Implies -m. E.g.: -o newfile.txt" -msgstr "" - -#: main.cpp:36 -msgid "Output file, again. (For compatibility with certain tools.)" -msgstr "" +msgid "Merge the input." +msgstr "Fusionar la entrada" #: main.cpp:37 +msgid "Explicit base file. For compatibility with certain tools." +msgstr "Archivo base explícito. Para compatibilidad con algunas herramientas." + +#: main.cpp:39 +msgid "Output file. Implies -m. E.g.: -o newfile.txt" +msgstr "Archivo de salida. Implica -m. E.g.: -o newfile.txt" + +#: main.cpp:40 +msgid "Output file, again. (For compatibility with certain tools.)" +msgstr "Archivo de salida, de nuevo. (Para compatibilidad con algunas herramientas.)" + +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "No resolver conflictos automáticamente (Por compatibilidad...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "" +#: main.cpp:43 +#, fuzzy +msgid "Visible name replacement for input file 1 (base)." +msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada." -#: main.cpp:41 +#: main.cpp:44 +#, fuzzy +msgid "Visible name replacement for input file 2." +msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada." + +#: main.cpp:45 +#, fuzzy +msgid "Visible name replacement for input file 3." +msgstr "Reemplazamiento visible de nombre. Facilitarlo una vez por cada entrada." + +#: main.cpp:47 +#, fuzzy +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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" -msgstr "" +msgstr "archivo1 a abrir (base, si no se ha especificado via --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "archivo2 a abrir" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "archivo3 a abrir" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1041,52 +1202,55 @@ "La salida ha sido modificada.\n" "Si continua, sus cambios se perderán." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." -msgstr "" +msgstr "Todos los archivos de entrada son binariamente iguales." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Todos los archivos de entrada contienen el mismo texto." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" +"Los archivos A y B son binariamente iguales.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Los archivos A y B tiene el mismo texto. \n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" +"Los archivos A y C son binariamente iguales.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Los archivos A y C tiene el mismo texto. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" +"Los archivos B y C son binariamente iguales.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Los archivos B y C tiene el mismo texto. \n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Número total de conflictos:" -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1094,7 +1258,7 @@ "\n" "Nº de conflictos resueltos automáticamente:" -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1102,33 +1266,39 @@ "\n" "Nº de conflictos sin resolver:" -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Conflictos" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" -msgstr "" +msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" -msgstr "" +msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Salida" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Modificado]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" msgstr "" +"No todos los conflictos se han resuelto ya.\n" +"Archivo sin guardar.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" -msgstr "" +msgstr "Conflictos que faltan" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1138,376 +1308,484 @@ "\n" "Archivo sin guardar" -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Error al guardar archivo" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Fuera de memoria mientras se preparaba para guardar" -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Error al escribir" -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" -msgstr "" +msgstr "Fuente para el editor y salida diff" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Fuenta cursiva para deltas" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." msgstr "" +"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:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Color" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" -msgstr "" +msgstr "Colores en la salida diff y editor" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" -msgstr "" +msgstr "Color de primer plano:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Color de fondo:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" -msgstr "" +msgstr "Color de fondo de diff:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Color A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Color B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Color C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" -msgstr "" +msgstr "Color de conflicto:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" -msgstr "" +msgstr "Rango actual de color de fondo:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" -msgstr "" +msgstr "Rango actual de color de fondo de diff:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" -msgstr "" +msgstr "Comportamiento del editor" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "El tabulador inserta espacios" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." msgstr "" +"On: Pulsando el tabulador genera el número apropiado de espacios.\n" +"Off: Se insertará un carácter de tabulador." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tamaño del tabulador:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" -msgstr "" +msgstr "Auto identación" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Auto-copiar selección" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." msgstr "" +"On: Se copiará inmediátamente cualquier selección al portapapeles.\n" +"Off: Debe copiar explícitamente p.e. via Ctrl-C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Estilo linea final:" + +#: 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 "" +"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 "" +msgstr "Usar codificación local" -#: optiondialog.cpp:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "" +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" -msgstr "" +msgstr "Diff & Fusión" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" -msgstr "" +msgstr "Configuraciones de diff y fusión" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Conservar retorno de carro" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." msgstr "" +"Mostrar carácteres de retorno de caro '\\r' si existen.\n" +"Ayuda a comparar archivos que fueron modificados bajo diferentes sistemas " +"operativos." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorar números" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "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" +"Puede ayudar a comparar archivos con datos numéricos." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorar comentarios de C/C++" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." +msgstr "Trata los comentarios de C/C++ como espacios en blanco." + +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "Ignorar números" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Convertir a letras mayúsculas" - -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "" - -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Comando del preprocesador:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" -msgstr "" +msgstr "Usar pre-procesamiento definido. (Ver los documentos para mas detalles.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" -msgstr "" +msgstr "Comando de preprocesador de combinación de línea:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" msgstr "" +"Este pre-procesador sólo se usa durante la combinación de línea.\n" +"(Ver documentos para mas detalles.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" -msgstr "" +msgstr "Intentar mas a fondo (mas lento)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." msgstr "" +"Activa la --opción mínima para el diff externo.\n" +"El análisis de archivos grandos será mas lento." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" -msgstr "" +msgstr "Retardo auto avanzado (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" -msgstr "" +msgstr "Fusionar por defector espacios en blanco de dos archivos:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Elección manual" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "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:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" -msgstr "" +msgstr "Fusionar por defector espacios en blanco de tres archivos:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" -msgstr "" +msgstr "Fusión de directorio" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" -msgstr "" +msgstr "Introducirse en los directorios" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." -msgstr "" +msgstr "Analizar los subdirectorios o no." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" -msgstr "" +msgstr "Patron(es) de archivo(s):" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"Patron(es) de archivos a analizar.\n" +"Comodines: '*' y '?'\n" +"Se pueden especificar muchos patrones usando el separador: ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" -msgstr "" +msgstr "Patron(es) anti-archivo(s):" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"Patron(es) de archivos a excluir del análisis.\n" +"Comodines: '*' y '?'\n" +"Se pueden especificar muchos patrones usando el separador: ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" -msgstr "" +msgstr "Patron(es) anti-directorio(s):" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"Patron(es) de directorios a excluir del análisis.\n" +"Comodines: '*' y '?'\n" +"Se pueden especificar muchos patrones usando el separador: ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Usar .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Buscar archivos y directorios ocultos" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Busca archivos de directorios con el atributo de oculto." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Busca archivos y directorios que comiencen por '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Seguir enlaces de archivos" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." msgstr "" +"On: Comparar el archivo que al que apunta el enlace.\n" +"Off: Comparar los enlaces." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Seguir enlaces de directorios" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." msgstr "" +"On: Comparar el directorio al que apunta el enlace.\n" +"Off: Comparar los enlaces." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Listar sólo deltas" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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 +msgid "File Comparison Mode" msgstr "" -#: optiondialog.cpp:576 +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "Estado de la comparación del directorio" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Validar la fecha de modificación (inseguro)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 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" +"Útil para directorios grandes y redes lentas." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Validar el tamaño (inseguro)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 "" +"Asumir que los archivos son iguales sus longitudes son iguales.\n" +"Útil para directorios grandes y redes lentas cuando la fecha se modifica " +"durante la descarga." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Sincronizar directorios" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 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 "" +"Ofrece almacenar los archivos en ambos directorios para que\n" +"ambios directorios sean después el mismo.\n" +"Sólo funciona cuando se compara dos directorios sin especificar un destino." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" -msgstr "" +msgstr "Copiar el mas nuevo en vez de fusionar (inseguro)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 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 "" +"No mirar dentro, sólo coger el archivo mas nuevo.\n" +"(¡Utilice esto sólo si sabe qué está haciendo!)\n" +"Sólo es efectivo cuando se compara dos directorios." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" -msgstr "" +msgstr "Archivos de copias de seguridad (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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 "" +"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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Configuraciones regionales" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Idioma (requiere reiniciar)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +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" +"Para que ocurra el cambio de lenguaje, salga y reinicie KDiff3." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1516,136 +1794,164 @@ "\n" "Do you want to continue or do you want to select another font." msgstr "" +"Seleccionó una fuente de ancho variable.\n" +"\n" +"Debido a que este programa no maneja fuentes de ancho variables\n" +"correctamente, podrá experimentar problemas durante la edición.\n" +"\n" +"¿Desea continuar o desea seleccionar otra fuente?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Fuente incompatible" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Continuar bajo nuestro riesgo" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Seleccionar otra fuente" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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 +msgid "PreprocessorCmd: " +msgstr "Comando del preprocesador:" + +#: pdiff.cpp:262 +msgid "" +"The following option(s) you selected might change data:\n" msgstr "" -#: pdiff.cpp:371 +#: pdiff.cpp:263 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." +"\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:437 +#: 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 msgid "Loading A" msgstr "Cargando A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Cargando B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Dif: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" -msgstr "" +msgstr "Lineadiff: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Cargando C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Dif: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Dif: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" -msgstr "" +msgstr "Lineadiff: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" -msgstr "" +msgstr "Lineadiff: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 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 "" +"Algunos archivos de entrada no parecen ser archivos de texto puro.\n" +"Tenga en cuenta que la fusión de KDiff3 no se creó para datos binarios.\n" +"Continúe bajo su propia cuenta." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Base):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Archivo..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Dir..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Opcional):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Salida (opcional):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Configurar..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Abortar" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Abriendo archivos..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Error al abrir el archivo" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Cortando selección..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Copiando la selección al portapapeles..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Insertando el contenido del portapapeles..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Guardar y continuar" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Continuar sin guardar" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Búsqueda completada" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Búsqueda completada" @@ -1663,20 +1969,55 @@ #: rc.cpp:6 msgid "Current Item Merge Operation" -msgstr "" +msgstr "Elemento actual de operación de fusión" #: rc.cpp:7 msgid "Current Item Sync Operation" -msgstr "" +msgstr "Elemento actual de operación de sincronización" #: rc.cpp:8 msgid "&Movement" msgstr "&Movimiento" #: rc.cpp:9 -msgid "&Merge" -msgstr "" +#, 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." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/et.po --- a/kdiff3/po/et.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/et.po Thu Sep 16 02:40:08 2004 +0000 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" "PO-Revision-Date: 2003-10-08 02:38+0300\n" "Last-Translator: Marek Laane \n" "Language-Team: Estonian \n" @@ -26,11 +26,43 @@ "Your emails" msgstr "bald@online.ee" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Lõikepuhvri andmete kirjutamine ajutisse faili ebaõnnestus." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Lõikepuhvrist" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Eeltöötlus ilmselt ebaõnnestus. Kontrolli käsku:\n" +"\n" +" %1\n" +"\n" +"Praegu lülitatakse eeltöötluse käsu rakendamine välja." + +#: diff.cpp:425 +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 "" +"Reasobivuse eeltöötlus ilmselt ebaõnnestus. Kontrolli käsku:\n" +"\n" +" %1\n" +"\n" +"Praegu lülitatakse reasobivuse eeltöötluse käsu rakendamine välja." + +#: diff.cpp:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -38,61 +70,81 @@ "Andmekaotuse viga:\n" "Kui see on korratav, võta palun ühendust autoriga.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Tõsine seesmine viga" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Ülarida %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Lõpp" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Viitade ja tavafailide segu." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Viit: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Suurus. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Kuupäev ja suurus: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "%1 ajutise koopia loomine ebaõnnestus-" -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "%1 avamine ebaõnnestus." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Faili võrdlemine..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Viga %1 lugemisel" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Nimi" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operatsioon" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Staatus" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Lahendamata" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Lahendatud" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Mitte-tühimärk" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Tühimärk" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -100,41 +152,41 @@ "Sul on parajasti käsil kataloogi ühendamine. Kas tõesti ühendamine " "katkestada ja kataloog uuesti läbi uurida?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Uuri uuesti läbi" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Jätka ühendamist" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Kataloogide avamine ebaõnnestus:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Kataloogi avamise viga" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -143,132 +195,142 @@ "Sihtkataloog ei saa kolme kataloogi ühendamisel olla sama, mis A või B.\n" "Kontrolli seda asja enne jätkamist." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Parameetri hoiatus" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Kataloogide läbiuurimine..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Kataloogi A lugemine" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Kataloogi B lugemine" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Kataloogi C lugemine" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Mõned alamkataloogid ei olnud loetavad:" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Kontrolli alamkataloogide õigusi." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Valmis." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Kataloogi võrdlemise olek" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Alamkataloogide arv:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Võrdsete failide arv:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Erinevate failide arv:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Käsitsiühendamiste arv:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "See mõjutab kõiki ühendamisoperatsioone." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Kõigi ühendamisoperatsioonide muutmine" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "&Jätka" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Töödeldakse " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Veel tegemata." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Kopeeri A->B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Kopeeri B->A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Kustuta A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Kustuta B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Kustuta A ja B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Ühenda A-sse" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Ühenda B-sse" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Ühenda A-sse ja B-sse" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Kustuta (kui on olemas)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Ühenda" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Ühenda (käsitsi)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Viga: failitüüpide vastuolu" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Viga: kuupäevad on samad, aga mitte failid." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "See operatsioon ei ole praegu võimalik." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Operatsioon ei ole võimalik" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -282,42 +344,42 @@ "\n" "Kui sa tead, kuidas seda korrata, anna sellest teada rakenduse autorile." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Rakenduse viga" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Kopeerimisel tekkis viga.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Ühendamise viga" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Viga." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Tehtud." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Ei salvestatud." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Tundmatu ühendamisoperatsioon. (Seda ei peaks kunagi ette tulema!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Tundmatu ühendamisoperatsioon." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -338,19 +400,19 @@ "üldse midagi juhtub või et kõik õigesti juhtub! Tee kindlasti " "tähtsatest andmetest varukoopia!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Ühendamise alustamine" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Tee ära" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simuleeri" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -358,17 +420,19 @@ "Esiletõstetud element on erinevates kataloogides erineva tüübiga. " "Otsusta, mida teha." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 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:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +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:1692 +#: directorymergewindow.cpp:1838 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 " @@ -377,251 +441,251 @@ "Viimasel sammul tekkis viga.\n" "Kas soovid jätkata elemendiga, mis vea põhjustas, või selle vahele jätta?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Jätka ühendamist pärast viga" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Jätka viimase elemendiga" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Jäta vahele" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Vahele jäetud." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "Töös..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Ühendamisoperatsioon lõpetatud." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Ühendamine lõpetatud" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 msgid "" "An error occurred. Press OK to see detailed information.\n" msgstr "" "Tekkis viga. Lähema info saamiseks klõpsa 'OK'.\n" -#: directorymergewindow.cpp:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Viga %1 kustutamisel: varukoopia loomine ebaõnnestus." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "kustuta kataloog rekursiivselt( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "kustuta( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 msgid "Error: delete dir operation failed while trying to read the directory." msgstr "Viga: kataloogi kustutamine ebaõnnestus juba kataloogi lugemise katsel." -#: directorymergewindow.cpp:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Viga: operatsioon rmdir( %1 ) ebaõnnestus." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Viga: kustutamisoperatsioon ebaõnnestus." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "käsitsi ühendamine( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +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:1981 +#: directorymergewindow.cpp:2125 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:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "kopeeri viit( %1 -> %2)" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "Viga: viida kopeerimine ebaõnnestus, sest kaugviidad ei ole veel toetatud." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Viga: viida kopeerimine ebaõnnestus." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "kopeeri( %1 -> %2)" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "" "Viga operatsioonil 'nimeta ümber( %1 -> %2)': olemasoleva sihtkoha " "kustutamine ebaõnnestus." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "nimeta ümber( %1 -> %2)" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Viga: ümbernimetamine ebaõnnestus." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." msgstr "Viga kataloogi %1 loomisel: olemasoleva faili kustutamine ebaõnnestus." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "loo kataloog( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Viga kataloogi loomisel." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Sihtkoht" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Kataloog" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Tüüp" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Suurus" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Atribuut" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Viimase muutmise aeg" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Viit-sihtkoht" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "pole kättesaadav" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (sihtkoht): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (baas): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (sihtkoht): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (sihtkoht): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Sihtkoht: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Alusta/jätka kataloogi ühendamist" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Käivita operatsioon käesoleva elemendiga" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Võrdle valitud faili" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Ühenda praegune fail" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Ava kõik alamkataloogid" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Sule kõik alamkataloogid" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Vali A kõigile elementidele" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Vali B kõigile elementidele" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Vali C kõigile elementidele" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Automaatne valik kõigile elementidele" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Ei ühtki operatsiooni kõigile elementidele" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Ära tee midagi" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Kustuta (kui on olemas)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Kustuta A ja B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Ühenda A-sse ja B-sse" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -629,7 +693,7 @@ "Varukoopia tegemisel ebaõnnestus vanema varukoopia kustutamine. \n" "Faili nimi: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -637,53 +701,53 @@ "Varukoopia tegemisel ebaõnnestus ümbernimetamine. \n" "Failide nimed: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Faili staatuse hankimine: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Faili lugemine: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Faili kirjutamine: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Mälu napib" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Kataloogi loomine: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Kataloogi eemaldamine: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Faili eemaldamine: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Nimeviida loomine: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Faili ümbernimetamine: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Faili kopeerimine: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -692,7 +756,7 @@ "Viga faili kopeerimise operatsioonil: faili avamine lugemiseks ebaõnnestus. " "Failinimi: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -701,311 +765,326 @@ "Viga faili kopeerimise operatsioonil: faili avamine kirjutamiseks " "ebaõnnestus. Failinimi: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "Viga faili kopeerimise operatsioonil: lugemine ebaõnnestus. Failinimi: %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Viga faili kopeerimise operatsioonil: kirjutamine ebaõnnestus. Failinimi: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Kataloogi lugemine: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Kataloogi uurimine: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Kasutati võtit --atuo, kuid väljundfail pole määratud." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Kataloogide võrdlemisel ignoreeriti võtit --auto." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Salvestamine ebaõnnestus." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Nende failide avamine ebaõnnestus:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Viga faili avamisel" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Avab dokumendid võrdlemiseks..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "Salvestab ühendamise tulemuse. Kõik konfliktid peavad olema lahendatud!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Salvestab käesoleva dokumendi nimega..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Väljub rakendusest" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" -msgstr "Valitud teksti lõikamine ja lõikelauale asetamine" +msgstr "Valitud teksti lõikamine ja asetamine lõikepuhvrisse" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" -msgstr "Kopeerib valitud lõigu lõikelauale" +msgstr "Kopeerib valitud lõigu lõikepuhvrisse" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" -msgstr "Lõikelaua sisu asetamine praegusesse asukohta" +msgstr "Lõikepuhvri sisu asetamine praegusesse asukohta" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Otsib stringi" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Otsib uuesti stringi" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Lülitab tööriistariba sisse/välja" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Lülitab staatusriba sisse/välja" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "KDiff3 seadistamine..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Liigu praegusele erinevusele" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Liigu esimesele erinevusele" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Liigu viimasele erinevusele" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Liigu eelmisele erinevusele" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Liigu järgmisele erinevusele" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Liigu eelmisele konfliktile" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Liigu järgmisele konfliktile" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Liigu eelmisele lahendamata konfliktile" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Liigu järgmisele lahendamata konfliktile" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Vali rida/read A-st" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Vali rida/read B-st" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Vali rida/read C-st" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "Pärast allikavalikut liigu automaatselt järgmisele lahendamata konfliktile" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Näita erinevusi tühiku- ja tabeldusmärkides" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Näita tühimärke" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Näita reanumbreid" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Vali A kõikjal" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Vali B kõikjal" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Vali C kõikjal" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Vali A kõigi lahendamata konfliktide korral" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Vali B kõigi lahendamata konfliktide korral" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Vali C kõigi lahendamata konfliktide korral" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Vali A kõigi lahendamata tühimärgikonkfliktide korral" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Vali B kõigi lahendamata tühimärgikonkfliktide korral" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Vali C kõigi lahendamata tühimärgikonkfliktide korral" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Lahenda automaatselt lihtsad konfliktid" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Määra erinevused konfliktideks" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Näita akent A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Näita akent B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Näita akent C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Fokuseeri järgmisele aknale" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normaalne ülevaade" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A-B ülevaade" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A-C ülevaade" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B-C ülevaade" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Reamurdmine võrdlusakendes" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Fokuseeri eelmisele aknale" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Lülita poolitamissuund" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Kataloogi ja teksti poolitamisvaade" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Lülita kataloogi- ja tekstivaadet" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Valmis." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Ühendamise tulemust pole salvestatud." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Salvesta ja välju" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Välju salvestamata" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Ühendamise tulemuse salvestamine ebaõnnestus." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Faili salvestamine..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Faili salvestamine uue nimega..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Väljumine..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Tööriistariba lülitamine..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Olekuriba lülitamine..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Otsitav tekst:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Tõstutundlik" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Otsi A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Otsi B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Otsi C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Otsingu väljund" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Otsi" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Faile võrdlemiseks ei leitud." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3 komponent" @@ -1019,59 +1098,81 @@ "Tavaliselt tähendab see paigaldusprobleemi. Palun loe lähtepaketi faili " "README." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Tekstierinevuste näitamise ja ühendamise vahend" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Liidab sisendi." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Konkreetne põhifail (ühilduvuseks teatud tööriistadega)." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Väljundfail. Eeldab -m. Nt. -o usfail.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Taas väljundfail (ühilduvuseks teatud tööriistadega)" -#: main.cpp:37 +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Konflikte ei lahendata automaatselt (jälle ühilduvuse nimel...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Nähtava nime asendus. See tuleb anda kord iga sisendi jaoks." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Nähtava nime asendus sisendfailile 1 (baas)." -#: main.cpp:41 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Nähtava nime asendus sisendfailile 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Nähtava nime asendus sisendfailile 3." + +#: main.cpp:47 +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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "avatav fail1 (põhifail, kui --base teisiti ei määra)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "avatav fail2" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "avatav fail3" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1079,55 +1180,55 @@ "Väljundit on muudetud.\n" "Kui jätkad, lähevad sinu muudatused kaotsi." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Kõik sisendfailid on binaarselt võrdsed." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Kõik sisendfailid sisaldavad ühesugust teksti." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Failid A ja B on binaarselt võrdsed.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Failid A ja B on ühesuguse tekstiga. \n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Failid A ja C on binaarselt võrdsed.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Failid A ja C on ühesuguse tekstiga. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Failid B ja C on binaarselt võrdsed.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Failid B ja C on ühesuguse tekstiga. \n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Konfliktide koguarv: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1135,7 +1236,7 @@ "\n" "Automaatselt lahendatud konfliktide arv: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1143,23 +1244,27 @@ "\n" "Lahendamata konfliktide arv: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Konfliktid" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "<Ühendamise konflikt>" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Väljund" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Muudetud]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1167,11 +1272,11 @@ "Kõik konfliktid pole veel lahendatud.\n" "Faili ei salvestatud.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Järelejäänud konfliktid" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1181,27 +1286,27 @@ "\n" "Faili ei salvestatud." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Faili salvestamise viga" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Salvestamiseks valmistumisel sai mälu otsa." -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Kirjutamise viga." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Redaktori ja erinevuse väljundi font" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Kaldkiri erinevustele" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1209,63 +1314,63 @@ "Valib fondi kaldkirjaversiooni erinevuste näitamiseks.\n" "Kui font ei toeta kaldkirja, ei tee midagi." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Värv" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Redaktori ja erinevuse väljundi värvid" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Esiplaani värv:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Tausta värv:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Erinevuse tausta värv:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Värv A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Värv B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Värv C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Konflikti värv:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Praeguse vahemiku tausta värv:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Praeguse vahemiku erinevuse tausta värv:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Redaktor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Redaktori käitumine" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "TAB lisab tühikud" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1273,25 +1378,25 @@ "Sees: TAB klahvi vajutamine tekitab sobiva hulga tühikuid.\n" "Väljas: lisatakse tabeldusmärk." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "TABi suurus:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Automaatne taandus" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Valiku automaatne kopeerimine" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1299,27 +1404,39 @@ "Sees: iga valik asetatakse otsekohe lõikepuhvrisse.\n" "Väljas: kopeerimiseks tuleb anda selge käsk, nt. CTRL+C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Realõpu stiil:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Erinevus ja ühendamine" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Erinevuse ja ühendamise seadistused" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Säilitatakse reavahetus" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1328,11 +1445,11 @@ "See on abiks erinevatest operatsioonisüsteemidest pärit failide " "võrdlemisel." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Numbreid ignoreeritakse" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1342,35 +1459,35 @@ "ignoreerimisega).\n" "Võib olla abiks numbrilisi andmeid sisaldavate failide võrdlemisel." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "C/C++ kommentaare ignoreeritakse" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "C/C++ kommentaare käsitletakse tühimärkidena." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Teisendatakse suurtäheliseks" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Tõstu ignoreeritakse" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Lugemisel teisendatakse kõik väiketähed suurtähtedeks (nt. 'a'->'A')." +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "Tõstuerinevusi käsitletakse tühimärgimuutustena. ('a'<=>'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Eeltöötluse käsk" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "Kasutaja määratud eeltöötlus (vaata lähemalt käsiraamatust)." -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Ridade sobivuse eeltöötluse käsk:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1378,11 +1495,11 @@ "Seda eeltöötlusvahendit kasutatakse ainult ridade sobivuse leidmisel\n" "(vaata lähemalt käsiraamatust)." -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Karm uurimine (aeglane)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1390,11 +1507,11 @@ "Lubab välise diff-rakenduse korral võtme --minimal.\n" "Suurte failide analüüs muutub palju aeglasemaks." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Automaatse edasiliikumise viivitus (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1403,15 +1520,15 @@ "\n" "siis hüpatakse järgmisele konfliktile. Vahemik: 0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Tühimärkide käsitlemine kahe faili ühendamisel:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Käsitsivalik" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1419,27 +1536,27 @@ "Lubab ühendamisalgoritmil ainult tühimärkides seisneva erinevuse korral " "automaatselt valida sisendi." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Tühimärkide käsitlemine kolme faili ühendamisel:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Kataloogi ühendamine" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Rekursiivsed kataloogid" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Kas analüüsida alamkatalooge või mitte." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Failimustrid:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1449,11 +1566,11 @@ "Metamärgid: '*' ja '?'\n" "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Anti-failimustrid:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1463,11 +1580,11 @@ "Metamärgid: '*' ja '?'\n" "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Anti-kataloogimustrid:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1477,11 +1594,11 @@ "Metamärgid: '*' ja '?'\n" "Mitme mustri määramisel kasuta eraldajana semikoolonit (;)" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr ".cvsignore kasutamine" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1489,23 +1606,23 @@ "Laiendab antimustrit kõigele, mida eiraks CVS.\n" "Kohalike \".cvsignore\" failide abil võib see olla kataloogipõhine." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Peidetud failide ja kataloogide otsimine" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Otsitakse peidetud faile ja katalooge." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Failide ja kataloogide otsimine, mille alguses seisab '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Failiviitade järgimine" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1513,11 +1630,11 @@ "Sees: võrreldakse faili, mille viit osutab.\n" "Väljas: võrreldakse viitu." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Kataloogiviitade järgimine" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1525,19 +1642,43 @@ "Sees: võrreldakse kataloogi, mille viit osutab.\n" "Väljas: võrreldakse viitu." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Ainult erinevuste näitamine" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 msgid "Files and directories without change will not appear in the list." msgstr "Nimekirjas ei näidata muutusteta faile ja katalooge." -#: optiondialog.cpp:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "Faili võrdlemise režiim" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binaarvõrdlus" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Iga faili binaarvõrdlus. (vaikimisi)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Täielik analüüs" + +#: optiondialog.cpp:695 +msgid "" +"Do a full analysis and show statistics information in extra columns.\n" +"(Slower than a binary comparison, much slower for binary files.)" +msgstr "" +"Tehakse täielik analüüs, statistikat näidatakse lisaveergudes.\n" +"(Aeglasem kui binaarvõrdlus ja eriti aeglane binaarfailide korral.)" + +#: optiondialog.cpp:698 msgid "Trust the modification date (unsafe)" msgstr "Muutmiskuupäeva usaldamine (ebaturvaline)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1547,11 +1688,11 @@ "võrdsed.\n" "Mõttekas suurte kataloogide või aeglase võrgu korral." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Suuruse usaldamine (ebaturvaline)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1561,11 +1702,11 @@ "Mõttekas suurte kataloogide või aeglase võrgu korral, kui kuupäev võib " "allalaadimise käigus olla muutunud." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Kataloogide sünkroniseerimine" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1575,11 +1716,11 @@ "nii et need näevad pärast seda välja ühesugused.\n" "Toimib ainult kahe kataloogi võrdlemisel ilma sihtkohta määramata." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Ühendamise asemel kopeeritakse uuem (ebaturvaline)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1589,11 +1730,11 @@ "(Kasuta ainult siis, kui tead, mida teed!)\n" "Toimib ainult kahe kataloogi võrdlemisel." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Failidest tehakse varukoopia (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1601,7 +1742,27 @@ "Kui fail salvestatakse vana faili asemele, ei kustutata vana faili,\n" "vaid sellele antakse uus nimi laiendiga '.orig'." -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Lokaale seadistused" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Keel (vajalik taaskäivitus)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"Vali GUI stringide keel või \"Auto\".\n" +"Keele tegelikuks muutmiseks tuleb KDiff3 sulgeda ja uuesti käivitada." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1617,73 +1778,91 @@ "\n" "Kas soovid jätkata või valid uue fondi?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Sobimatu font" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Jätkan oma riskil" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Valin uue fondi" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Eeltöötluse käsk: " + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" 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." +"Järgmised valitud võimalused võivad muuta andmeid:\n" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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" +"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" +msgstr "Ebaturvaline valik ühendamisel" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Kasuta neid valikuid ühendamisel" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Keela ebaturvalised valikud" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "A laadimine" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "B laadimine" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Erinevus: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Reaerinevus: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "C laadimine" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Erinevus: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Erinevus: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Reaerinevus: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Reaerinevus: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1693,67 +1872,67 @@ "Arvesta, et KDiff3 ühendamine ei ole mõeldud binaarfailidele.\n" "Jätka oma riskil." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (baas):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Fail..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Kataloog..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (lisavõimalus):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Väljund (lisavõimalus):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Seadista..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Katkesta" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Failide avamine..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Viga faili avamisel" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Valitud teksti lõikamine..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." -msgstr "Valitud teksti kopeerimine lõikelauale..." +msgstr "Valitud teksti kopeerimine lõikepuhvrisse..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." -msgstr "Lõikelaua sisu sisestamine..." +msgstr "Lõikepuhvri sisu sisestamine..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Salvesta ja jätka" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Jätka salvestamata" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Otsing lõpetatud." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Otsing lõpetatud" @@ -1782,9 +1961,36 @@ msgstr "&Liikumine" #: rc.cpp:9 +msgid "D&iffview" +msgstr "Võrdlus&evaade" + +#: rc.cpp:10 msgid "&Merge" msgstr "Ü&hendamine" -#: rc.cpp:10 +#: 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." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/fr.po --- a/kdiff3/po/fr.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/fr.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,15 +1,17 @@ +# 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 , 2004. # Delafond , 2004. +# Simon DEPIETS <2df@tuxfamily.org>, 2004. # msgid "" msgstr "" -"Project-Id-Version: kdiff3.app\n" -"POT-Creation-Date: 2004-01-09 01:37+0100\n" -"PO-Revision-Date: 2004-02-12 18:53+0100\n" -"Last-Translator: Delafond \n" +"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" "Language-Team: Français \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,11 +30,47 @@ "Your emails" msgstr "2df@tuxfamily.org" -#: diff.cpp:472 +#: diff.cpp:241 +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 msgid "From Clipboard" msgstr "Depuis le Presse-papiers" -#: diff.cpp:1096 diff.cpp:1110 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"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 +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 "" +"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 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -40,61 +78,81 @@ "Données perdues :\n" "Si cela se reproduit, contactez l'auteur.\n" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Erreur interne sévère" -#: difftextwindow.cpp:790 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Première Ligne %1" -#: difftextwindow.cpp:792 +#: difftextwindow.cpp:831 msgid "End" msgstr "Fin" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Mélange de liens et de fichiers normaux." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Lien : " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Taille. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Date et Taille : " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "La création de la copie temporaire de %1 a échoué." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "L'ouverture de %1 a échoué." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Comparaison du fichier..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Erreur de lecture de %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Nom" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Opération" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "État" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Non résolu" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Résolu" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Non blanc" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Blanc" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -102,41 +160,41 @@ "Vous procédez à une fusion. Confirmez-vous l'abandon de la fusion et le " "rafraîchissement du dossier ?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Rafraîchissement" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1201 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "La fusion continue" -#: directorymergewindow.cpp:381 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "L'ouverture des dossiers a échoué :" -#: directorymergewindow.cpp:384 +#: directorymergewindow.cpp:424 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:387 +#: directorymergewindow.cpp:427 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:390 +#: directorymergewindow.cpp:430 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:392 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Erreur lors de l'ouverture du dossier" -#: directorymergewindow.cpp:400 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -146,132 +204,142 @@ "fichiers sont fusionnés.\n" "Vérifiez avant de continuer." -#: directorymergewindow.cpp:402 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Avertissement pour les paramètres" -#: directorymergewindow.cpp:429 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Scan des dossiers" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Lecture du dossier A" -#: directorymergewindow.cpp:451 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Lecture du dossier B" -#: directorymergewindow.cpp:473 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Lecture du dossier C" -#: directorymergewindow.cpp:499 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Certains sous-dossiers ne sont pas lisibles" -#: directorymergewindow.cpp:504 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Vérifiez les permissions des sous-dossiers." -#: directorymergewindow.cpp:551 +#: 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 +msgid "Ready." +msgstr "Prêt." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "État de la comparaison des dossiers." -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Nombre de sous-dossiers :" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Nombre de fichiers identiques :" -#: directorymergewindow.cpp:554 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Nombre de fichiers différents :" -#: directorymergewindow.cpp:557 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Nombre de fusions manuelles :" -#: directorymergewindow.cpp:693 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Cela affecte toutes les opérations de fusion" -#: directorymergewindow.cpp:694 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Changement de toutes les opérations de fusion" -#: directorymergewindow.cpp:694 mergeresultwindow.cpp:252 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "C&ontinuer" -#: directorymergewindow.cpp:961 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "En cours " -#: directorymergewindow.cpp:1309 directorymergewindow.cpp:1316 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "A faire." -#: directorymergewindow.cpp:1343 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Copier A vers B" -#: directorymergewindow.cpp:1344 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Copier B vers A" -#: directorymergewindow.cpp:1345 directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Supprimer A" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:2287 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Supprimer B" -#: directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Supprimer A et B" -#: directorymergewindow.cpp:1348 directorymergewindow.cpp:2289 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Fusionner vers A" -#: directorymergewindow.cpp:1349 directorymergewindow.cpp:2290 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Fusionner vers B" -#: directorymergewindow.cpp:1350 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Fusionner vers A et B" -#: directorymergewindow.cpp:1354 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Supprimer (si existant)" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 -#: directorymergewindow.cpp:2280 pdiff.cpp:1076 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Fusion" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Fusion (Manuelle)" -#: directorymergewindow.cpp:1357 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Erreur : conflit de types de fichiers" -#: directorymergewindow.cpp:1358 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Erreur : les dates sont les mêmes, mais pas les fichiers." -#: directorymergewindow.cpp:1382 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Cette opération n'est pas possible actuellement." -#: directorymergewindow.cpp:1382 directorymergewindow.cpp:1642 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Opération impossible" -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -285,42 +353,42 @@ "\n" "Si vous savez comment reproduire cela, veuillez contacter l'auteur." -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Erreur du programme" -#: directorymergewindow.cpp:1436 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Une erreur est survenue lors de la copie.\n" -#: directorymergewindow.cpp:1437 directorymergewindow.cpp:1843 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Erreur de fusion" -#: directorymergewindow.cpp:1442 directorymergewindow.cpp:1848 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Erreur." -#: directorymergewindow.cpp:1447 directorymergewindow.cpp:1739 -#: directorymergewindow.cpp:1779 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Fait." -#: directorymergewindow.cpp:1470 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Non enregistré." -#: directorymergewindow.cpp:1505 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Opération de fusion inconnue. (Ceci ne devrait jamais arriver !)" -#: directorymergewindow.cpp:1537 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Opération de fusion inconnue." -#: directorymergewindow.cpp:1552 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -340,19 +408,19 @@ "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:1557 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Lancement de la fusion" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Faire" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simuler" -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -360,7 +428,7 @@ "L'objet surligné a un format différent dans les différents dossiers. " "Choisissez que faire." -#: directorymergewindow.cpp:1592 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -368,13 +436,15 @@ "Les dates de modification du fichier sont égales, mais pas les fichiers. " "Sélectionnez que faire." -#: directorymergewindow.cpp:1642 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"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:1701 +#: directorymergewindow.cpp:1838 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 " @@ -384,262 +454,262 @@ "Voulez-vous continuer avec l'élément ayant causé l'erreur ou voulez-vous " "le sauter ?" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Continuer la fusion après une erreur" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Continuer avec le dernier élément" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Sauter l'élément" -#: directorymergewindow.cpp:1739 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Elément sauté." -#: directorymergewindow.cpp:1746 directorymergewindow.cpp:1972 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "En cours..." -#: directorymergewindow.cpp:1794 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Opération de fusion complète." -#: directorymergewindow.cpp:1794 directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Fusion complète." -#: directorymergewindow.cpp:1806 +#: directorymergewindow.cpp:1941 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:1842 +#: directorymergewindow.cpp:1977 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:1885 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "" "Erreur : durant la suppression de %1 : échec de la création de " "sauvegarde." -#: directorymergewindow.cpp:1892 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "supprimer le dossier récursivement (%1)" -#: directorymergewindow.cpp:1894 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "supprimer (%1)" -#: directorymergewindow.cpp:1909 +#: directorymergewindow.cpp:2044 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:1928 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Erreur : échec de la suppression du dossier (%1)" -#: directorymergewindow.cpp:1938 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Erreur : échec de l'opération de suppression." -#: directorymergewindow.cpp:1964 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "Fusion manuelle (%1, %2, %3 vers %4)" -#: directorymergewindow.cpp:1967 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +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:1990 +#: directorymergewindow.cpp:2125 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:2000 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "copier le lien (%1 vers %2)" -#: directorymergewindow.cpp:2011 +#: directorymergewindow.cpp:2146 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:2017 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Erreur : échec de la copie du lien" -#: directorymergewindow.cpp:2037 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "copie (%1 vers %2)" -#: directorymergewindow.cpp:2063 +#: directorymergewindow.cpp:2198 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:2069 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "changement de nom (%1 vers %2)" -#: directorymergewindow.cpp:2078 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Erreur : échec du changement de nom." -#: directorymergewindow.cpp:2096 +#: directorymergewindow.cpp:2231 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:2112 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "Création du Dossier (%1)" -#: directorymergewindow.cpp:2122 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Erreur durant la création du dossier" -#: directorymergewindow.cpp:2145 directorymergewindow.cpp:2253 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Destination" -#: directorymergewindow.cpp:2149 directorymergewindow.cpp:2178 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Dossier" -#: directorymergewindow.cpp:2150 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Type" -#: directorymergewindow.cpp:2151 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Taille" -#: directorymergewindow.cpp:2152 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Attributs" -#: directorymergewindow.cpp:2153 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Dernière modification" -#: directorymergewindow.cpp:2154 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Destination du lien" -#: directorymergewindow.cpp:2195 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "non disponible" -#: directorymergewindow.cpp:2215 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Destination) : " -#: directorymergewindow.cpp:2218 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Base) : " -#: directorymergewindow.cpp:2224 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Destination) : " -#: directorymergewindow.cpp:2232 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Destination) : " -#: directorymergewindow.cpp:2238 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Destination : " -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Commencer/Continuer la fusion des dossiers" -#: directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Lancer l'opération pour l'élément courant" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Comparer le fichier sélectionné" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Fusionner le fichier en cours" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Inclure tous les sous-dossiers" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Ne pas suivre les sous-dossiers" -#: directorymergewindow.cpp:2270 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Choisir A pour tous les éléments" -#: directorymergewindow.cpp:2271 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Choisir B pour tous les éléments" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Choisir C pour tous les éléments" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Choisir automatiquement l'opération pour tous les éléments" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Pas d'opérations pour tous les éléments" -#: directorymergewindow.cpp:2276 directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Ne rien faire" -#: directorymergewindow.cpp:2277 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Supprimer (si existant)" -#: directorymergewindow.cpp:2288 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Supprimer A et B" -#: directorymergewindow.cpp:2291 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Fusionner dans A et B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -648,7 +718,7 @@ "précédent a échoué.\n" "Nom du fichier :" -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -656,53 +726,53 @@ "Pendant le tentative d'enregistrement, le changement de nom a échoué.\n" "Noms des fichiers :" -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Recherche de l'état du fichier : %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Lecture du fichier : %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Écriture du fichier : %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Plus de mémoire" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Création du dossier : %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Suppression du dossier  %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Suppression du fichier : %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Création d'un lien symbolique : %1 vers %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Changement de nom du fichier : %1 vers %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Copie du fichier : %1 vers %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -711,7 +781,7 @@ "Erreur durant la copie : l'ouverture du fichier pour la lecture a échoué. " "Nom du Fichier : %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -720,319 +790,334 @@ "Erreur durant la copie : l'ouverture du fichier pour l'écriture a " "échoué. Nom du Fichier : %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, 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:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Lecture du dossier : " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Listage du dossier : %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Option --auto-utilisée, mais pas de fichier résultat spécifié." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Option --auto-ignorée pour la comparaison de dossiers." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Échec de l'enregistrement." -#: kdiff3.cpp:287 pdiff.cpp:1260 pdiff.cpp:1321 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "L'ouverture de ces fichiers a échoué :" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Erreur d'ouverture d'un Fichier" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Ouvre les documents pour comparaison..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 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:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Enregistre le document courant sous..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Quitte l'application" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 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:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Copie la sélection vers le presse-papiers" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Colle le contenu du presse-papiers à la position actuelle" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Cherche un passage" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Cherche de nouveau le passage" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Active/désactive la barre d'outils" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Active/désactive la barre de état" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Configurer KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Aller à la différence actuelle" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Aller à la première différence" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Aller à la dernière différence" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Aller à la prochaine différence" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Aller à la différence suivante" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Aller au conflit précédent" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Aller au conflit suivant" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Aller au conflit conflit non résolu précédent" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Aller au conflit non résolu suivant" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Sélectionner la source depuis A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Sélectionner la source depuis B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Sélectionner la source depuis C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Montrer les espaces et les alinéas en tant que différences" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Montrer les espaces" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Montrer les numéros de Ligne" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Choisir A partout" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Choisir B Partout" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Choisir C Partout" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Choisir A pour tous les conflits non résolus" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Choisir B pour tous les conflits non résolus" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Choisir C pour tous les conflits non résolus" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Choisir A pour tous les conflits d'espaces non résolus" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Choisir B pour tous les conflits d'espaces non résolus" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Choisir C pour tous les conflits d'espaces non résolus" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Résoudre automatiquement les conflits simples" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Rendre les différences comme conflits" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Montrer la fenêtre A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Montrer la fenêtre B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Montrer la fenêtre C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "S'aligner sur la fenêtre suivante" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Aperçu normal" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "Aperçu A contre B" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "Aperçu A contre C" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "Aperçu B contre C" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Fenêtre de diff de la mise en page" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "S'aligner sur la fenêtre précédente" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Partage et cadrage de l'écran" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Vue partagée entre dossier et texte" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Inverser entre vue dossier et texte" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1278 pdiff.cpp:1340 pdiff.cpp:1361 pdiff.cpp:1377 pdiff.cpp:1408 -msgid "Ready." -msgstr "Prêt." - -#: kdiff3.cpp:483 pdiff.cpp:1702 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Le résultat de la fusion n'a pas été enregistré." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Enregistrer et Quitter" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Quitter sans enregistrer" -#: kdiff3.cpp:492 pdiff.cpp:1711 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "L'enregistrement du résultat de la fusion a échoué." -#: kdiff3.cpp:503 pdiff.cpp:1200 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Enregistrement du fichier..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Enregistrement du fichier avec un nouveau nom..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Fermeture..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Cadrage de la barre d'outils..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Cadrage de la barre de état..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Chercher dans le texte :" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Sensible à la casse" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Chercher dans A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Chercher dans B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Chercher dans C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Chercher dans le résultat" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Chercher" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Impossible de trouver les fichiers pour la comparaison" -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1046,63 +1131,87 @@ "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:27 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Outil de diff et de fusion de textes" -#: main.cpp:32 +#: main.cpp:35 msgid "Merge the input." msgstr "Fusionner les entrées." -#: main.cpp:34 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Fichier de base explicite. Pour compatibilité avec certains outils." -#: main.cpp:36 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Fichier de résultat. Implique -m. Ex : -o nouveaufichier.txt" -#: main.cpp:37 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "" "Fichier de résultat, encore. (Pour raison de compatibilité avec certains " "outils)." -#: main.cpp:38 +#: main.cpp:41 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:39 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Ne pas résoudre les conflits automatiquement. (Par compatibilité...)." -#: main.cpp:40 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Remplacement visible. Faire cela une fois pour chaque fichier d'entrée." - -#: main.cpp:42 -msgid "For compatibility with certain tools." -msgstr "Par compatibilité avec certains outils." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Remplacement visible pour le fichier d'entrée 1 (base)." #: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Remplacement visible pour le fichier d'entrée 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Remplacement visible pour le fichier d'entrée 3." + +#: main.cpp:47 +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 msgid "file1 to open (base, if not specified via --base)" msgstr "fichier 1 à ouvrir (base, si non spécifié, via --base)" -#: main.cpp:45 +#: main.cpp:53 msgid "file2 to open" msgstr "fichier 2 à ouvrir" -#: main.cpp:46 +#: main.cpp:54 msgid "file3 to open" msgstr "fichier 3 à ouvrir" -#: main.cpp:99 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:250 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1110,55 +1219,55 @@ "Le résultat a été modifié.\n" "Si vous continuez, vos changement seront perdus." -#: mergeresultwindow.cpp:671 pdiff.cpp:591 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Tous les fichiers d'entrées sont égaux binairement." -#: mergeresultwindow.cpp:673 pdiff.cpp:593 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Tous les fichiers d'entrées contiennent le même texte." -#: mergeresultwindow.cpp:675 pdiff.cpp:595 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Les fichiers A et B sont égaux binairement.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:596 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Les fichiers A et B ont le même texte.\n" -#: mergeresultwindow.cpp:677 pdiff.cpp:597 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Les fichiers A et C sont égaux binairement.\n" -#: mergeresultwindow.cpp:678 pdiff.cpp:598 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Les fichiers A et C ont le même texte.\n" -#: mergeresultwindow.cpp:679 pdiff.cpp:599 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Les fichiers B et C sont égaux binairement.\n" -#: mergeresultwindow.cpp:680 pdiff.cpp:600 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Les fichiers B et C ont le même texte.\n" -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Nombre total de conflits : " -#: mergeresultwindow.cpp:684 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1166,7 +1275,7 @@ "\n" "Nombre de conflits résolus automatiquement : " -#: mergeresultwindow.cpp:685 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1174,23 +1283,27 @@ "\n" "Nombre de conflits non résolus : " -#: mergeresultwindow.cpp:687 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Conflits" -#: mergeresultwindow.cpp:1015 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1022 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1086 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Sortie" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Modifié]" -#: mergeresultwindow.cpp:1964 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1198,11 +1311,11 @@ "Tous les conflits ne sont pas encore résolus.\n" "Fichier non enregistré.\n" -#: mergeresultwindow.cpp:1966 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Il reste des conflits" -#: mergeresultwindow.cpp:1978 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1212,27 +1325,27 @@ "\n" "Fichier non enregistré." -#: mergeresultwindow.cpp:1978 mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Erreur d'enregistrement du fichier" -#: mergeresultwindow.cpp:1994 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Plus de mémoire au moment de l'enregistrement." -#: mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Erreur durant l'écriture." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Police de l'éditeur et du résultat de Diff" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Police en italique pour les différences" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1240,63 +1353,63 @@ "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:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Couleur" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Couleur dans l'éditeur et le résultat d'une Diff" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Couleur du premier plan :" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Couleur de l'arrière plan :" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Couleur de l'arrière plan d'un Diff :" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Couleur A :" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Couleur B :" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Couleur C :" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Couleur des conflits :" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Couleur de l'arrière plan de la sélection :" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Couleur de l'arrière plan de la sélection diff courante :" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Éditeur" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Comportement de l'éditeur" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "La tabulation insère des espaces" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1304,26 +1417,26 @@ "Activé : actionner Tab génère le nombre approprié d'espaces.\n" "Désactivé : Un caractère de tabulation sera inséré." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Taille d'une tabulation :" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Indentation automatique" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Copie de la sélection automatique" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1333,27 +1446,39 @@ "Désactivé : vous devrez copier explicitement l'élément (ex : via " "Ctrl+C)." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Mode de fin de ligne :" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Changez cela si les caractères ASCII ne sont pas affichés correctement." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Différences et fusion" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Options de diff et fusion" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Préserver des les retours à la ligne" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1362,11 +1487,11 @@ "Aide à comparer les fichiers s'ils ont été modifiées sous des OS " "différents." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorer les nombres" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1376,39 +1501,39 @@ "espaces).\n" "Peut vous aider à comparer les fichiers ayant des données numériques." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorer les Commentaires C/C++" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Traiter les commentaires C/C++ comme des espaces." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Convertir en majuscules" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Ignorer la case" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -"Rendre toutes les minuscules en majuscules lors de la lecture. (ex : " -"« a » devient « A »)" +"Triater les différences de casse comme les changements d'espaces. " +"('a'<=>'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Commande de précompilation :" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 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:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Commande de précompilation sur la comparaison de lignes :" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1417,11 +1542,11 @@ "de lignes.\n" "(Voir les documentations pour les détails)." -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Essayer avec moins de mémoire (plus lent)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1429,11 +1554,11 @@ "Active l'option -minimal pour une diff externe.\n" "L'analyse de gros fichiers sera plus lente." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Délai d'avance automatique (en ms) :" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1443,15 +1568,15 @@ " pour la période spécifiée, avant d'aller au conflit suivant. Étendue : " "0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Option par défaut pour les espaces lors de la fusion de 2 fichiers :" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Choix manuel" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1459,27 +1584,27 @@ "Autoriser l'algorithme de fusion à sélectionner une entrée pour les " "changements d'espaces seulement." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Option par défaut pour les espaces lors de la fusion de 3 fichiers :" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Fusion de dossiers" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Fusionner les sous-dossiers" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Si vous voulez analyser les sous-dossiers ou non." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Formats acceptés :" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1490,11 +1615,11 @@ "Les formats peuvent être spécifiés en utilisant le séparateur : " "« ; »" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Formats refusés(s) :" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1505,11 +1630,11 @@ "Les formats peuvent être spécifiés en utilisant le séparateur : " "« ; »" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Formats de dossiers refusés :" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1520,11 +1645,11 @@ "Les formats peuvent être spécifiés en utilisant le séparateur : " "« ; »" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Utiliser .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1534,23 +1659,23 @@ " Via un « .cvsignore »-files local, cela pourra être le dossier " "spécifiquement." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Trouver les fichiers et les dossiers cachés" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Trouver les fichiers et dossiers ayant l'attribut « caché »." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Trouver les fichiers et dossiers commençant par « . »." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Trouver les fichiers liens" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1558,11 +1683,11 @@ "Activé : compare les fichiers derrières les liens.\n" "Désactivé : compare les liens." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Suivre les liens vers un dossier" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1570,19 +1695,44 @@ "Activé : compare les dossiers derrière les liens.\n" "Désactivé : compare les liens." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Lister seulement les différences" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "Mode de comparaison de fichiers" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Comparaison de binaires" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Comparaison binaire de chaque fichier. (Par défaut)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Analyse complète" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Se fier à la date de modification (peu sûr)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1592,11 +1742,11 @@ "taille du fichier sont égales.\n" "Utile pour les gros dossiers ou les réseaux lents." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Se fier à la taille (peu sûr)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1606,11 +1756,11 @@ "Utile pour les gros dossiers ou les réseaux lents, quand la taille est " "modifiée durant le téléchargement." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Synchroniser les dossiers" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1621,11 +1771,11 @@ "Ne fonctionne que lors de la comparaison de dossiers sans spécification de " "destination." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Copier le plus récent au lieu de fusionner (peu sûr)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1635,11 +1785,11 @@ "(Ne faites cela que si vous savez ce que vous faites !)\n" "Effectif seulement lors de la comparaison de dossiers." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Copie de sauvegarde (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1648,7 +1798,28 @@ "fichier sera renommé avec une extension « .orig » au lieu d'être " "supprimé." -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Options régionales" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Langue (redémarrage nécessaire)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1665,75 +1836,94 @@ "\n" "Voulez-vous continuer ou voulez-vous sélectionner une autre police." -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Police incompatible" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Continuez à vos risques et périls" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Sélectionnez une autre police" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:377 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Commande de préprocessus :" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" 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." +"Les options suivantes que vous avez séléctionné peuvent changer vos " +"données :\n" -#: pdiff.cpp:443 +#: pdiff.cpp:263 +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" +"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" +msgstr "Option non-sûre pour une fusion" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Utiliser ces options durant la fusion" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Désactiver les options non-sûres" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Chargement de A" -#: pdiff.cpp:448 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Chargement de B" -#: pdiff.cpp:459 pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Différence entre A et B" -#: pdiff.cpp:467 pdiff.cpp:520 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Différence de ligne entre A et B" -#: pdiff.cpp:476 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Chargement de C" -#: pdiff.cpp:490 pdiff.cpp:502 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Différence entre B et C" -#: pdiff.cpp:493 pdiff.cpp:505 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Différence entre A et C" -#: pdiff.cpp:523 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Différence de ligne entre B et C" -#: pdiff.cpp:526 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Différence de ligne entre A et C" -#: pdiff.cpp:610 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1743,67 +1933,67 @@ "Notez que la fusion KDiff3 n'est pas prévue pour les données binaires.\n" "Continuez à vos risques et périls." -#: pdiff.cpp:1030 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Base) :" -#: pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1066 pdiff.cpp:1084 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Fichier..." -#: pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1068 pdiff.cpp:1086 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Dossier..." -#: pdiff.cpp:1061 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Optionnel) :" -#: pdiff.cpp:1079 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Fichier de résultat (optionnel) :" -#: pdiff.cpp:1108 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Configurer..." -#: pdiff.cpp:1201 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Abandonner" -#: pdiff.cpp:1207 pdiff.cpp:1286 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Ouverture des fichiers..." -#: pdiff.cpp:1269 pdiff.cpp:1330 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Erreur d'ouverture du fichier" -#: pdiff.cpp:1345 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Coupe de la sélection..." -#: pdiff.cpp:1366 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Copie de la sélection vers le presse-papiers..." -#: pdiff.cpp:1382 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Insertion du contenu du presse-papiers..." -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Enregistrer et continuer" -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Continuer sans enregistrer" -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Recherche terminée." -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Recherche terminée." @@ -1832,9 +2022,51 @@ msgstr "&Mouvement" #: rc.cpp:9 +msgid "D&iffview" +msgstr "Vue de D&iff" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Fusion" -#: rc.cpp:10 +#: 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." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/hu.po --- a/kdiff3/po/hu.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/hu.po Thu Sep 16 02:40:08 2004 +0000 @@ -5,12 +5,12 @@ msgid "" msgstr "" "Project-Id-Version: KDE 3.2\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2004-01-04 11:11+0100\n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-01-09 11:11+0100\n" "Last-Translator: Tamas Szanto \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: _translatorinfo.cpp:1 @@ -25,11 +25,33 @@ "Your emails" msgstr "tszanto@mol.hu" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 msgid "From Clipboard" msgstr "A vágólapról" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -37,61 +59,82 @@ "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:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Súlyos belsÅ‘ hiba történt" -#: difftextwindow.cpp:789 -#, c-format -msgid "Topline %1" +#: difftextwindow.cpp:829 +#, fuzzy, c-format +msgid "Top line %1" msgstr "FelsÅ‘ sor - %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Vég" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Linkek és normál fájlok vegyesen." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Link: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Méret. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Dátum és méret: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 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:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "%1 megnyitása nem sikerült." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "A fájl mentése..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "%1 olvasása közben hiba történt" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Név" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Művelet" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Ãllapot" -#: directorymergewindow.cpp:271 +#: 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?" @@ -100,41 +143,41 @@ "szeretné szakítani a műveletet és újra be szeretné olvasni a " "könyvtár tartalmát?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Újraolvasás" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "A művelet folytatása" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Nem sikerült beolvasni ezeket a könyvtárakat:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Könyvtármegnyitási hiba" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -144,132 +187,143 @@ "könyvtár lesz összeolvasztva.\n" "Továbblépés elÅ‘tt ellenÅ‘rizze az értéket." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Figyelmeztetés - paraméter" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "A könyvtárak szinkronizálása" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Az A könyvtár beolvasása" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "A B könyvtár beolvasása" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "A C könyvtár beolvasása" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Néhány alkönyvtár beolvasása nem sikerült itt:" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "EllenÅ‘rizze az alkönyvtárak jogosultságait." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Kész." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "A könyvtárak összehasonlítási állapota" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Az alkönyvtárak száma:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "A megegyezÅ‘ fájlok száma:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Az eltérÅ‘ fájlok száma:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "A kézi összeolvasztások száma:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Ez minden összeolvasztási műveletet érint." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Az összes összeolvasztási művelet megváltoztatása" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "F&olytatás" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Feldolgozás " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Feladat." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "A másolása B-be" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "B másolása A-ba" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "A törlése" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "B törlése" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "A és B törlése" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Beolvasztás A-ba" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Beolvasztás B-be" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Beolvasztás A és B-be" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Törlés (ha létezik)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Összeolvasztás" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Összeolvasztás (kézi)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Hiba: ütközÅ‘ fájltípusok" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Hiba: a dátumok megegyeznek, de a fájlok nem." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Ez a művelet jelenleg nem lehetséges." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "A művelet nem lehetséges" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -284,44 +338,44 @@ "Ha tudja, hogyan kell ezt a helyzetet reprodukálni, kérem értesítse a " "szerzÅ‘t." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Programhiba" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Hiba történt másolás közben.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Összeolvasztási hiba" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Hiba." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Kész." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Nincs elmentve." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 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:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Ismeretlen összeolvasztási művelet." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -343,19 +397,19 @@ "működésre. A fontos adatokról mindenképpen készítsen biztonsági " "másolatot!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Az összeolvasztás megkezdése" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "KezdÅ‘djön" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Szimuláció" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -363,7 +417,7 @@ "A kijelölt elem típusa eltérÅ‘ a könyvtárakban. Válassza ki, mit " "szeretne tenni." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -371,13 +425,16 @@ "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:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +#, fuzzy +msgid "" +"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:1692 +#: directorymergewindow.cpp:1838 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 " @@ -387,260 +444,261 @@ "Folytatni szeretné a műveletet a hiba ellenére vagy át szeretné ugrani " "a hibát okozó elemet?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Az összeolvasztás folytatása hiba esetén is" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Folytatás az utolsó elemmel" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Az elem átlépése" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Ãtlépve." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "Folyamatban..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Az összeolvasztási művelet befejezÅ‘dött." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Az összeolvasztás befejezÅ‘dött" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 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:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "könyvtár (%1) törlése az alkönyvtárakkal együtt" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "törlés (%1)" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Hiba: egy rmdir (%1) művelet nem sikerült." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Hiba történt: a törlési művelet nem sikerült." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "kézi összeolvasztás (%1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +#, fuzzy +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:1981 +#: directorymergewindow.cpp:2125 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:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "Link másolása (%1 -> %2)" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 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:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Hiba történt: egy link másolása nem sikerült." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "másolás (%1 -> %2)" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 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:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "átnevezés (%1 -> %2)" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Hiba történt: egy átnevezés nem sikerült." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 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:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "Könyvtár létrehozása (%1)" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Hiba történt egy könyvtár létrehozása közben." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Cél" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Könyvtár" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Típus" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Méret" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Attribútum" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Utolsó módosítás" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Link-Cél" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "nem áll rendelkezésre" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (cél):" -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (alap):" -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (cél):" -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (cél):" -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Cél: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "A könyvtárösszeolvasztás kezdése/folytatása" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "A művelet végrehajtása az aktuális elemen" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "A kiválasztott fájl összehasonlítása" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Az aktuális fájl összeolvasztása" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Az alkönyvtárak összecsukása" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Az alkönyvtárak kibontása" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Az 'A' kiválasztása az összes elemhez" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "A 'B' kiválasztása az összes elemhez" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "A 'C' kiválasztása az összes elemhez" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Automatikus kiválasztás az összes elemnél" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Nincs művelet az összes elemre" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Nem kell semmit tenni" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Törlés (ha létezik)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "A és B törlése" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Beolvasztás A és B-be" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -649,7 +707,7 @@ "nem sikerült törölni. \n" "Fájlnév: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -657,53 +715,53 @@ "Biztonsági mentés készítése közben egy átnevezés nem sikerült. \n" "A fájlok nevei: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "A fájlállapot lekérdezése: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Fájl beolvasása: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Fájl írása: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Elfogyott a memória" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Könyvtár létrehozása: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Könyvtár törlése: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Fájl törlése: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Szimbolikus link létrehozása: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Fájl átnevezése: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Fájl másolása: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -712,7 +770,7 @@ "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:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -721,321 +779,338 @@ "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:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, 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:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Könyvtár beolvasása: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Könyvtár kilistázása: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 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:223 +#: kdiff3.cpp:241 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:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "A mentés nem sikerült." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Nem sikerült megnyitni a következÅ‘ fájlokat:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Fájlmegnyitási hiba" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Dokumentumok megnyitása összehasonlításhoz..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 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:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Az aktuális dokumentum mentése mint..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Kilépés az alkalmazásból" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 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:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Kimásolja a kijelölt részt és a vágólapra helyezi" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 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:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Sztring keresése" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "A sztring keresése újból" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Az eszköztár ki-be kapcsolása" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Az állapotsor ki-be kapcsolása" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "A KDiff3 beállításai..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Ugrás az aktuális deltára..." -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Ugrás az elsÅ‘ deltára" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Ugrás az utolsó deltára" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Ugrás az elÅ‘zÅ‘ deltára" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Ugrás a következÅ‘ deltára" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Ugrás az elÅ‘zÅ‘ ütközésre" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Ugrás a következÅ‘ ütközésre" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Ugrás az elÅ‘zÅ‘ feloldatlan ütközésre" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Ugrás a következÅ‘ feloldatlan ütközésre" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Sor(ok) kiválasztása A-ból" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Sor(ok) kiválasztása B-bÅ‘l" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Sor(ok) kiválasztása C-bÅ‘l" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 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:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Az üres karakterek megjelenítése" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "A sorszámok megjelenítése" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "A kiválasztása mindenhol" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "B kiválasztása mindenhol" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "C kiválasztása mindenhol" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "A kiválasztása az összes feloldatlan ütközéshez" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "B kiválasztása az összes feloldatlan ütközéshez" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "C kiválasztása az összes feloldatlan ütközéshez" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "A kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "B kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "C kiválasztása az összes feloldatlan elválasztókarakter-ütközéshez" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Az egyszerű ütközések automatikus feloldása" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Delták beállítása az ütközésekhez" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Az A ablak megjelenítése" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "A B ablak megjelenítése" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "A C ablak megjelenítése" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Fókusz a következÅ‘ ablakra" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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 "Fókusz az elÅ‘zÅ‘ ablakra" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "A megosztás irányának megváltoztatása" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Osztott nézet (könyvtár és szöveg)" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Váltás a könyvtár- és szöveges nézet között" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Kész." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Az összeolvasztás eredménye még nincs elmentve." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Mentés és kilépés" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Kilépés mentés nélkül" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Az összeolvasztás eredményét nem sikerült elmenteni." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "A fájl mentése..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "A fájl elmentése más néven..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Kilépés..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Az eszköztár átkapcsolása..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Az állapotsor átkapcsolása..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "A keresett szöveg:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Nagybetűérzékeny" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "A keresése" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "B keresése" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "C keresése" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "A keresés kimenete" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Keresés" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Nem található összehasonlítható fájlpár." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1045,64 +1120,95 @@ "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:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Szöveges eszköz diff készítéséhez és összeolvasztáshoz" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Összeolvasztás a bemenettel." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." -msgstr "" +msgstr "Az alapfájl explicit kijelölése. Kompatibilitási célokat szolgál." -#: main.cpp:35 +#: main.cpp:39 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:36 +#: main.cpp:40 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:37 +#: main.cpp:41 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:38 +#: main.cpp:42 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:39 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +#, 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:41 +#: main.cpp:44 +#, 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 +#, 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 +#, 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 +#, 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:43 +#: main.cpp:52 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:44 +#: main.cpp:53 msgid "file2 to open" msgstr "a megnyitandó fájl (2)" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "a megnyitandó fájl (3)" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1110,55 +1216,55 @@ "A kimenet megváltozott.\n" "Ha továbblép, a módosítások elvesznek." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Az összes bemeneti fájl megegyezik (bináris módban)." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Az összes bemeneti fájl megegyezik (szöveges módban)." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "A és B fájl binárisan megegyezik.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "A és B szövege megegyezik.\n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "A és C fájl binárisan megegyezik.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "A és C szövege megegyezik. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "B és C binárisan megegyezik.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "B és C szövege megegyezik.\n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Az ütközések száma: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1166,7 +1272,7 @@ "\n" "Az automatikusan feloldott ütközések száma: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1174,33 +1280,39 @@ "\n" "A fel nem oldott ütközések száma: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Ütközések" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "<Összeolvasztási ütközés>" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Módosítva]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" msgstr "" +"Még nincs feloldva az összes ütközés.\n" +"A fájl nem lesz elmentve.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" -msgstr "" +msgstr "Megmaradt ütközések" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1210,300 +1322,361 @@ "\n" "A fájl nem lett elmentve." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Fájlmentési hiba" -#: mergeresultwindow.cpp:1987 +#: 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:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Hiba történt írás közben." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "A szerkesztÅ‘ és a diff-kimenet betűtípusa" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" -msgstr "DÅ‘lt betűk a deltáknál" +msgstr "DÅ‘lt betűk az eltéréseknél" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 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:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Szín" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" -msgstr "" +msgstr "A szerkesztÅ‘ és a diff-kimenet színei" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "ElÅ‘térszín:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Háttérszín:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "A diff szöveg háttérszíne:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "A szín:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "B szín:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "C szín:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" -msgstr "" +msgstr "Ütközési szín:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" -msgstr "" +msgstr "A jelenlegi tartomány háttérszíne:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" -msgstr "" +msgstr "A jelenlegi tartomány diff-jének háttérszíne:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "SzerkesztÅ‘" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "A szerkesztÅ‘ működési jellemzÅ‘i" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" -msgstr "" +msgstr "A Tab billentyű szóközöket szúrjon be" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." msgstr "" +"Ha be van jelölve: a Tab lenyomásakor a megadott számú szóköz kerül a " +"szövegbe.\n" +"Ha nincs bejelölve: a Tab lenyomásakor Tab karakter kerül a szövegbe.." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" -msgstr "Tabulátor-méret:" +msgstr "Tabulátorméret:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" -msgstr "Automatikus behúzás" +msgstr "A behúzás megÅ‘rzése" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" -msgstr "A kijelölt adatok automatikus kimásolása" +msgstr "A kijelölt adatok automatikus kimásolása a vágólapra" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 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:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +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 "A helyi kódolás használata" -#: optiondialog.cpp:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: optiondialog.cpp:490 +#, 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Diff és összeolvasztás" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "A diff és az összeolvasztás beállításai" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" -msgstr "A CR (kocsivissza) karakter megÅ‘rzése" +msgstr "A CR (kocsivissza) karakterek megÅ‘rzése" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 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:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "A számok figyelmen kívül hagyása" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "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" +"Néha szükség lehet erre az opcióra számadatokat tartalmazó fájlok " +"összehasonlításánál." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "A C/C++-megjegyzések figyelmen kívül hagyása" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "A C/C++-megjegyzések üres helynek tekintése." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Konvertálás nagybetűkre" +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "A számok figyelmen kívül hagyása" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "ElÅ‘feldolgozási parancs:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 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:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Sorösszehasonlítási elÅ‘parancs:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" msgstr "" +"Ezt a parancsot sorillesztésnél használja a program.\n" +"(A részletek a dokumentációban találhatók.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Alaposabb próbálkozás (lassabb)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." msgstr "" +"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:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Automatikus léptetési késleltetés (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" -msgstr "" +msgstr "Üres karakterek 2 fájl összeolvasztásánál (alapértelmezés):" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Kézi választás" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "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:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" -msgstr "" +msgstr "Üres karakterek 2 fájl összeolvasztásánál (alapértelmezés):" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Könyvtárösszeolvasztás" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" -msgstr "Rekurzív könyvtárak" +msgstr "Az alkönyvtárakban is" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 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:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Fájlminták:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"Az ellenÅ‘rzendÅ‘ fájlok mintája. \n" +"Használható illesztési karakterek: '*' és '?'\n" +"Több minta is megadható pontosvesszÅ‘vel elválasztva." -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Kizáró fájlminták:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"A műveletbÅ‘l kizárni kívánt fájlok mintája. \n" +"Használható illesztési karakterek: '*' és '?'\n" +"Több minta is megadható pontosvesszÅ‘vel elválasztva." -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Kizáró könyvtárminták:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" +"A műveletbÅ‘l kizárni kívánt könyvtárak mintája. \n" +"Használható illesztési karakterek: '*' és '?'\n" +"Több minta is megadható pontosvesszÅ‘vel elválasztva." -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "A .cvsignore használata" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" -msgstr "" +msgstr "A keresések a rejtett fájlokra és könyvtárakra is terjedjenek ki" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." -msgstr "" +msgstr "A keresések terjedjenek ki a rejtett fájlokra és könyvtárakra is." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 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:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "A fájllinkek követése" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1511,79 +1684,140 @@ "Be: összehasonlítás a link által mutatott fájllal.\n" "Ki: a linkek összehasonlítása." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" -msgstr "" +msgstr "A linkek követése" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 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 nincs bejelölve: maguk a linkek lesznek összehasonlítva." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" -msgstr "Csak a delták kilistázása" +msgstr "Csak az eltérések jelenjenek meg" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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 +msgid "File Comparison Mode" msgstr "" -#: optiondialog.cpp:576 -msgid "Trust the modification date (unsafe)" +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "A könyvtárak összehasonlítási állapota" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" msgstr "" -#: optiondialog.cpp:578 +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 +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 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" +"Nagy könyvtárak vagy lassú hálózat esetén lehet erre szükség." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" -msgstr "A méret valósnak feltételezése (nem biztonságos)" +msgstr "A méret valósnak feltételezése (nem megbízható!)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" -msgstr "Könyvtárak szinkronizálása" +msgstr "A könyvtárak szinkronizálása" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 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 "" +"A program másolja át a fájlokat mindkét könyvtárba - ilyenkor\n" +"ö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:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" -msgstr "Az újabb másolása összeolvasztás helyett (nem biztonságos)." +msgstr "Az újabb másolása összeolvasztás helyett (nem megbízható!)." -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 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" +"Az opciónak csak két könyvtár összehasonlításakor van hatása." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Biztonsági mentések (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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" +"legyen átnevezve '.orig' kiterjesztéssel (törlés helyett)." -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1592,138 +1826,167 @@ "\n" "Do you want to continue or do you want to select another font." msgstr "" +"Változó szélességű betűket tartalmazó betűtípust választott.\n" +"\n" +"Ez a program nem kezeli helyesen a változó szélességű betűket,\n" +"ezért különféle szerkesztési problémák léphetnek fel.\n" +"\n" +"Tovább szeretne lépni vagy inkább más betűtípust választ?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Nem kompatibilis betűtípus" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Folytatás (kockázatos)" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Válasszon egy másik betűtípust" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +#, fuzzy +msgid "PreprocessorCmd: " +msgstr "ElÅ‘feldolgozási parancs:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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 "" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "A betöltése" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "B betöltése" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Diff: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Sordiff: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "C betöltése" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Diff: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Diff: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Linediff: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Linediff: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 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éhány bemeneti fáj bináris fájlnak tűnik.\n" +"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:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (alap):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Fájl..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Könyvtár..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (opcionális):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Kimenet (opcionális):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Beállítás..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Félbeszakítás" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Fájlok megnyitása..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Fájlmegnyitási hiba" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "A kijelölt adatok kivágása..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "A kijelölt adatok másolása a vágólapra..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "A vágólap tartalmának beillesztése..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Mentés és folytatás" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Folytatás mentés nélkül" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "A keresés befejezÅ‘dött." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "A keresés befejezÅ‘dött" @@ -1752,9 +2015,42 @@ msgstr "Mozg&atás" #: rc.cpp:9 +#, fuzzy +msgid "D&iffview" +msgstr "KDiff3" + +#: rc.cpp:10 msgid "&Merge" msgstr "Össze&olvasztás" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Ablak" + +#, fuzzy +#~ msgid "Error writing temporary file: %1" +#~ msgstr "Fájl írása: %1" + +#~ 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')" +#~ msgstr "A kisbetűk nagybetűkké alakítása olvasáskor (pl. 'a' -> 'A')" + +#, fuzzy +#~ msgid "Convert to upper case\n" +#~ msgstr "Konvertálás nagybetűkre" + +#~ 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 "" +#~ "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." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/it.po --- a/kdiff3/po/it.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/it.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,275 +1,329 @@ -# translation of kdiff3.po to Italian -# Copyright (C) 2003 Free Software Foundation, Inc. +# translation of kdiff3.po to Italian. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Stelvio Rosset , 2003. # Andrea Celli , 2003. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-28 22:21+0100\n" -"Last-Translator: Andrea Celli \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 \n" "Language-Team: Italian \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" +"X-Generator: KBabel 0.9.5\n" #: _translatorinfo.cpp:1 msgid "" "_: NAME OF TRANSLATORS\n" "Your names" -msgstr "Andrea Celli" +msgstr "" #: _translatorinfo.cpp:3 msgid "" "_: EMAIL OF TRANSLATORS\n" "Your emails" -msgstr "a.celli@caltanet.it" - -#: diff.cpp:472 +msgstr "" + +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 msgid "From Clipboard" -msgstr "Dagli appunti" - -#: diff.cpp:1098 diff.cpp:1112 +msgstr "" + +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" msgstr "" -"Errore: perdita dati\n" -"Se è riproducibile, ti prego di segnalarlo all'autore.\n" - -#: diff.cpp:1100 diff.cpp:1114 + +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" -msgstr "Grave errore interno" - -#: difftextwindow.cpp:789 +msgstr "" + +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" -msgstr "Prima riga %1" - -#: difftextwindow.cpp:791 +msgid "Top line %1" +msgstr "" + +#: difftextwindow.cpp:831 msgid "End" -msgstr "Fine" - -#: directorymergewindow.cpp:113 +msgstr "" + +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." -msgstr "Collegamenti e file normali insieme." - -#: directorymergewindow.cpp:120 +msgstr "" + +#: directorymergewindow.cpp:121 msgid "Link: " -msgstr " Collegamento:" - -#: directorymergewindow.cpp:128 +msgstr "" + +#: directorymergewindow.cpp:129 msgid "Size. " -msgstr " Dimensione. " - -#: directorymergewindow.cpp:141 +msgstr "" + +#: directorymergewindow.cpp:142 msgid "Date & Size: " -msgstr "Data e dimensione " - -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +msgstr "" + +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." -msgstr "Non ho potuto creare una copia temporanea di %1." - -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +msgstr "" + +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." -msgstr "Non ho potuto aprire %1." - -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +msgstr "" + +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Confronta 2 file:" + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" -msgstr "Errore nella lettura di %1" - -#: directorymergewindow.cpp:243 +msgstr "" + +#: directorymergewindow.cpp:252 msgid "Name" -msgstr "Nome" - -#: directorymergewindow.cpp:247 +msgstr "" + +#: directorymergewindow.cpp:256 +#, fuzzy msgid "Operation" -msgstr "Operazione" - -#: directorymergewindow.cpp:248 +msgstr "Opzioni" + +#: directorymergewindow.cpp:257 msgid "Status" -msgstr "Stato" - -#: directorymergewindow.cpp:271 +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 "" -"Stai fondendo delle cartelle. Sei sicuro? Vuoi interrompere la fusione e " -"riesaminare la cartella?" - -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 + +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" -msgstr "Riesaminare" - -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +msgstr "" + +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" -msgstr "Continuare la fusione" - -#: directorymergewindow.cpp:380 +msgstr "" + +#: directorymergewindow.cpp:421 +#, fuzzy msgid "Opening of directories failed:" -msgstr "Apertura di cartelle non riuscita:" - -#: directorymergewindow.cpp:383 +msgstr "Compara/Fondi due directory:" + +#: directorymergewindow.cpp:424 +#, fuzzy msgid "" "Dir A \"%1\" does not exist or is not a directory.\n" -msgstr "" -"Dir A \"%1\" non esiste o non è una cartella.\n" - -#: directorymergewindow.cpp:386 +msgstr "Nero: Questo elemento non esiste in questa directory." + +#: directorymergewindow.cpp:427 +#, fuzzy msgid "" "Dir B \"%1\" does not exist or is not a directory.\n" -msgstr "" -"Dir B \"%1\" non esiste o non è una cartella.\n" - -#: directorymergewindow.cpp:389 +msgstr "Nero: Questo elemento non esiste in questa directory." + +#: directorymergewindow.cpp:430 +#, fuzzy msgid "" "Dir C \"%1\" does not exist or is not a directory.\n" -msgstr "" -"Dir C \"%1\" non esiste o non è una cartella.\n" - -#: directorymergewindow.cpp:391 +msgstr "Nero: Questo elemento non esiste in questa directory." + +#: directorymergewindow.cpp:432 +#, fuzzy msgid "Directory Open Error" -msgstr "Errore nell'aprire la cartella" - -#: directorymergewindow.cpp:399 +msgstr "Fusione di directory " + +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" "Check again before continuing." msgstr "" -"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:401 + +#: directorymergewindow.cpp:442 msgid "Parameter Warning" -msgstr "Attenzione ai parametri" - -#: directorymergewindow.cpp:428 +msgstr "" + +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "directories" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" -msgstr "Lettura della cartella A in corso" - -#: directorymergewindow.cpp:450 +msgstr "" + +#: directorymergewindow.cpp:518 msgid "Reading Directory B" -msgstr "Lettura della cartella B in corso" - -#: directorymergewindow.cpp:472 +msgstr "" + +#: directorymergewindow.cpp:540 msgid "Reading Directory C" -msgstr "Lettura della cartella C in corso" - -#: directorymergewindow.cpp:498 +msgstr "" + +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" -msgstr "Alcune sotto-cartelle non erano leggibili" - -#: directorymergewindow.cpp:503 +msgstr "" + +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." -msgstr "Controlla i permessi per le sotto-cartelle." - -#: directorymergewindow.cpp:550 +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 +msgid "Ready." +msgstr "" + +#: directorymergewindow.cpp:619 +#, fuzzy msgid "Directory Comparison Status" -msgstr "Situazione del confronto di cartelle" - -#: directorymergewindow.cpp:551 +msgstr "Comparazione e fusione di directory con KDiff3" + +#: directorymergewindow.cpp:620 +#, fuzzy msgid "Number of subdirectories:" -msgstr "Numero di sotto-cartelle:" - -#: directorymergewindow.cpp:552 +msgstr "Compara/Fondi due directory:" + +#: directorymergewindow.cpp:621 msgid "Number of equal files:" -msgstr "Numero di file uguali:" - -#: directorymergewindow.cpp:553 +msgstr "" + +#: directorymergewindow.cpp:622 msgid "Number of different files:" -msgstr "Numero di file differenti:" - -#: directorymergewindow.cpp:556 +msgstr "" + +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" -msgstr "Numero di fusioni manuali:" - -#: directorymergewindow.cpp:684 +msgstr "" + +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." -msgstr "Questo riguarda tutte le operazioni di fusione." - -#: directorymergewindow.cpp:685 +msgstr "" + +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" -msgstr "Modifica di tutte le operazioni di fusione" - -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +msgstr "" + +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" -msgstr "C&ontinua" - -#: directorymergewindow.cpp:952 +msgstr "" + +#: directorymergewindow.cpp:1057 msgid "Processing " -msgstr "Sto elaborando" - -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +msgstr "" + +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." -msgstr "Da fare." - -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +msgstr "" + +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" -msgstr "Copia A su B" - -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +msgstr "" + +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" -msgstr "Copia B su A" - -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +msgstr "" + +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" -msgstr "Elimina A" - -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +msgstr "" + +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" -msgstr "Elimina B" - -#: directorymergewindow.cpp:1338 +msgstr "" + +#: directorymergewindow.cpp:1476 msgid "Delete A & B" -msgstr "Elimina A e B" - -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +msgstr "" + +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" -msgstr "Fondi con A" - -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +msgstr "" + +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" -msgstr "Fondi con B" - -#: directorymergewindow.cpp:1341 +msgstr "" + +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" -msgstr "Fondi A e B" - -#: directorymergewindow.cpp:1345 +msgstr "" + +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" -msgstr "Elimina (se esiste)" - -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +msgstr "" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 +#, fuzzy msgid "Merge" -msgstr "Fondi" - -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +msgstr "merge" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" -msgstr "Unisci(manualmente)" - -#: directorymergewindow.cpp:1348 +msgstr "" + +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" -msgstr "Errore: Tipi di file incompatibili" - -#: directorymergewindow.cpp:1349 +msgstr "" + +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." -msgstr "Errore: le date coincidono ma i file sono diversi." - -#: directorymergewindow.cpp:1373 +msgstr "" + +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." -msgstr "Questa operazione per ora non è implementata." - -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +msgstr "" + +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" -msgstr "Operazione non effettuabile" - -#: directorymergewindow.cpp:1416 +msgstr "" + +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -277,48 +331,42 @@ "\n" "If you know how to reproduce this, please contact the program author." msgstr "" -"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:1416 + +#: directorymergewindow.cpp:1554 msgid "Program Error" -msgstr "Errore nel programma" - -#: directorymergewindow.cpp:1427 +msgstr "" + +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" -"Si è verificato un errore durante la copia.\n" - -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 + +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" -msgstr "Errore nella fusione" - -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +msgstr "" + +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." -msgstr "Errore." - -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +msgstr "" + +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." -msgstr "Fatto." - -#: directorymergewindow.cpp:1461 +msgstr "" + +#: directorymergewindow.cpp:1599 msgid "Not saved." -msgstr "Non salvato." - -#: directorymergewindow.cpp:1496 +msgstr "" + +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" -msgstr "Operazione di fusione sconosciuta. (Non deve mai succedere!) " - -#: directorymergewindow.cpp:1528 +msgstr "" + +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." -msgstr "Operazione di fusione sconosciuta." - -#: directorymergewindow.cpp:1543 +msgstr "" + +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -329,688 +377,691 @@ "Be aware that this program still has beta status and there is NO WARRANTY " "whatsoever! Make backups of your vital data!" msgstr "" -"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:1548 + +#: directorymergewindow.cpp:1686 +#, fuzzy msgid "Starting Merge" -msgstr "Inizio della fusione" - -#: directorymergewindow.cpp:1548 +msgstr "Avviare una fusione" + +#: directorymergewindow.cpp:1686 msgid "Do It" -msgstr "Procedi" - -#: directorymergewindow.cpp:1548 +msgstr "" + +#: directorymergewindow.cpp:1686 msgid "Simulate It" -msgstr "Simulazione" - -#: directorymergewindow.cpp:1574 +msgstr "" + +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." msgstr "" -"Gli elementi evidenziati sono di tipo diverso nelle diverse cartelle. Scegli " -"cosa fare." - -#: directorymergewindow.cpp:1583 + +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." msgstr "" -"Le date di modifica dei file sono uguali ma i file sono diversi. Scegli cosa " -"fare." - -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." -msgstr "" -"Non si può effettuare questa operazione poiché è in corso una fusione di " -"directory." - -#: directorymergewindow.cpp:1692 + +#: directorymergewindow.cpp:1778 +msgid "" +"This operation is currently not possible because directory merge is " +"currently running." +msgstr "" + +#: directorymergewindow.cpp:1838 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 "" -"Si è verificato un errore nell'ultimo passaggio.\n" -"Vuoi continuare con l'elemento che ha provocato l'errore o vuoi saltarlo?" - -#: directorymergewindow.cpp:1694 + +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" -msgstr "Continua fusione dopo errore" - -#: directorymergewindow.cpp:1694 +msgstr "" + +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" -msgstr "Continua con il prossimo elemento" - -#: directorymergewindow.cpp:1694 +msgstr "" + +#: directorymergewindow.cpp:1840 msgid "Skip Item" -msgstr "Salta l'elemento" - -#: directorymergewindow.cpp:1730 +msgstr "" + +#: directorymergewindow.cpp:1874 msgid "Skipped." -msgstr "Saltato." - -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +msgstr "" + +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." -msgstr "In esecuzione..." - -#: directorymergewindow.cpp:1785 +msgstr "" + +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." -msgstr "Operazione di fusione completata." - -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +msgstr "" + +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" -msgstr "Fusione completata" - -#: directorymergewindow.cpp:1797 +msgstr "" + +#: directorymergewindow.cpp:1941 msgid "Simulated merge complete: Check if you agree with the proposed operations." -msgstr "Terminata fusione simulata: Ti soddisfano le operazioni proposte?" - -#: directorymergewindow.cpp:1833 +msgstr "" + +#: directorymergewindow.cpp:1977 msgid "" "An error occurred. Press OK to see detailed information.\n" msgstr "" -"Si è verificato un errore. Premi OK per informazioni dettagliate.\n" - -#: directorymergewindow.cpp:1876 + +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." -msgstr "Errore: nell'eliminare %1: non ho potuto creare un backup." - -#: directorymergewindow.cpp:1883 +msgstr "" + +#: directorymergewindow.cpp:2027 +#, fuzzy msgid "delete directory recursively( %1 )" -msgstr "eliminare directory ricorsivamente ( %1 )" - -#: directorymergewindow.cpp:1885 +msgstr "Seleziona se ricercare le directory ricorsivamente." + +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" -msgstr "Elimina ( %1 )" - -#: directorymergewindow.cpp:1900 +msgstr "" + +#: directorymergewindow.cpp:2044 msgid "Error: delete dir operation failed while trying to read the directory." -msgstr "Errore: non potendo leggere la directory la sua eliminazione non è riuscita." - -#: directorymergewindow.cpp:1919 +msgstr "" + +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." -msgstr "Errore: no è riuscita l'operazione rmdir( %1 )." - -#: directorymergewindow.cpp:1929 +msgstr "" + +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." -msgstr "Errore: operazione di eliminazione non riusctita." - -#: directorymergewindow.cpp:1955 +msgstr "" + +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" -msgstr "fusione manuale ( %1, %2,%3 -> %4)" - -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." -msgstr " Nota: Dopo una fusione manuale l'utente deve dare F7 per continuare." - -#: directorymergewindow.cpp:1981 +msgstr "" + +#: directorymergewindow.cpp:2102 +msgid " Note: After a manual merge the user should continue by pressing F7." +msgstr "" + +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "" -"Errore: copia da %1 a %2 non riuscita. Non ho potuto eliminare la " -"destinazione (esistente)." - -#: directorymergewindow.cpp:1991 + +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" -msgstr "copyLink( %1 -> %2 )" - -#: directorymergewindow.cpp:2002 +msgstr "" + +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." -msgstr "Errore: copyLink impossibile: i link remoti non sono ancora supportati." - -#: directorymergewindow.cpp:2008 +msgstr "" + +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." -msgstr "Errore: copyLink non riuscito." - -#: directorymergewindow.cpp:2028 +msgstr "" + +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" -msgstr "copia( %1 -> %2 )" - -#: directorymergewindow.cpp:2054 +msgstr "" + +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "" -"Errore nel cambio nome ( %1 -> %2): Impossibile eliminare la destinazione " -"già esistente." - -#: directorymergewindow.cpp:2060 + +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" -msgstr "cambio nome( %1 -> %2 )" - -#: directorymergewindow.cpp:2069 +msgstr "" + +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." -msgstr "Errore: cambio nome non riuscito." - -#: directorymergewindow.cpp:2087 +msgstr "" + +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." -msgstr "Errore eseguendo makeDir di %1. Impossibile eliminare file esistente." - -#: directorymergewindow.cpp:2103 +msgstr "" + +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" -msgstr "makeDir( %1 )" - -#: directorymergewindow.cpp:2113 +msgstr "" + +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." -msgstr "Errore nel creare una directory." - -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +msgstr "" + +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" -msgstr "Dest" - -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +msgstr "" + +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" -msgstr "Dir" - -#: directorymergewindow.cpp:2145 +msgstr "" + +#: directorymergewindow.cpp:2285 msgid "Type" -msgstr "Tipo" - -#: directorymergewindow.cpp:2146 +msgstr "" + +#: directorymergewindow.cpp:2286 msgid "Size" -msgstr "Dimensione" - -#: directorymergewindow.cpp:2147 +msgstr "" + +#: directorymergewindow.cpp:2287 msgid "Attr" -msgstr "Attr" - -#: directorymergewindow.cpp:2148 +msgstr "" + +#: directorymergewindow.cpp:2288 +#, fuzzy msgid "Last Modification" -msgstr "Ultima modifica" - -#: directorymergewindow.cpp:2149 +msgstr "Basati sulla data di modifica:" + +#: directorymergewindow.cpp:2289 msgid "Link-Destination" -msgstr "Collegamento di destinazione" - -#: directorymergewindow.cpp:2190 +msgstr "" + +#: directorymergewindow.cpp:2330 msgid "not available" -msgstr "non disponibile" - -#: directorymergewindow.cpp:2210 +msgstr "" + +#: directorymergewindow.cpp:2350 msgid "A (Dest): " -msgstr "A (Dest): " - -#: directorymergewindow.cpp:2213 +msgstr "" + +#: directorymergewindow.cpp:2353 msgid "A (Base): " -msgstr "A (Base): " - -#: directorymergewindow.cpp:2219 +msgstr "" + +#: directorymergewindow.cpp:2359 msgid "B (Dest): " -msgstr "B (Dest): " - -#: directorymergewindow.cpp:2227 +msgstr "" + +#: directorymergewindow.cpp:2367 msgid "C (Dest): " -msgstr "C (Dest): " - -#: directorymergewindow.cpp:2233 +msgstr "" + +#: directorymergewindow.cpp:2373 msgid "Dest: " -msgstr "Dest: " - -#: directorymergewindow.cpp:2258 +msgstr "" + +#: directorymergewindow.cpp:2398 +#, fuzzy msgid "Start/Continue Directory Merge" -msgstr "Avvia/continua fusione directory" - -#: directorymergewindow.cpp:2259 +msgstr "Avviare la comparazione o la fusione di directory" + +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" -msgstr "Esegui operazione per questa voce" - -#: directorymergewindow.cpp:2260 +msgstr "" + +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" -msgstr "Confronta file selezionati" - -#: directorymergewindow.cpp:2261 +msgstr "" + +#: directorymergewindow.cpp:2401 msgid "Merge Current File" -msgstr "Fondi il file attuale" - -#: directorymergewindow.cpp:2262 +msgstr "" + +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" -msgstr "Chiudi tutte le sottodirectory" - -#: directorymergewindow.cpp:2263 +msgstr "" + +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" -msgstr "Apri tutte le sottodirectory" - -#: directorymergewindow.cpp:2265 +msgstr "" + +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" -msgstr "Scegli A in tutti i casi" - -#: directorymergewindow.cpp:2266 +msgstr "" + +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" -msgstr "Scegli B in tutti i casi" - -#: directorymergewindow.cpp:2267 +msgstr "" + +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" -msgstr "Scegli C in tutti i casi" - -#: directorymergewindow.cpp:2268 +msgstr "" + +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" -msgstr "Scelta automatica in tutti i casi" - -#: directorymergewindow.cpp:2269 +msgstr "" + +#: directorymergewindow.cpp:2409 +#, fuzzy msgid "No Operation for All Items" -msgstr "Non fare nulla in tutti i casi" - -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +msgstr "La colonna dell'operazione" + +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" -msgstr "Non fare nulla" - -#: directorymergewindow.cpp:2272 +msgstr "" + +#: directorymergewindow.cpp:2412 msgid "A" -msgstr "A" - -#: directorymergewindow.cpp:2273 +msgstr "" + +#: directorymergewindow.cpp:2413 msgid "B" -msgstr "B" - -#: directorymergewindow.cpp:2274 +msgstr "" + +#: directorymergewindow.cpp:2414 msgid "C" -msgstr "C" - -#: directorymergewindow.cpp:2276 +msgstr "" + +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" -msgstr "Elimina (se esiste)" - -#: directorymergewindow.cpp:2283 +msgstr "" + +#: directorymergewindow.cpp:2423 msgid "Delete A and B" -msgstr "Elimina A e B" - -#: directorymergewindow.cpp:2286 +msgstr "" + +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" -msgstr "Fondi A e B" - -#: fileaccess.cpp:535 +msgstr "" + +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " msgstr "" -"Nel creare un nuovo backup, non è riuscita l'eliminazione di uno " -"precedente.\n" -"Nome del file: " - -#: fileaccess.cpp:542 + +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " msgstr "" -"Nel creare un backup, non è riuscito un cambio di nome.\n" -"Nome del file: " - -#: fileaccess.cpp:564 + +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" -msgstr "Cerco informazioni su stato file: %1" - -#: fileaccess.cpp:606 -#, c-format +msgstr "" + +#: fileaccess.cpp:612 +#, fuzzy, c-format msgid "Reading file: %1" -msgstr "Lettura file: %1" - -#: fileaccess.cpp:642 -#, c-format +msgstr "Fondi 2 file:" + +#: fileaccess.cpp:648 +#, fuzzy, c-format msgid "Writing file: %1" -msgstr "Scrittura file: %1" - -#: fileaccess.cpp:670 +msgstr "Fondi 2 file:" + +#: fileaccess.cpp:676 msgid "Out of memory" -msgstr "Memoria esaurita" - -#: fileaccess.cpp:705 +msgstr "" + +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" -msgstr "Creazione directory: %1" - -#: fileaccess.cpp:725 +msgstr "" + +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" -msgstr "Rimozione directory: %1" - -#: fileaccess.cpp:740 -#, c-format +msgstr "" + +#: fileaccess.cpp:746 +#, fuzzy, c-format msgid "Removing file: %1" -msgstr "Rimozione file: %1" - -#: fileaccess.cpp:756 +msgstr "Fondi 2 file:" + +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" -msgstr "Creazione link simbolico: %1 -> %2" - -#: fileaccess.cpp:782 +msgstr "" + +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" -msgstr "Cambiamento nome file: %1 -> %2" - -#: fileaccess.cpp:817 +msgstr "" + +#: fileaccess.cpp:824 +#, fuzzy msgid "Copying file: %1 -> %2" -msgstr "Copia del file: %1 -> %2" - -#: fileaccess.cpp:831 +msgstr "Compara 3 file:" + +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " "%1" -msgstr "Errore nel copiare un file: Non riuscita l'apertura del file %1 in lettura." - -#: fileaccess.cpp:837 +msgstr "" + +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " "%1" -msgstr "Errore nel copiare un file: Non riuscita l'apertura del file %1 in scrittura." - -#: fileaccess.cpp:852 +msgstr "" + +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" -msgstr "Errore nel copiare un file: Lettura non riuscita. Nome del file %1" - -#: fileaccess.cpp:861 +msgstr "" + +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" -msgstr "Errore nel copiare un file: Scrittura non riuscita. Nome del file %1" - -#: fileaccess.cpp:1162 +msgstr "" + +#: fileaccess.cpp:1171 msgid "Reading directory: " -msgstr "Lettura directory:" - -#: fileaccess.cpp:1218 +msgstr "" + +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" -msgstr "Elencazione directory: %1" - -#: kdiff3.cpp:125 +msgstr "" + +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." -msgstr "Opzione --auto inserita, manca indicazione del file di output." - -#: kdiff3.cpp:223 +msgstr "" + +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." -msgstr "Opzione --auto ignorata nel confronto di directory." - -#: kdiff3.cpp:263 +msgstr "" + +#: kdiff3.cpp:277 +#, fuzzy msgid "Saving failed." -msgstr "Salvataggio non riuscito." - -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +msgstr "Salvataggio" + +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" -msgstr "Non è riuscita l'apertura di questi file:" - -#: kdiff3.cpp:296 +msgstr "" + +#: kdiff3.cpp:310 msgid "File Open Error" -msgstr "Errore nell'aprire file" - -#: kdiff3.cpp:315 +msgstr "" + +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." -msgstr "Apre documenti per confronto..." - -#: kdiff3.cpp:317 +msgstr "" + +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "" -"Salva il risultato della fusione. Tutti i conflitti devono essere stati " -"risolti!" - -#: kdiff3.cpp:319 + +#: kdiff3.cpp:333 msgid "Saves the current document as..." -msgstr "Salva questo documento con nome..." - -#: kdiff3.cpp:321 +msgstr "" + +#: kdiff3.cpp:335 msgid "Quits the application" -msgstr "Esce dall'applicazione" - -#: kdiff3.cpp:323 +msgstr "" + +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" -msgstr "Taglia la sezione selezionata e la mette negli appunti" - -#: kdiff3.cpp:325 +msgstr "" + +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" -msgstr "Copia la sezione selezionata negli appunti" - -#: kdiff3.cpp:327 +msgstr "" + +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" -msgstr "Incolla il contenuto degli appunti in questa posizione" - -#: kdiff3.cpp:329 +msgstr "" + +#: kdiff3.cpp:343 msgid "Search for a string" -msgstr "Cerca una stringa" - -#: kdiff3.cpp:331 +msgstr "" + +#: kdiff3.cpp:345 msgid "Search again for the string" -msgstr "Cerca di nuovo la stringa" - -#: kdiff3.cpp:333 +msgstr "" + +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" -msgstr "Mostra/nascondi la barra degli strumenti" - -#: kdiff3.cpp:335 +msgstr "" + +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" -msgstr "Mostra/nascondi la barra di stato" - -#: kdiff3.cpp:339 +msgstr "" + +#: kdiff3.cpp:353 msgid "Configure KDiff3..." -msgstr "Configura KDiff3..." - -#: kdiff3.cpp:359 +msgstr "" + +#: kdiff3.cpp:374 msgid "Go to Current Delta" -msgstr "Vai alla differenza attuale" - -#: kdiff3.cpp:360 +msgstr "" + +#: kdiff3.cpp:375 msgid "Go to First Delta" -msgstr "Vai alla prima differenza" - -#: kdiff3.cpp:361 +msgstr "" + +#: kdiff3.cpp:376 msgid "Go to Last Delta" -msgstr "Vai all'ultima differenza" - -#: kdiff3.cpp:362 +msgstr "" + +#: kdiff3.cpp:377 msgid "Go to Previous Delta" -msgstr "Vai alla differenza precedente" - -#: kdiff3.cpp:363 +msgstr "" + +#: kdiff3.cpp:378 msgid "Go to Next Delta" -msgstr "Vai alla differenza successiva" - -#: kdiff3.cpp:364 +msgstr "" + +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" -msgstr "Vai al conflitto precedente" - -#: kdiff3.cpp:365 +msgstr "" + +#: kdiff3.cpp:380 msgid "Go to Next Conflict" -msgstr "Vai al conflitto successivo" - -#: kdiff3.cpp:366 +msgstr "" + +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" -msgstr "Vai al precedente conflitto non risolto." - -#: kdiff3.cpp:367 +msgstr "" + +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" -msgstr "Vai al successivo conflitto non risolto." - -#: kdiff3.cpp:368 +msgstr "" + +#: kdiff3.cpp:383 msgid "Select Line(s) From A" -msgstr "Scegli righe da A" - -#: kdiff3.cpp:369 +msgstr "" + +#: kdiff3.cpp:384 msgid "Select Line(s) From B" -msgstr "Scegli righe da B" - -#: kdiff3.cpp:370 +msgstr "" + +#: kdiff3.cpp:385 msgid "Select Line(s) From C" -msgstr "Scegli righe da C" - -#: kdiff3.cpp:371 +msgstr "" + +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "" -"Vai automaticamente al prossimo conflitto non risolto dopo aver selezionato " -"la fonte" - -#: kdiff3.cpp:373 + +#: kdiff3.cpp:388 +#, fuzzy msgid "Show Space && Tabulator Characters for Differences" -msgstr "Mostra anche le differenze date da spazi e tabulazioni" - -#: kdiff3.cpp:374 +msgstr "Mostra anche le differenze date da spazi e tabulatori:" + +#: kdiff3.cpp:389 +#, fuzzy msgid "Show White Space" -msgstr "Mostra spazi bianchi" - -#: kdiff3.cpp:376 +msgstr "Mostra spazio bianco:" + +#: kdiff3.cpp:391 +#, fuzzy msgid "Show Line Numbers" -msgstr "Mostra numeri riga" - -#: kdiff3.cpp:377 +msgstr "Mostra i numeri di riga:" + +#: kdiff3.cpp:392 msgid "Choose A Everywhere" -msgstr "Scegli sempre A" - -#: kdiff3.cpp:378 +msgstr "" + +#: kdiff3.cpp:393 msgid "Choose B Everywhere" -msgstr "Scegli sempre B" - -#: kdiff3.cpp:379 +msgstr "" + +#: kdiff3.cpp:394 msgid "Choose C Everywhere" -msgstr "Scegli sempre C" - -#: kdiff3.cpp:380 +msgstr "" + +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" -msgstr "Scegli A per tutti i conflitti non risolti" - -#: kdiff3.cpp:381 +msgstr "" + +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" -msgstr "Scegli B per tutti i conflitti non risolti" - -#: kdiff3.cpp:382 +msgstr "" + +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" -msgstr "Scegli C per tutti i conflitti non risolti" - -#: kdiff3.cpp:383 +msgstr "" + +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" -msgstr "Scegli A per risolvere tutti i conflitti di \"spazi bianchi\"" - -#: kdiff3.cpp:384 +msgstr "" + +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" -msgstr "Scegli B per risolvere tutti i conflitti di \"spazi bianchi\"" - -#: kdiff3.cpp:385 +msgstr "" + +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" -msgstr "Scegli C per risolvere tutti i conflitti di \"spazi bianchi\"" - -#: kdiff3.cpp:386 +msgstr "" + +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" -msgstr "Risolvi automaticamente i conflitti semplici" - -#: kdiff3.cpp:387 +msgstr "" + +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" -msgstr "Considera le differenze come conflitti" - -#: kdiff3.cpp:389 +msgstr "" + +#: kdiff3.cpp:404 +#, fuzzy msgid "Show Window A" -msgstr "Mostra finestra A" - -#: kdiff3.cpp:390 +msgstr "Mostra finestra A/B/C:" + +#: kdiff3.cpp:405 +#, fuzzy msgid "Show Window B" -msgstr "Mostra finestra B" - -#: kdiff3.cpp:391 +msgstr "Mostra finestra A/B/C:" + +#: kdiff3.cpp:406 +#, fuzzy msgid "Show Window C" -msgstr "Mostra finestra C" - -#: kdiff3.cpp:392 kdiff3.cpp:394 +msgstr "Mostra finestra A/B/C:" + +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" -msgstr "Attiva finestra succ." - -#: kdiff3.cpp:396 +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 "Attiva finestra prec." - -#: kdiff3.cpp:397 +msgstr "" + +#: kdiff3.cpp:419 +#, fuzzy msgid "Toggle Split Orientation" -msgstr "Inverti orientamento divisione" - -#: kdiff3.cpp:399 +msgstr "Inverti orientamento divisione:" + +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" -msgstr "Separa visione di testi e directory" - -#: kdiff3.cpp:401 +msgstr "" + +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" -msgstr "Commuta tra visualizzazione di testi e di directory" - -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Pronto." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +msgstr "" + +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." -msgstr "Il risultato della fusione non è stato salvato." - -#: kdiff3.cpp:484 +msgstr "" + +#: kdiff3.cpp:505 msgid "Save && Quit" -msgstr "Salva e esci" - -#: kdiff3.cpp:484 +msgstr "" + +#: kdiff3.cpp:505 msgid "Quit Without Saving" -msgstr "Esci senza salvare" - -#: kdiff3.cpp:492 pdiff.cpp:1704 +msgstr "" + +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." -msgstr "Non è riuscito il salvataggio della fusione." - -#: kdiff3.cpp:503 pdiff.cpp:1185 +msgstr "" + +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +msgstr "" + +#: kdiff3.cpp:547 +#, fuzzy msgid "Saving file..." -msgstr "Salvataggio file..." - -#: kdiff3.cpp:542 +msgstr "Salvataggio" + +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." -msgstr "Salvataggio file con nuovo nome..." - -#: kdiff3.cpp:566 +msgstr "" + +#: kdiff3.cpp:587 msgid "Exiting..." -msgstr "Uscita..." - -#: kdiff3.cpp:578 +msgstr "" + +#: kdiff3.cpp:599 msgid "Toggling toolbar..." -msgstr "(dis)attiva barra degli strumenti..." - -#: kdiff3.cpp:598 +msgstr "" + +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." -msgstr "(dis)attiva la barra di stato..." - -#: kdiff3.cpp:638 +msgstr "" + +#: kdiff3.cpp:659 msgid "Searchtext:" -msgstr "Testo da cercare:" - -#: kdiff3.cpp:645 +msgstr "" + +#: kdiff3.cpp:666 msgid "Case sensitive" -msgstr "Maiuscole/minuscole" - -#: kdiff3.cpp:648 +msgstr "" + +#: kdiff3.cpp:669 msgid "Search A" -msgstr "Cerca in A" - -#: kdiff3.cpp:653 +msgstr "" + +#: kdiff3.cpp:674 msgid "Search B" -msgstr "Cerca in B" - -#: kdiff3.cpp:658 +msgstr "" + +#: kdiff3.cpp:679 msgid "Search C" -msgstr "Cerca in C" - -#: kdiff3.cpp:663 +msgstr "" + +#: kdiff3.cpp:684 msgid "Search output" -msgstr "Cerca nell'output" - -#: kdiff3.cpp:668 +msgstr "" + +#: kdiff3.cpp:689 msgid "&Search" -msgstr "&Cerca" - -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +msgstr "" + +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." -msgstr "Non trovo i file da confrontare." - -#: kdiff3_part.cpp:263 +msgstr "" + +#: kdiff3_part.cpp:266 msgid "KDiff3Part" -msgstr "KDiff3Part" +msgstr "" #: kdiff3_shell.cpp:63 msgid "" @@ -1018,594 +1069,652 @@ "This usually happens due to an installation problem. Please read the " "README-file in the source package for details." 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:26 + +#: main.cpp:30 msgid "Text Diff and Merge Tool" -msgstr "Strumento per confrontare e fondere testi" - -#: main.cpp:31 +msgstr "" + +#: main.cpp:35 msgid "Merge the input." -msgstr "Fondi l'input." - -#: main.cpp:33 +msgstr "" + +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." -msgstr "File di base esplicito. Per compatibilità con certi programmi." - -#: main.cpp:35 +msgstr "" + +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" -msgstr "File di output. Implica -m. Ad es.: -o nuovo_file.txt" - -#: main.cpp:36 +msgstr "" + +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" -msgstr "File di output, ancora. (Per compatibilità con certi programmi)" - -#: main.cpp:37 +msgstr "" + +#: main.cpp:41 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" -msgstr "Senza GUI se ogni conflitto è risolubile in automatico. (Serve -o file)" - -#: main.cpp:38 +msgstr "" + +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" -msgstr "Non risolvere i conflitti automaticamente. (Per compatibilità...)" - -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Mostra sostituzione nome. Da specificare per ogni input." - -#: main.cpp:41 +msgstr "" + +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "" + +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "" + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "" + +#: main.cpp:47 +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 "Per compatibilità con certi programmi." - -#: main.cpp:43 +msgstr "" + +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" -msgstr "file1 da aprire (base, se specificato con l'opzione --base)" - -#: main.cpp:44 +msgstr "" + +#: main.cpp:53 msgid "file2 to open" -msgstr "file2 da aprire " - -#: main.cpp:45 +msgstr "" + +#: main.cpp:54 msgid "file3 to open" -msgstr "file3 da aprire " - -#: main.cpp:98 rc.cpp:3 +msgstr "" + +#: main.cpp:108 rc.cpp:3 +#, fuzzy msgid "KDiff3" -msgstr "KDiff3" - -#: mergeresultwindow.cpp:249 +msgstr "kdiff3" + +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." msgstr "" -"L'ouput è stato modificato.\n" -"Se continui le modifiche andranno perse." - -#: mergeresultwindow.cpp:667 pdiff.cpp:585 + +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." -msgstr "Tutti i file in input sono uguali a livello binario." - -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +msgstr "" + +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." -msgstr "Tutti i file in input contengono lo stesso testo." - -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +msgstr "" + +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" -"I file A e B sono uguali a livello binario.\n" - -#: mergeresultwindow.cpp:672 pdiff.cpp:590 + +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" -"I file A e B contengono lo stesso testo.\n" - -#: mergeresultwindow.cpp:673 pdiff.cpp:591 + +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" -"I file A e C sono uguali a livello binario.\n" - -#: mergeresultwindow.cpp:674 pdiff.cpp:592 + +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" -"I file A e C contengono lo stesso testo.\n" - -#: mergeresultwindow.cpp:675 pdiff.cpp:593 + +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" -"I file B e C sono uguali a livello binario.\n" - -#: mergeresultwindow.cpp:676 pdiff.cpp:594 + +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" -"I file B e C contengono lo stesso testo.\n" - -#: mergeresultwindow.cpp:679 + +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " -msgstr "Numero totale di conflitti: " - -#: mergeresultwindow.cpp:680 +msgstr "" + +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " msgstr "" -"\n" -"N. di conflitti risolti automaticamente: " - -#: mergeresultwindow.cpp:681 + +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " msgstr "" -"\n" -"N. di conflitti non risolti: " - -#: mergeresultwindow.cpp:683 + +#: mergeresultwindow.cpp:742 +#, fuzzy msgid "Conflicts" -msgstr "Conflitti" - -#: mergeresultwindow.cpp:1011 +msgstr "Colore per i conflitti:" + +#: mergeresultwindow.cpp:1081 msgid "" -msgstr "" - -#: mergeresultwindow.cpp:1018 +msgstr "" + +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" -msgstr "" - -#: mergeresultwindow.cpp:1082 +msgstr "" + +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" -msgstr "[Modificato]" - -#: mergeresultwindow.cpp:1957 +msgstr "" + +#: mergeresultwindow.cpp:2067 +#, fuzzy msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" msgstr "" -"Permangono dei conflitti non risolti.\n" -"Il file non verrà salvato.\n" - -#: mergeresultwindow.cpp:1959 +"Perché tutti i conflitti devono essere risolti prima salvare il risultato " +"della fusione?" + +#: mergeresultwindow.cpp:2069 +#, fuzzy msgid "Conflicts Left" -msgstr "Conflitti restanti" - -#: mergeresultwindow.cpp:1971 +msgstr "Colore per i conflitti:" + +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" "File not saved." msgstr "" -"\n" -"\n" -"File non salvato." - -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 + +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" -msgstr "Errore nel salvare il file" - -#: mergeresultwindow.cpp:1987 +msgstr "" + +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." -msgstr "Memoria esaurita mentre preparavo il salvataggio." - -#: mergeresultwindow.cpp:2033 +msgstr "" + +#: mergeresultwindow.cpp:2142 msgid "Error while writing." -msgstr "Errore di scrittura" - -#: optiondialog.cpp:236 +msgstr "" + +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" -msgstr "Font per l'editor e per l'output di diff" - -#: optiondialog.cpp:248 +msgstr "" + +#: optiondialog.cpp:342 +#, fuzzy msgid "Italic font for deltas" -msgstr "Metti in corsivo le differenze" - -#: optiondialog.cpp:251 +msgstr "Corsivo per le differenze:" + +#: optiondialog.cpp:345 +#, 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 "" -"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:259 +"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 +#, fuzzy msgid "Color" -msgstr "Colore" - -#: optiondialog.cpp:259 +msgstr "Colori" + +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" -msgstr "Colore per l'editor e per l'output di diff" - -#: optiondialog.cpp:273 +msgstr "" + +#: optiondialog.cpp:367 msgid "Foreground color:" -msgstr "Colore del testo:" - -#: optiondialog.cpp:279 +msgstr "Colore primo piano:" + +#: optiondialog.cpp:373 msgid "Background color:" -msgstr "Colore dello sfondo:" - -#: optiondialog.cpp:286 +msgstr "Colore di fondo:" + +#: optiondialog.cpp:380 +#, fuzzy msgid "Diff background color:" -msgstr "Colore dello sfondo per le differenze:" - -#: optiondialog.cpp:293 +msgstr "Colore di fondo per le differenze:" + +#: optiondialog.cpp:387 msgid "Color A:" -msgstr "Colore per A:" - -#: optiondialog.cpp:300 +msgstr "Colore A:" + +#: optiondialog.cpp:394 msgid "Color B:" -msgstr "Colore per B:" - -#: optiondialog.cpp:307 +msgstr "Colore B:" + +#: optiondialog.cpp:401 msgid "Color C:" -msgstr "Colore per C:" - -#: optiondialog.cpp:313 +msgstr "Colore C:" + +#: optiondialog.cpp:407 +#, fuzzy msgid "Conflict color:" -msgstr "Colore per conflitti:" - -#: optiondialog.cpp:320 +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:327 -msgid "Current range diff background color:" -msgstr "Colore differenze per questo intervallo:" - -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 +#, fuzzy msgid "Editor" -msgstr "Editor" - -#: optiondialog.cpp:338 +msgstr "editor" + +#: optiondialog.cpp:432 msgid "Editor Behaviour" -msgstr "Comportamento dell'editor" - -#: optiondialog.cpp:347 +msgstr "" + +#: optiondialog.cpp:441 +#, fuzzy msgid "Tab inserts spaces" -msgstr "I Tab inseriscono spazi" - -#: optiondialog.cpp:350 +msgstr "I Tab inseriscono spazi:" + +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." msgstr "" -"Attivo: premere Tab è come inserire un opportuno numero di spazi.\n" -"Non attivo: viene inserito un carattere Tab." - -#: optiondialog.cpp:356 + +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Dimensione di Tab:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 +#, fuzzy msgid "Auto indentation" -msgstr "Rientro automatico" - -#: optiondialog.cpp:364 +msgstr "Rientro automatico:" + +#: optiondialog.cpp:458 +#, fuzzy msgid "" "On: The indentation of the previous line is used for a new line.\n" msgstr "" -"Attivo: la nuova riga avrà lo stesso rientro della riga precedente.\n" - -#: optiondialog.cpp:368 +"Quando premi Invio o Return verrà utilizzata, per la nuova riga, " +"l'indentazione della linea precedente." + +#: optiondialog.cpp:462 +#, fuzzy msgid "Auto copy selection" -msgstr "Copia automaticamente la selezione" - -#: optiondialog.cpp:371 +msgstr "Copia automaticamente la selezione:" + +#: optiondialog.cpp:465 +#, fuzzy msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." msgstr "" -"Attivo: Ogni selezione è immediatamente copiata negli appunti.\n" -"Non attivo: Devi esplicitamente copiarla, ad es. con Ctrl-C." - -#: optiondialog.cpp:376 +"Ogni selezione è immediatamente copiata negli appunti quando attiva e non " +"sarà necessario esplicitare la copia." + +#: optiondialog.cpp:470 +msgid "Line End Style:" +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 +#, fuzzy msgid "Use locale encoding" -msgstr "Utilizza la codifica locale" - -#: optiondialog.cpp:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Cambialo se i caratteri non-ascii non vengono mostrati correttamente." - -#: optiondialog.cpp:389 +msgstr "Usa la codifica locale:" + +#: optiondialog.cpp:490 +msgid "Change this if non-ASCII characters are not displayed correctly." +msgstr "" + +#: optiondialog.cpp:500 +#, fuzzy msgid "Diff & Merge" -msgstr "Differenza e fusione" - -#: optiondialog.cpp:389 +msgstr "Avviare una fusione" + +#: optiondialog.cpp:500 +#, fuzzy msgid "Diff & Merge Settings" -msgstr "Impostazioni per confronti e fusioni" - -#: optiondialog.cpp:399 +msgstr "Impostazioni di verifica & fusione" + +#: optiondialog.cpp:510 +#, fuzzy msgid "Preserve carriage return" -msgstr "Mostra i \"ritorno carrello\" (CR)" - -#: optiondialog.cpp:402 +msgstr "Mantieni il ritorno a capo (CR):" + +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." msgstr "" -"Mostra i caratteri di ritorno carrello \"\\r\"se presenti\n" -".Aiuta a confrontare file modificati sotto sistemi operativi diversi." - -#: optiondialog.cpp:407 + +#: optiondialog.cpp:518 +#, fuzzy msgid "Ignore numbers" -msgstr "Ignora i numeri" - -#: optiondialog.cpp:410 +msgstr "Ignora i numeri:" + +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" "Might help to compare files with numeric data." msgstr "" -"Ignora i caratteri numerici durante il confronto. (Analogo a \"Ignora spazi " -"bianchi\".)\n" -"Può essere utile per confrontare file con dati numerici." - -#: optiondialog.cpp:415 + +#: optiondialog.cpp:526 +#, fuzzy msgid "Ignore C/C++ Comments" -msgstr "Ignora i commenti C/C++" - -#: optiondialog.cpp:417 +msgstr "Ignora commenti C/C++:" + +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." -msgstr "Tratta i commenti C/C++ come spazi bianchi." - -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Trasforma in maiuscolo" - -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Trasforma tutti i caratteri minuscoli in maiuscolo. (Ad es.: \"a\"->\"A\")" - -#: optiondialog.cpp:428 +msgstr "" + +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "Ignora i numeri:" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" + +#: optiondialog.cpp:539 +#, fuzzy msgid "Preprocessor command:" -msgstr "Preprocessore:" - -#: optiondialog.cpp:432 +msgstr "Comandi del preprocessore" + +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" -msgstr "Preprocessore definito dall'utente. Vedi il manuale per maggiori dettagli." - -#: optiondialog.cpp:435 +msgstr "" + +#: optiondialog.cpp:546 +#, fuzzy msgid "Line-matching preprocessor command:" msgstr "Preprocessore per confronto righe:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" msgstr "" -"Questo preprocessore viene utilizzato solo\n" -"per verificare la corrispondenza di righe.\n" -"Vedi il manuale per maggiori dettagli." - -#: optiondialog.cpp:442 + +#: optiondialog.cpp:553 msgid "Try hard (slower)" -msgstr "Ricerca approfondita (lenta)" - -#: optiondialog.cpp:445 +msgstr "" + +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." msgstr "" -"Abilita l'opzione --minimal del \"diff\" esterno.\n" -"L'analisi di grandi file sarà molto più lenta." - -#: optiondialog.cpp:450 + +#: optiondialog.cpp:561 +#, fuzzy msgid "Auto advance delay (ms):" -msgstr "Pause nell'avanzamento automatico(ms):" - -#: optiondialog.cpp:455 +msgstr "Pausa nell'avanzamento automatico (ms):" + +#: optiondialog.cpp:566 +#, 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 "" -"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:460 +"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 msgid "White space 2-file merge default:" msgstr "Trattamento predefinito degli spazi bianchi nel fondere 2 file:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" -msgstr "Scelta manuale" - -#: optiondialog.cpp:468 optiondialog.cpp:482 +msgstr "" + +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." msgstr "" -"Consente all'algoritmo di fusione di definire il file da cui prendere le " -"modifiche per gli spazi bianchi." - -#: optiondialog.cpp:473 + +#: optiondialog.cpp:584 +#, fuzzy msgid "White space 3-file merge default:" -msgstr "Trattamento predefinito degli spazi bianchi nel fondere 3 file:" - -#: optiondialog.cpp:492 +msgstr "Trattamento predefinito degli spazi bianchi nel fondere 2 file:" + +#: optiondialog.cpp:603 msgid "Directory Merge" -msgstr "Fusione di directory" - -#: optiondialog.cpp:500 +msgstr "Fusione di directory " + +#: optiondialog.cpp:611 +#, fuzzy msgid "Recursive directories" -msgstr "Anche sottodirectory" - -#: optiondialog.cpp:502 +msgstr "Sottodirectory:" + +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." -msgstr "Per scegliere se analizzare anche le sottodirectory o no." - -#: optiondialog.cpp:504 +msgstr "" + +#: optiondialog.cpp:615 +#, fuzzy msgid "File pattern(s):" msgstr "Tipi di file:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" -"Categorie di file da analizzare. \n" -"Caratteri jolly ammessi: \"*\" e \"?\"\n" -"Puoi specificare più categorie separandole con un \";\"" - -#: optiondialog.cpp:515 + +#: optiondialog.cpp:626 +#, fuzzy msgid "File-anti-pattern(s):" -msgstr "File da escludere:" - -#: optiondialog.cpp:520 +msgstr "Tipi di file:" + +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" -"Categorie di file da non analizzare. \n" -"Caratteri jolly ammessi: \"*\" e \"?\"\n" -"Puoi specificare più categorie separandole con un \";\"" - -#: optiondialog.cpp:526 + +#: optiondialog.cpp:637 +#, fuzzy msgid "Dir-anti-pattern(s):" -msgstr "Directory da escludere:" - -#: optiondialog.cpp:531 +msgstr "File da escludere:" + +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" -"Categorie di directory da non analizzare. \n" -"Caratteri jolly ammessi: \"*\" e \"?\"\n" -"Puoi specificare più categorie separandole con un \";\"" - -#: optiondialog.cpp:537 + +#: optiondialog.cpp:648 +#, fuzzy msgid "Use .cvsignore" -msgstr "Utilizza .cvsignore" - -#: optiondialog.cpp:540 +msgstr "Utilizza CVS-Ignore:" + +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." msgstr "" -"Escludi anche tutto quello che sarebbe ignorato dal CVS.\n" -"Puoi usare un file \".cvsignore\" diverso per ogni directory." - -#: optiondialog.cpp:545 + +#: optiondialog.cpp:656 +#, fuzzy msgid "Find hidden files and directories" -msgstr "Esamina file e directory nascosti" - -#: optiondialog.cpp:548 +msgstr "Esamina file e directory nascosti:" + +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." -msgstr "Esamina file e directory con l'attributo \"nascosto\"." - -#: optiondialog.cpp:550 +msgstr "" + +#: optiondialog.cpp:661 +#, fuzzy msgid "Finds files and directories starting with '.'." -msgstr "Esamina file e directory che iniziano con \".\"." - -#: optiondialog.cpp:554 +msgstr "Esamina file e directory nascosti:" + +#: optiondialog.cpp:665 +#, fuzzy msgid "Follow file links" -msgstr "Segui i link dei file" - -#: optiondialog.cpp:557 +msgstr "Segui i link dei file:" + +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." msgstr "" -"Attivo: Confronta il file a cui punta il link.\n" -"Non attivo: Confronta i link." - -#: optiondialog.cpp:562 + +#: optiondialog.cpp:673 +#, fuzzy msgid "Follow directory links" -msgstr "Segui i link delle directory" - -#: optiondialog.cpp:565 +msgstr "Segui i link delle directory:" + +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." msgstr "" -"Attivo: Confronta la directory a cui punta il link.\n" -"Non attivo: Confronta i link." - -#: optiondialog.cpp:570 + +#: optiondialog.cpp:681 +#, fuzzy msgid "List only deltas" -msgstr "Elenca solo le differenze" - -#: optiondialog.cpp:573 +msgstr "Elenca solo le differenze:" + +#: optiondialog.cpp:684 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:576 +msgstr "" + +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" -msgstr "Basati sulla data di modifica (non sicuro)" - -#: optiondialog.cpp:578 +msgstr "Basati sulla data di modifica:" + +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" "Useful for big directories or slow networks." msgstr "" -"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:582 + +#: optiondialog.cpp:702 +#, fuzzy msgid "Trust the size (unsafe)" -msgstr "Basati sulla dimensione (non sicuro)" - -#: optiondialog.cpp:584 +msgstr "Basati sulla dimensione:" + +#: optiondialog.cpp:703 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 "" -"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:589 + +#: optiondialog.cpp:707 +#, fuzzy msgid "Synchronize directories" -msgstr "Sincronizza le directory" - -#: optiondialog.cpp:592 +msgstr "Sincronizza le directory:" + +#: optiondialog.cpp:710 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 "" -"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:597 + +#: optiondialog.cpp:715 +#, fuzzy msgid "Copy newer instead of merging (unsafe)" -msgstr "Copia il più recente invece di fondere (non sicuro)" - -#: optiondialog.cpp:600 +msgstr "Copia il più recente invece di fondere:" + +#: optiondialog.cpp:718 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 "" -"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:605 + +#: optiondialog.cpp:723 +#, fuzzy msgid "Backup files (.orig)" -msgstr "File di backup (.orig)" - -#: optiondialog.cpp:608 +msgstr "File di backup:" + +#: optiondialog.cpp:726 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 "" -"Quando decidi di salvare un file sovrascrivendone\n" -"uno precedente, quello vecchio non verrà cancellato,\n" -"ma salvato con l'estensione \".orig\"." - -#: optiondialog.cpp:636 + +#: optiondialog.cpp:753 +#, fuzzy +msgid "Regional Settings" +msgstr "Impostazioni dell'editor" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1614,239 +1723,2789 @@ "\n" "Do you want to continue or do you want to select another font." msgstr "" -"Hai selezionato un font a spaziatura variabile.\n" + +#: optiondialog.cpp:829 +msgid "Incompatible Font" +msgstr "" + +#: optiondialog.cpp:830 +msgid "Continue at Own Risk" +msgstr "" + +#: optiondialog.cpp:830 +#, fuzzy +msgid "Select Another Font" +msgstr "Un'altra interfaccia per comparare file?" + +#: optiondialog.cpp:858 +msgid "This resets all options. Not only those of the current topic." +msgstr "" + +#: pdiff.cpp:257 +#, fuzzy +msgid "PreprocessorCmd: " +msgstr "Comandi del preprocessore" + +#: pdiff.cpp:262 +msgid "" +"The following option(s) you selected might change data:\n" +msgstr "" + +#: pdiff.cpp:263 +msgid "" "\n" -"Poiché questo programma non gestisce correttamente questo\n" -"tipo di font, potresti avere problemi di visualizzazione.\n" -"\n" -"Vuoi continuare o preferisci cambiare font?" - -#: optiondialog.cpp:640 -msgid "Incompatible Font" -msgstr "Font incompatibile " - -#: optiondialog.cpp:641 -msgid "Continue at Own Risk" -msgstr "Continua a tuo rischio" - -#: optiondialog.cpp:641 -msgid "Select Another Font" -msgstr "Scegli un altro font" - -#: optiondialog.cpp:669 -msgid "This resets all options. Not only those of the current topic." -msgstr "" -"Verranno ripristinate tutte le opzioni.\n" -"Non solo quelle relative a questo argomento." - -#: pdiff.cpp:371 -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 "" -"Non è riuscita l'esecuzione del \"diff\" esterno.\n" -"Controlla se diff funziona, se il programma può scrivere nella cartella " -"temporanea e se il disco non è pieno.\n" -"Ora l'opzione per l'utilizzi del diff esterno sarà disattivata e verrà " -"utilizzato quello interno." - -#: pdiff.cpp:437 +"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 "" + +#: 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 "Loading A" -msgstr "Sto caricando A" - -#: pdiff.cpp:442 +msgstr "" + +#: pdiff.cpp:297 msgid "Loading B" -msgstr "Sto caricando B" - -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +msgstr "" + +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" -msgstr "Diff: A <-> B" - -#: pdiff.cpp:461 pdiff.cpp:514 +msgstr "" + +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" -msgstr "Diff. righe: A <-> B" - -#: pdiff.cpp:470 +msgstr "" + +#: pdiff.cpp:321 msgid "Loading C" -msgstr "Sto caricando C" - -#: pdiff.cpp:484 pdiff.cpp:496 +msgstr "" + +#: pdiff.cpp:332 msgid "Diff: B <-> C" -msgstr "Diff: B <-> C" - -#: pdiff.cpp:487 pdiff.cpp:499 +msgstr "" + +#: pdiff.cpp:335 msgid "Diff: A <-> C" -msgstr "Diff: A <-> C" - -#: pdiff.cpp:517 +msgstr "" + +#: pdiff.cpp:352 msgid "Linediff: B <-> C" -msgstr "Diff. righe: B <-> C" - -#: pdiff.cpp:520 +msgstr "" + +#: pdiff.cpp:355 msgid "Linediff: A <-> C" -msgstr "Diff. righe: A <-> C" - -#: pdiff.cpp:604 +msgstr "" + +#: pdiff.cpp:502 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 "" -"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:1015 + +#: pdiff.cpp:929 msgid "A (Base):" -msgstr "A (Base):" - -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +msgstr "" + +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." -msgstr "File..." - -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +msgstr "" + +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." -msgstr "Directory..." - -#: pdiff.cpp:1046 +msgstr "" + +#: pdiff.cpp:962 +#, fuzzy msgid "C (Optional):" -msgstr "C (Opzionale):" - -#: pdiff.cpp:1064 +msgstr "Opzioni" + +#: pdiff.cpp:981 msgid "Output (optional):" -msgstr "Output (Opzionale):" - -#: pdiff.cpp:1093 +msgstr "" + +#: pdiff.cpp:1010 msgid "Configure..." -msgstr "Configura..." - -#: pdiff.cpp:1186 +msgstr "" + +#: pdiff.cpp:1151 msgid "Abort" -msgstr "Interrompi" - -#: pdiff.cpp:1192 pdiff.cpp:1271 +msgstr "" + +#: pdiff.cpp:1157 pdiff.cpp:1236 +#, fuzzy msgid "Opening files..." -msgstr "Apertura dei file..." - -#: pdiff.cpp:1254 pdiff.cpp:1315 +msgstr "Fondi 2 file:" + +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" -msgstr "Errore nell'apertura del file" - -#: pdiff.cpp:1330 +msgstr "" + +#: pdiff.cpp:1298 +#, fuzzy msgid "Cutting selection..." -msgstr "Taglio selezione..." - -#: pdiff.cpp:1351 +msgstr "Copia automaticamente la selezione:" + +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." -msgstr "Copia selezione negli appunti..." - -#: pdiff.cpp:1367 +msgstr "" + +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." -msgstr "Inserimento dagli appunti..." - -#: pdiff.cpp:1696 +msgstr "" + +#: pdiff.cpp:1755 msgid "Save && Continue" -msgstr "Salva e continua" - -#: pdiff.cpp:1696 +msgstr "" + +#: pdiff.cpp:1755 msgid "Continue Without Saving" -msgstr "Continua senza salvare" - -#: pdiff.cpp:1901 +msgstr "" + +#: pdiff.cpp:1962 msgid "Search complete." -msgstr "Ricerca completata." - -#: pdiff.cpp:1901 +msgstr "" + +#: pdiff.cpp:1962 msgid "Search Complete" -msgstr "Ricerca completata." +msgstr "" #: rc.cpp:1 +#, fuzzy msgid "&KDiff3" -msgstr "&KDiff3" +msgstr "kdiff3" #: rc.cpp:2 msgid "Configure KDiff3" -msgstr "Configura KDiff3" +msgstr "" #: rc.cpp:5 +#, fuzzy msgid "&Directory" -msgstr "&Directory" +msgstr "Fusione di directory " #: rc.cpp:6 msgid "Current Item Merge Operation" -msgstr "Operazione di fusione su questo file/dir." +msgstr "" #: rc.cpp:7 msgid "Current Item Sync Operation" -msgstr "Operazione di sincronizzazione su questo file/dir." +msgstr "" #: rc.cpp:8 msgid "&Movement" -msgstr "&Va" +msgstr "" #: rc.cpp:9 +msgid "D&iffview" +msgstr "" + +#: rc.cpp:10 +#, fuzzy msgid "&Merge" -msgstr "F&usione" - -#: rc.cpp:10 +msgstr "merge" + +#: rc.cpp:11 msgid "&Window" -msgstr "Fine&stra" - -#~ msgid "Delete A && B" -#~ msgstr "Elimina A e B" - -#~ msgid "Merge to A && B" -#~ msgstr "Fondi con A e B" - -#~ msgid "In progress ..." -#~ msgstr "In esecuzione..." +msgstr "" + +#~ msgid "The &kdiff3; Handbook" +#~ msgstr "Manuale di &kdiff3;" + +#~ msgid "Joachim Eibl" +#~ msgstr "Joachim Eibl" + +#~ msgid "joachim.eibl@gmx.de" +#~ msgstr "joachim.eibl@gmx.de" + +#~ msgid "ROLES_OF_TRANSLATORS" +#~ msgstr "" +#~ "StelvioRosset
srosset@satelgroup.netTraduzione della documentazione StelvioRosset
srosset@satelgroup.netCorrezione della traduzione " + +#~ 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 "KDE" +#~ msgstr "KDE" + +#~ msgid "kdeextragear" +#~ msgstr "kdeextragear" + +#~ msgid "diff" +#~ msgstr "diff" + +#~ msgid "CVS" +#~ msgstr "CVS" + +#~ 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 "kio" +#~ msgstr "kio" + +#~ msgid "networktransparent" +#~ msgstr "networktransparent" + +#~ msgid "white space" +#~ msgstr "spazio bianco" + +#~ msgid "comments" +#~ msgstr "commenti" + +#~ msgid "Introduction" +#~ msgstr "Introduzione" #~ msgid "" -#~ "On: Text that differs only in white space will match and\n" -#~ "be shown on the same line in the different output windows.\n" -#~ "Off is useful when whitespace is very important.\n" -#~ "On is good for C/C++ and similar languages." +#~ "Several graphical diff tools exist. Why choose KDiff3? Let me say, why I " +#~ "wrote it." #~ msgstr "" -#~ "Attivo: I testi che differiscono solo per spazi bianchi saranno\n" -#~ "considerati uguali e mostrati sulla stessa riga delle varie finestre\n" -#~ "di output.\n" -#~ "È utile disattivarlo quando gli spazi bianchi sono importanti.\n" -#~ "È comodo attivarlo per sorgenti C/C++ o di linguaggi simili." - -#~ msgid "Use external diff" -#~ msgstr "Utilizza un \"diff\" esterno" +#~ "Per la comparazione dei file esistono numerosi strumenti grafici. Perché " +#~ "scegliere KDiff3? Lascia che ti dica perché l'ho scritto." #~ msgid "" -#~ "Since for complicated files the internal algorithm is not so good yet,\n" -#~ "you probably want to use the normal diff tool as line matcher." +#~ "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 "" -#~ "Poiché per file complessi l'algoritmo interno non è ancora " -#~ "soddisfacente,\n" -#~ "potresti voler utilizzare il normale programma \"diff\" per confrontare " -#~ "le righe." - -#~ msgid "Ignore trivial matches" -#~ msgstr "Ignora corrispondenze banali" +#~ "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 "" -#~ "When a difference was found, the algorithm searches for matching lines\n" -#~ "Short or trivial lines match even when the differences still continue.\n" -#~ "Ignoring trivial lines avoids this. Good for C/C++ and similar languages." +#~ "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 "" -#~ "Quando trova una differenza, l'algoritmo cerca le prossime righe uguali.\n" -#~ "Righe brevi o banali possono coincidere anche se la differenza continua.\n" -#~ "Se si ignorano le righe banali, si ottiene unn output più \"pulito\".\n" -#~ "Utile per C/C++ o linguaggi simili." - -#~ msgid "Max search length:" -#~ msgstr "Lunghezza max per ricerca:" +#~ "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 "" -#~ "Diff might fail for too small values but might take too long for big " -#~ "values.\n" +#~ "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 "" -#~ "\"diff\" può avere problemi con valori troppi piccoli, ma può perdere " -#~ "troppo tempo con valori grandi\n" +#~ "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 "..." +#~ msgstr "..." + +#~ 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 "kdiff3 file1 file2" +#~ msgstr "kdiff3 file1 file2" + +#~ msgid "" +#~ "kdiff3 file1 file2 -m\n" +#~ " kdiff3 file1 file2 -o " +#~ "outputfile" +#~ msgstr "" +#~ "kdiff3 file1 file2 -m\n" +#~ " kdiff3 file1 file2 -o " +#~ "outputfile" + +#~ msgid "" +#~ "kdiff3 file1 file2 file3" +#~ msgstr "" +#~ "kdiff3 file1 file2 file3" + +#~ msgid "Merging 3 files:" +#~ msgstr "Fondi 3 file:" + +#~ msgid "" +#~ "kdiff3 file1 file2 file3 -" +#~ "m\n" +#~ " kdiff3 file1 file2 file3 " +#~ "-o outputfile" +#~ msgstr "" +#~ "kdiff3 file1 file2 file3 -" +#~ "m\n" +#~ " kdiff3 file1 file2 file3 " +#~ "-o outputfile" + +#~ msgid "" +#~ "Note that file1 will be treated as base of " +#~ "file2 and file3." +#~ msgstr "" +#~ "Da notare che file1 potrebbe essere trattato " +#~ "come base di file2 e file3." + +#~ 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 "" +#~ "kdiff3 dir1/filename dir2 dir3" +#~ msgstr "" +#~ "kdiff3 dir1/filename dir2 dir3" + +#~ 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 "" +#~ "kdiff3 dir1 dir2\n" +#~ " kdiff3 dir1 dir2 -o " +#~ "destdir\n" +#~ " kdiff3 dir1 dir2 dir3\n" +#~ " kdiff3 dir1 dir2 dir3 -o " +#~ "destdir" +#~ msgstr "" +#~ "kdiff3 dir1 dir2\n" +#~ " kdiff3 dir1 dir2 -o " +#~ "destdir\n" +#~ " kdiff3 dir1 dir2 dir3\n" +#~ " kdiff3 dir1 dir2 dir3 -o " +#~ "destdir" + +#~ msgid "" +#~ "For directory comparison and merge you can continue to read here." +#~ msgstr "" +#~ "Per maggiori informazioni sulla comparazione e fusione di direcory " +#~ "leggere qui." + +#~ msgid "For more information on command line options use:" +#~ msgstr "Per maggiori informazioni sulle opzioni dalla riga di comando usa:" + +#~ msgid "kdiff3 --help" +#~ msgstr "kdiff3 --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 (Merging)." +#~ 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 " +#~ "(Fusione)." + +#~ 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 \"<Merge Conflict>\", 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 \"<Conflitto nel fondere>\", 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 <No src " +#~ "line> 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 <Riga origine mancante>. " +#~ "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 \"<Merge Conflict>\" 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 \"<Fondi conflitti>\" 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 \"Merging\")." +#~ 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 \"Fusione\")." + +#~ 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- & 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 " +#~ "& 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 Directory Comparison/" +#~ "Merge Docs for details." +#~ msgstr "" +#~ "Queste opzioni sono considerate con la scansione delle directory e la " +#~ "manipolazione della fusione: Vedi Directory Comparazione/Fusione Documentazione 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. " +#~ " \"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. " +#~ " \"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 "" +#~ "kdiff3 dir1 dir2\n" +#~ " kdiff3 dir1 dir2 -o " +#~ "destdir" +#~ msgstr "" +#~ "kdiff3 dir1 dir2\n" +#~ " kdiff3 dir1 dir2 -o " +#~ "destdir" + +#~ msgid "" +#~ "If no destination directory is specified, then KDiff3 will use " +#~ "dir2." +#~ msgstr "" +#~ "Se nessuna directory è stata specificata, KDiff3 utilizzerà " +#~ "dir2." + +#~ msgid "Compare/Merge three directories:" +#~ msgstr "Compara/Fondi tre directory:" + +#~ msgid "" +#~ "kdiff3 dir1 dir2 dir3\n" +#~ " kdiff3 dir1 dir2 dir3 -o " +#~ "destdir" +#~ msgstr "" +#~ "kdiff3 dir1 dir2 dir3\n" +#~ " kdiff3 dir1 dir2 dir3 -o " +#~ "destdir" + +#~ msgid "" +#~ "When three directories are merged then dir1 is " +#~ "used as the base for the merge. If no destination directory is specified, " +#~ "then KDiff3 will use dir3 as the destination " +#~ "directory for the merge." +#~ msgstr "" +#~ "Quando tre directory vengono fuse allora dir1 " +#~ "verrà utilizzata come base della fusione. Se nessuna directory di " +#~ "destinazione è stata specificata, KDiff3 utilizzerà dir3 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 dirdiff. 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 dirdiff. 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 (see the big screenshot)." +#~ 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 (guarda la schermata grande)." + +#~ 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\"->\"Configure KDiff3\") now " +#~ "has a section called \"Directory Merge\" with these options:" +#~ msgstr "" +#~ "Le preferenze di KDiff3 (menu\"Impostazioni\"->\"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 " +#~ "info:/cvs/cvsignore.)" +#~ 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 info:/cvs/" +#~ "cvsignore.)" + +#~ 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 "" +#~ "kdiff3 test.cpp ftp://ftp.faraway.org/test.cpp\n" +#~ " kdiff3 tar:/home/hacker/archive.tar.gz/dir ./dir" +#~ msgstr "" +#~ "kdiff3 test.cpp ftp://ftp.faraway.org/test.cpp\n" +#~ " kdiff3 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 " +#~ "patch 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 patch 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 \"<No src line>\" appeared " +#~ "and can't be deleted. What does that mean and how can one remove this?" +#~ msgstr "" +#~ "Quando rimuovo parte del testo, appare improvvisamente \"<No src " +#~ "line>\" 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. \"<No src line>\" 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. \"<No src line>" +#~ "\"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 joachim.eibl@gmx.de" +#~ msgstr "" +#~ "Program copyright 2002-2003 Joachim Eibl joachim.eibl@gmx.de" + +#~ 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 © 2002-2003 Joachim Eibl joachim." +#~ "eibl@gmx.de" +#~ msgstr "" +#~ "Copyright della documentazione © 2002-2003 Joachim Eibl " +#~ "joachim.eibl@gmx.de" + +#~ msgid "CREDIT_FOR_TRANSLATORS" +#~ msgstr "" +#~ "Traduzione Stelvio Rosset srosset@satelgroup.netCorrezione della traduzione Stelvio Rosset " +#~ "srosset@satelgroup.net" + +#~ 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 http://kdiff3.sourceforge.net." +#~ msgstr "" +#~ "È possibile scaricare la versione più recente di KDiff3 da http://kdiff3.sourceforge.net." + +#~ 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 GNU-diff-utils 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 GNU-diff-" +#~ "utils." + +#~ msgid "" +#~ "For information about how to run KDiff3 on other platforms without KDE " +#~ "please see the homepage." +#~ msgstr "" +#~ "Per informazioni riguardanti KDiff3 su altre piattaforme sprovviste di " +#~ "KDE si rimanda a homepage." + +#~ msgid "" +#~ "You can find a list of changes at http://kdiff3.sourceforge.net/ChangeLog or in the " +#~ "\"ChangeLog\"-file of the source package." +#~ msgstr "" +#~ "La lista dei cambiamenti la puoi trovare sul sito http://kdiff3.sourceforge.net/" +#~ "ChangeLog 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 "" +#~ "% ./configure --" +#~ "prefix=kde-dir\n" +#~ "% make\n" +#~ "% make install" +#~ msgstr "" +#~ "% ./configure --" +#~ "prefix=kde-dir\n" +#~ "% make\n" +#~ "% make install" + +#~ msgid "" +#~ "kde-dir specifies the directory containing KDE " +#~ "on your system. If you are not sure, read the README-file for details." +#~ msgstr "" +#~ "kde-dir specifica la directory contenente KDE " +#~ "nel tuo sistema. Se non sei sicuro, leggi il file README per maggiori " +#~ "dettagli." + +#~ msgid "" +#~ "Since &kdiff3; uses autoconf and automake 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 autoconf e " +#~ "automake non dovresti avere problemi nel compilarlo. " +#~ "Se invece pensi di aver trovato un problema sei pregato di segnalarlo " +#~ "alla &kde; mailing list." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/nl.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/po/nl.po Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,2003 @@ +# translation of kdiff3.po to Nederlands +# Copyright (C) 2004 Free Software Foundation, Inc. +# Rinse de Vries , 2004. +# +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 \n" +"Language-Team: Nederlands \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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Frank Schoolmeesters,Rinse de Vries" + +#: _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "frank_schoolmeesters@fastmail.fm,rinse@kde.nl" + +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Het opslaan van de klembordinhoud in een tijdelijk bestand is mislukt." + +#: diff.cpp:245 +msgid "From Clipboard" +msgstr "Van klembord" + +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"De voorverwerking is waarschijnlijk mislukt. Controleer dit commando:\n" +"\n" +" %1\n" +"\n" +"Dit commando zal nu worden uitgeschakeld." + +#: diff.cpp:425 +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 "" +"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 +msgid "" +"Data loss error:\n" +"If it is reproducable please contact the author.\n" +msgstr "" +"Fout met dataverlies:\n" +"Als dit reproduceerbaar is, neem dan contact op met de auteur.\n" + +#: diff.cpp:1270 diff.cpp:1284 +msgid "Severe Internal Error" +msgstr "Ernstige interne fout" + +#: difftextwindow.cpp:829 +#, c-format +msgid "Top line %1" +msgstr "Bovenste regel %1" + +#: difftextwindow.cpp:831 +msgid "End" +msgstr "Einde" + +#: directorymergewindow.cpp:114 +msgid "Mix of links and normal files." +msgstr "Mix van koppelingen en bestanden." + +#: directorymergewindow.cpp:121 +msgid "Link: " +msgstr "Koppeling: " + +#: directorymergewindow.cpp:129 +msgid "Size. " +msgstr "Grootte: " + +#: directorymergewindow.cpp:142 +msgid "Date & Size: " +msgstr "Datum en grootte: " + +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 +msgid "Creating temp copy of %1 failed." +msgstr "Het aanmaken van de tijdelijke kopie van %1 is mislukt." + +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 +msgid "Opening %1 failed." +msgstr "Het openen van %1 is mislukt." + +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Bestand wordt vergeleken..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 +#, c-format +msgid "Error reading from %1" +msgstr "Fout bij het lezen van %1" + +#: directorymergewindow.cpp:252 +msgid "Name" +msgstr "Naam" + +#: directorymergewindow.cpp:256 +msgid "Operation" +msgstr "Operatie" + +#: directorymergewindow.cpp:257 +msgid "Status" +msgstr "Status" + +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Niet opgelost" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Opgelost" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Niet-wit" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Wit" + +#: 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 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 +msgid "Rescan" +msgstr "Opnieuw inlezen" + +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 +msgid "Continue Merging" +msgstr "Doorgaan met samenvoegen" + +#: directorymergewindow.cpp:421 +msgid "Opening of directories failed:" +msgstr "Het openen van de mappen is mislukt:" + +#: directorymergewindow.cpp:424 +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 +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 +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 +msgid "Directory Open Error" +msgstr "Fout bij openen van map" + +#: directorymergewindow.cpp:440 +msgid "" +"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 +msgid "Parameter Warning" +msgstr "Parameter-waarschuwing" + +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Mappen worden geanalyseerd..." + +#: directorymergewindow.cpp:496 +msgid "Reading Directory A" +msgstr "Inlezen van map A" + +#: directorymergewindow.cpp:518 +msgid "Reading Directory B" +msgstr "Inlezen van map B" + +#: directorymergewindow.cpp:540 +msgid "Reading Directory C" +msgstr "Inlezen van map C" + +#: directorymergewindow.cpp:566 +msgid "Some subdirectories were not readable in" +msgstr "Sommige submappen waren niet leesbaar in" + +#: directorymergewindow.cpp:571 +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 +msgid "Ready." +msgstr "Gereed." + +#: directorymergewindow.cpp:619 +msgid "Directory Comparison Status" +msgstr "Status van mappenvergelijking" + +#: directorymergewindow.cpp:620 +msgid "Number of subdirectories:" +msgstr "Aantal submappen:" + +#: directorymergewindow.cpp:621 +msgid "Number of equal files:" +msgstr "Aantal identieke bestanden:" + +#: directorymergewindow.cpp:622 +msgid "Number of different files:" +msgstr "Aantal verschillende bestanden:" + +#: directorymergewindow.cpp:625 +msgid "Number of manual merges:" +msgstr "Aantal handmatige samenvoegingen:" + +#: directorymergewindow.cpp:761 +msgid "This affects all merge operations." +msgstr "Dit heeft effect op alle samenvoegingen." + +#: directorymergewindow.cpp:762 +msgid "Changing All Merge Operations" +msgstr "Verandering van alle samenvoegingen" + +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 +msgid "C&ontinue" +msgstr "D&oorgaan" + +#: directorymergewindow.cpp:1057 +msgid "Processing " +msgstr "Voortgang" + +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 +msgid "To do." +msgstr "Onvoltooid." + +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 +msgid "Copy A to B" +msgstr "A naar B kopiëren" + +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 +msgid "Copy B to A" +msgstr "B naar A kopiëren" + +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 +msgid "Delete A" +msgstr "A verwijderen" + +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 +msgid "Delete B" +msgstr "B verwijderen" + +#: directorymergewindow.cpp:1476 +msgid "Delete A & B" +msgstr "A & B verwijderen" + +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 +msgid "Merge to A" +msgstr "Samenvoegen met A" + +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 +msgid "Merge to B" +msgstr "Samenvoegen met B" + +#: directorymergewindow.cpp:1479 +msgid "Merge to A & B" +msgstr "Samenvoegen met A & B" + +#: directorymergewindow.cpp:1483 +msgid "Delete (if exists)" +msgstr "Verwijderen (indien voorhanden)" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 +msgid "Merge" +msgstr "Samenvoegen" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +msgid "Merge (manual)" +msgstr "Samenvoegen (handmatig)" + +#: directorymergewindow.cpp:1486 +msgid "Error: Conflicting File Types" +msgstr "Fout: botsende bestandstypen" + +#: directorymergewindow.cpp:1487 +msgid "Error: Dates are equal but files are not." +msgstr "Fout: de datums zijn hetzelfde, maar de bestanden niet." + +#: directorymergewindow.cpp:1511 +msgid "This operation is currently not possible." +msgstr "Deze operatie is momenteel niet beschikbaar." + +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 +msgid "Operation Not Possible" +msgstr "Operatie niet mogelijk" + +#: directorymergewindow.cpp:1554 +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 "" +"Dit zou niet mogen gebeuren: \n" +"\n" +"mergeResultSaved: m_pMFI=0\n" +"\n" +"Als u dit kunt reproduceren, neem dan contact op met de auteur van dit " +"programma." + +#: directorymergewindow.cpp:1554 +msgid "Program Error" +msgstr "Programmafout" + +#: directorymergewindow.cpp:1565 +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 +msgid "Merge Error" +msgstr "Fout bij samenvoegen" + +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 +msgid "Error." +msgstr "Fout." + +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 +msgid "Done." +msgstr "Gereed." + +#: directorymergewindow.cpp:1599 +msgid "Not saved." +msgstr "Niet opgeslagen." + +#: directorymergewindow.cpp:1634 +msgid "Unknown merge operation. (This must never happen!)" +msgstr "Onbekende samenvoeging. (Dit mag niet voorkomen!)" + +#: directorymergewindow.cpp:1666 +msgid "Unknown merge operation." +msgstr "Onbekende samenvoeging." + +#: directorymergewindow.cpp:1681 +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 "" +"De samenvoeging kan nu beginnen.\n" +"\n" +"Kies \"Starten\" als u de instructies hebt gelezen een weet waar u mee bezig " +"bent.\n" +"Door \"Simulatie\" te kiezen ziet u wat er zou kunnen gebeuren.\n" +"\n" +"Waarschuwing: dit programma bevindt zich in een ontwikkelstadium. Er is dus " +"GEEN ENKELE GARANTIE dat het programma naar behoren zal werken. Maak " +"reservekopieën van uw vitale gegevens!" + +#: directorymergewindow.cpp:1686 +msgid "Starting Merge" +msgstr "Samenvoeging starten" + +#: directorymergewindow.cpp:1686 +msgid "Do It" +msgstr "Starten" + +#: directorymergewindow.cpp:1686 +msgid "Simulate It" +msgstr "Simuleren" + +#: directorymergewindow.cpp:1712 +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 " +"what to do." +msgstr "" +"De wijzigingsdatums van het bestanden zijn gelijk, maar de bestanden niet. " +"Kies wat er moet gebeuren." + +#: directorymergewindow.cpp:1778 +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 +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 "" +"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 +msgid "Continue merge after an error" +msgstr "Samenvoegen voortzetten na een foutmelding" + +#: directorymergewindow.cpp:1840 +msgid "Continue With Last Item" +msgstr "Verder gaan met het laatste item" + +#: directorymergewindow.cpp:1840 +msgid "Skip Item" +msgstr "Item overslaan" + +#: directorymergewindow.cpp:1874 +msgid "Skipped." +msgstr "Overgeslagen." + +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 +msgid "In progress..." +msgstr "In uitvoering..." + +#: directorymergewindow.cpp:1929 +msgid "Merge operation complete." +msgstr "De samenvoeging is voltooid." + +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 +msgid "Merge Complete" +msgstr "Samenvoeging voltooid" + +#: directorymergewindow.cpp:1941 +msgid "Simulated merge complete: Check if you agree with the proposed operations." +msgstr "" +"Samenvoegingssimulatie is voltooid. Controleer of u akkoord kunt gaan met de " +"voorgestelde operaties." + +#: directorymergewindow.cpp:1977 +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 +msgid "Error: While deleting %1: Creating backup failed." +msgstr "Fout tijdens het wissen van %1: reservekopie aanmaken is mislukt." + +#: directorymergewindow.cpp:2027 +msgid "delete directory recursively( %1 )" +msgstr "map ( %1 ) recursief wissen" + +#: directorymergewindow.cpp:2029 +msgid "delete( %1 )" +msgstr "wissen ( %1 )" + +#: directorymergewindow.cpp:2044 +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 +msgid "Error: rmdir( %1 ) operation failed." +msgstr "Fout: map verwijderen( %1 ) operatie is mislukt." + +#: directorymergewindow.cpp:2073 +msgid "Error: delete operation failed." +msgstr "Fout: wisoperatie is mislukt." + +#: directorymergewindow.cpp:2099 +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." +msgstr "" +" Opmerking: na een handmatige samenvoeging dient de gebruiker verder te " +"gaan via F7." + +#: directorymergewindow.cpp:2125 +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 +msgid "copyLink( %1 -> %2 )" +msgstr "Koppeling kopiëren ( %1 -> %2 )" + +#: directorymergewindow.cpp:2146 +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 +msgid "Error: copyLink failed." +msgstr "Fout: koppeling kopiëren is mislukt." + +#: directorymergewindow.cpp:2172 +msgid "copy( %1 -> %2 )" +msgstr "kopiëren ( %1 -> %2 )" + +#: directorymergewindow.cpp:2198 +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 +msgid "rename( %1 -> %2 )" +msgstr "hernoemen( %1 -> %2 )" + +#: directorymergewindow.cpp:2213 +msgid "Error: Rename failed." +msgstr "Fout: hernoemen is mislukt." + +#: directorymergewindow.cpp:2231 +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 +msgid "makeDir( %1 )" +msgstr "Map aanmaken( %1 )" + +#: directorymergewindow.cpp:2257 +msgid "Error while creating directory." +msgstr "Fout bij het aanmaken van de map." + +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 +msgid "Dest" +msgstr "Best." + +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 +msgid "Dir" +msgstr "Map" + +#: directorymergewindow.cpp:2285 +msgid "Type" +msgstr "Type" + +#: directorymergewindow.cpp:2286 +msgid "Size" +msgstr "Grootte" + +#: directorymergewindow.cpp:2287 +msgid "Attr" +msgstr "Attr" + +#: directorymergewindow.cpp:2288 +msgid "Last Modification" +msgstr "Laatste wijziging" + +#: directorymergewindow.cpp:2289 +msgid "Link-Destination" +msgstr "Koppelingsbestemming" + +#: directorymergewindow.cpp:2330 +msgid "not available" +msgstr "niet beschikbaar" + +#: directorymergewindow.cpp:2350 +msgid "A (Dest): " +msgstr "A (best.): " + +#: directorymergewindow.cpp:2353 +msgid "A (Base): " +msgstr "A (basis): " + +#: directorymergewindow.cpp:2359 +msgid "B (Dest): " +msgstr "B (best.): " + +#: directorymergewindow.cpp:2367 +msgid "C (Dest): " +msgstr "C (best.): " + +#: directorymergewindow.cpp:2373 +msgid "Dest: " +msgstr "Best.: " + +#: directorymergewindow.cpp:2398 +msgid "Start/Continue Directory Merge" +msgstr "Mapsamenvoeging starten/voortzetten" + +#: directorymergewindow.cpp:2399 +msgid "Run Operation for Current Item" +msgstr "Operatie uitvoeren voor huidig item" + +#: directorymergewindow.cpp:2400 +msgid "Compare Selected File" +msgstr "Geselecteerde bestand vergelijken" + +#: directorymergewindow.cpp:2401 +msgid "Merge Current File" +msgstr "Huidig bestand samenvoegen" + +#: directorymergewindow.cpp:2402 +msgid "Fold All Subdirs" +msgstr "Alle submappen invouwen" + +#: directorymergewindow.cpp:2403 +msgid "Unfold All Subdirs" +msgstr "Alle submappen uitvouwen" + +#: directorymergewindow.cpp:2405 +msgid "Choose A for All Items" +msgstr "Voor alle items A kiezen" + +#: directorymergewindow.cpp:2406 +msgid "Choose B for All Items" +msgstr "Voor alle items B kiezen" + +#: directorymergewindow.cpp:2407 +msgid "Choose C for All Items" +msgstr "Voor alle items C kiezen" + +#: directorymergewindow.cpp:2408 +msgid "Auto-Choose Operation for All Items" +msgstr "Operatie voor alle items automatisch kiezen" + +#: directorymergewindow.cpp:2409 +msgid "No Operation for All Items" +msgstr "Geen operatie voor alle items" + +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 +msgid "Do Nothing" +msgstr "Niets doen" + +#: directorymergewindow.cpp:2412 +msgid "A" +msgstr "A" + +#: directorymergewindow.cpp:2413 +msgid "B" +msgstr "B" + +#: directorymergewindow.cpp:2414 +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 +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" +"Bestandsnaam: " + +#: fileaccess.cpp:547 +msgid "" +"While trying to make a backup, renaming failed. \n" +"Filenames: " +msgstr "" +"Tijdens het aanmaken van een reservekopie is het hernoemen mislukt. \n" +"Bestandsnamen: " + +#: fileaccess.cpp:569 +#, c-format +msgid "Getting file status: %1" +msgstr "Bestandstatus opvragen: %1" + +#: fileaccess.cpp:612 +#, c-format +msgid "Reading file: %1" +msgstr "Bestand lezen: %1" + +#: fileaccess.cpp:648 +#, c-format +msgid "Writing file: %1" +msgstr "Bestand schrijven: %1" + +#: fileaccess.cpp:676 +msgid "Out of memory" +msgstr "Onvoldoende geheugen" + +#: fileaccess.cpp:711 +#, c-format +msgid "Making directory: %1" +msgstr "Map aanmaken: %1" + +#: fileaccess.cpp:731 +#, c-format +msgid "Removing directory: %1" +msgstr "Map verwijderen: %1" + +#: fileaccess.cpp:746 +#, c-format +msgid "Removing file: %1" +msgstr "Bestand verwijderen: %1" + +#: fileaccess.cpp:762 +msgid "Creating symbolic link: %1 -> %2" +msgstr "Symbolische koppeling aanmaken: %1 -> %2" + +#: fileaccess.cpp:788 +msgid "Renaming file: %1 -> %2" +msgstr "Bestand hernoemen: %1 -> %2" + +#: fileaccess.cpp:824 +msgid "Copying file: %1 -> %2" +msgstr "Bestand kopiëren: %1 -> %2" + +#: fileaccess.cpp:838 +#, c-format +msgid "" +"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 +#, c-format +msgid "" +"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 +#, 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 +#, 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 +msgid "Reading directory: " +msgstr "Map lezen: " + +#: fileaccess.cpp:1297 +#, c-format +msgid "Listing directory: %1" +msgstr "Map inlezen: %1" + +#: kdiff3.cpp:135 +msgid "Option --auto used, but no output file specified." +msgstr "Optie '--auto' is gebruikt, maar er is geen uitvoerbestand opgegeven." + +#: kdiff3.cpp:241 +msgid "Option --auto ignored for directory comparison." +msgstr "Optie '--auto' is genegeerd voor mappenvergelijking." + +#: kdiff3.cpp:277 +msgid "Saving failed." +msgstr "Opslag is mislukt." + +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 +msgid "Opening of these files failed:" +msgstr "Het openen van deze bestanden is mislukt:" + +#: kdiff3.cpp:310 +msgid "File Open Error" +msgstr "Fout bij bestanden openen" + +#: kdiff3.cpp:329 +msgid "Opens documents for comparison..." +msgstr "Opent documenten voor vergelijking..." + +#: kdiff3.cpp:331 +msgid "Saves the merge result. All conflicts must be solved!" +msgstr "" +"Slaat het samenvoegingsresultaat op. Alle conflicten dienen te worden " +"opgelost!" + +#: kdiff3.cpp:333 +msgid "Saves the current document as..." +msgstr "Slaat het huidige document op als..." + +#: kdiff3.cpp:335 +msgid "Quits the application" +msgstr "Sluit de toepassing" + +#: kdiff3.cpp:337 +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 +msgid "Copies the selected section to the clipboard" +msgstr "Kopieert de geselecteerde sectie naar het klembord" + +#: kdiff3.cpp:341 +msgid "Pastes the clipboard contents to actual position" +msgstr "Plakt de inhoud van het klembord op de huidige cursorpositie" + +#: kdiff3.cpp:343 +msgid "Search for a string" +msgstr "Tekst opzoeken" + +#: kdiff3.cpp:345 +msgid "Search again for the string" +msgstr "Opnieuw zoeken" + +#: kdiff3.cpp:347 +msgid "Enables/disables the toolbar" +msgstr "Activeert/deactiveert de werkbalk" + +#: kdiff3.cpp:349 +msgid "Enables/disables the statusbar" +msgstr "Activeert/deactiveert de statusbalk" + +#: kdiff3.cpp:353 +msgid "Configure KDiff3..." +msgstr "KDiff3 instellen..." + +#: kdiff3.cpp:374 +msgid "Go to Current Delta" +msgstr "Ga naar huidig onderscheid" + +#: kdiff3.cpp:375 +msgid "Go to First Delta" +msgstr "Ga naar eerste onderscheid" + +#: kdiff3.cpp:376 +msgid "Go to Last Delta" +msgstr "Ga naar laatste onderscheid" + +#: kdiff3.cpp:377 +msgid "Go to Previous Delta" +msgstr "Ga naar vorig onderscheid" + +#: kdiff3.cpp:378 +msgid "Go to Next Delta" +msgstr "Ga naar volgend onderscheid" + +#: kdiff3.cpp:379 +msgid "Go to Previous Conflict" +msgstr "Ga naar vorig conflict" + +#: kdiff3.cpp:380 +msgid "Go to Next Conflict" +msgstr "Ga naar volgend conflict" + +#: kdiff3.cpp:381 +msgid "Go to Previous Unsolved Conflict" +msgstr "Ga naar vorig onopgelost conflict" + +#: kdiff3.cpp:382 +msgid "Go to Next Unsolved Conflict" +msgstr "Ga naar volgend onopgelost conflict" + +#: kdiff3.cpp:383 +msgid "Select Line(s) From A" +msgstr "Regel(s) van A selecteren" + +#: kdiff3.cpp:384 +msgid "Select Line(s) From B" +msgstr "Regel(s) van B selecteren" + +#: kdiff3.cpp:385 +msgid "Select Line(s) From C" +msgstr "Regel(s) van C selecteren" + +#: kdiff3.cpp:386 +msgid "Automatically Go to Next Unsolved Conflict After Source Selection" +msgstr "Automatisch naar het volgende onopgeloste conflict gaan" + +#: kdiff3.cpp:388 +msgid "Show Space && Tabulator Characters for Differences" +msgstr "Spaties && tabulator-karakters in verschillen tonen" + +#: kdiff3.cpp:389 +msgid "Show White Space" +msgstr "Witruimte tonen" + +#: kdiff3.cpp:391 +msgid "Show Line Numbers" +msgstr "Regelnummering tonen" + +#: kdiff3.cpp:392 +msgid "Choose A Everywhere" +msgstr "A overal kiezen" + +#: kdiff3.cpp:393 +msgid "Choose B Everywhere" +msgstr "B overal kiezen" + +#: kdiff3.cpp:394 +msgid "Choose C Everywhere" +msgstr "C overal kiezen" + +#: kdiff3.cpp:395 +msgid "Choose A For All Unsolved Conflicts" +msgstr "A voor alle onopgeloste conflicten kiezen" + +#: kdiff3.cpp:396 +msgid "Choose B For All Unsolved Conflicts" +msgstr "B voor alle onopgeloste conflicten kiezen" + +#: kdiff3.cpp:397 +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 +msgid "Automatically Solve Simple Conflicts" +msgstr "Automatisch eenvoudige conflicten oplossen" + +#: kdiff3.cpp:402 +msgid "Set Deltas to Conflicts" +msgstr "Elk onderscheid maken bij conflicten" + +#: kdiff3.cpp:404 +msgid "Show Window A" +msgstr "Venster A tonen" + +#: kdiff3.cpp:405 +msgid "Show Window B" +msgstr "Venster B tonen" + +#: kdiff3.cpp:406 +msgid "Show Window C" +msgstr "Venster C tonen" + +#: kdiff3.cpp:407 kdiff3.cpp:416 +msgid "Focus Next Window" +msgstr "Focus op volgend venster zetten" + +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normaal overzicht" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A vs B overzicht" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A vs C overzicht" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B vs C overzicht" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Regels afbreken in vensters met verschillen" + +#: kdiff3.cpp:418 +msgid "Focus Prev Window" +msgstr "Focus op vorig venster zetten" + +#: kdiff3.cpp:419 +msgid "Toggle Split Orientation" +msgstr "Splitsen van vensters omschakelen" + +#: kdiff3.cpp:421 +msgid "Dir && Text Split Screen View" +msgstr "Map- en tekstweergave splitsen in hoofdvenster" + +#: kdiff3.cpp:423 +msgid "Toggle Between Dir && Text View" +msgstr "Tussen map- en tekstweergave wisselen" + +#: kdiff3.cpp:504 pdiff.cpp:1754 +msgid "The merge result hasn't been saved." +msgstr "Het resultaat van de samenvoeging is niet opgeslagen." + +#: kdiff3.cpp:505 +msgid "Save && Quit" +msgstr "Opslaan && afsluiten" + +#: kdiff3.cpp:505 +msgid "Quit Without Saving" +msgstr "Afsluiten zonder opslag" + +#: kdiff3.cpp:513 pdiff.cpp:1763 +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?" +msgstr "" +"U bent momenteel bezig met het samenvoegen van mappen. Wilt u werkelijk " +"afbreken?" + +#: kdiff3.cpp:547 +msgid "Saving file..." +msgstr "Bestand wordt opgeslagen..." + +#: kdiff3.cpp:563 +msgid "Saving file with a new filename..." +msgstr "Bestand wordt opgeslagen met een nieuwe naam..." + +#: kdiff3.cpp:587 +msgid "Exiting..." +msgstr "Programma wordt afgesloten..." + +#: kdiff3.cpp:599 +msgid "Toggling toolbar..." +msgstr "Werkbalk aan/uit..." + +#: kdiff3.cpp:619 +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 +msgid "Couldn't find files for comparison." +msgstr "De bestanden om te vergelijken zijn niet gevonden." + +#: kdiff3_part.cpp:266 +msgid "KDiff3Part" +msgstr "KDiff3Part" + +#: kdiff3_shell.cpp:63 +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 "" +"Het KPart is niet gevonden.\n" +"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 "Merge the input." +msgstr "Invoer samenvoegen." + +#: main.cpp:37 +msgid "Explicit base file. For compatibility with certain tools." +msgstr "Expliciet basisbestand. Voor compatibiliteit met sommige hulpprogramma's." + +#: main.cpp:39 +msgid "Output file. Implies -m. E.g.: -o newfile.txt" +msgstr "Uitvoerbestand. -m is inbegrepen. Bijv.: -o nieuwbestand.txt." + +#: main.cpp:40 +msgid "Output file, again. (For compatibility with certain tools.)" +msgstr "Uitvoerbestand, opnieuw (voor compatibiliteit met sommige hulpprogramma's)." + +#: main.cpp:41 +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 +msgid "Don't solve conflicts automatically. (For compatibility...)" +msgstr "Conflicten niet automatisch oplossen (voor compatibiliteit ...)." + +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Zichtbare naamvervanging voor invoerbestand 1 (basis)." + +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Zichtbare naamvervanging voor invoerbestand 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Zichtbare naamvervanging voor invoerbestand 3." + +#: main.cpp:47 +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 +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 +msgid "file2 to open" +msgstr "Tweede bestand om te openen" + +#: main.cpp:54 +msgid "file3 to open" +msgstr "Derde bestand om te openen" + +#: main.cpp:108 rc.cpp:3 +msgid "KDiff3" +msgstr "KDiff3" + +#: main.cpp:120 +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 +msgid "" +"The output has been modified.\n" +"If you continue your changes will be lost." +msgstr "" +"De uitvoer is gewijzigd.\n" +"Als u verder gaat zullen uw wijzigingen verloren gaan." + +#: mergeresultwindow.cpp:726 pdiff.cpp:483 +msgid "All input files are binary equal." +msgstr "Alle invoerbestanden zijn binair gelijk." + +#: mergeresultwindow.cpp:728 pdiff.cpp:485 +msgid "All input files contain the same text." +msgstr "Alle invoerbestanden bevatten dezelfde tekst." + +#: mergeresultwindow.cpp:730 pdiff.cpp:487 +msgid "" +"Files A and B are binary equal.\n" +msgstr "" +"Bestanden A en B zijn binair gelijk.\n" + +#: mergeresultwindow.cpp:731 pdiff.cpp:488 +msgid "" +"Files A and B have equal text. \n" +msgstr "" +"Bestanden A en B hebben dezelfde tekst.\n" + +#: mergeresultwindow.cpp:732 pdiff.cpp:489 +msgid "" +"Files A and C are binary equal.\n" +msgstr "" +"Bestanden A en C zijn binair gelijk.\n" + +#: mergeresultwindow.cpp:733 pdiff.cpp:490 +msgid "" +"Files A and C have equal text. \n" +msgstr "" +"Bestanden A en C hebben dezelfde tekst.\n" + +#: mergeresultwindow.cpp:734 pdiff.cpp:491 +msgid "" +"Files B and C are binary equal.\n" +msgstr "" +"Bestanden B en C zijn binair gelijk.\n" + +#: mergeresultwindow.cpp:735 pdiff.cpp:492 +msgid "" +"Files B and C have equal text. \n" +msgstr "" +"Bestanden B en C hebben dezelfde tekst.\n" + +#: mergeresultwindow.cpp:738 +msgid "Total number of conflicts: " +msgstr "Totaal aantal conflicten: " + +#: mergeresultwindow.cpp:739 +msgid "" +"\n" +"Nr of automatically solved conflicts: " +msgstr "" +"\n" +"Aantal automatisch opgeloste conflicten: " + +#: mergeresultwindow.cpp:740 +msgid "" +"\n" +"Nr of unsolved conflicts: " +msgstr "" +"\n" +"Aantal onopgeloste conflicten: " + +#: mergeresultwindow.cpp:742 +msgid "Conflicts" +msgstr "Conflicten" + +#: mergeresultwindow.cpp:1081 +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Uitvoer" + +#: mergeresultwindow.cpp:1157 +msgid "[Modified]" +msgstr "[Gewijzigd]" + +#: mergeresultwindow.cpp:2067 +msgid "" +"Not all conflicts are solved yet.\n" +"File not saved.\n" +msgstr "" +"Nog niet alle conflicten zijn opgelost.\n" +"Bestand is niet opgeslagen.\n" + +#: mergeresultwindow.cpp:2069 +msgid "Conflicts Left" +msgstr "Er zijn nog onopgeloste conflicten" + +#: mergeresultwindow.cpp:2081 +msgid "" +"\n" +"\n" +"File not saved." +msgstr "" +"\n" +"\n" +"Bestand niet opgeslagen." + +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 +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 +msgid "Error while writing." +msgstr "Fout bij het opslaan." + +#: optiondialog.cpp:330 +msgid "Editor & Diff Output Font" +msgstr "Lettertype voor editor & vergelijkingsvenster" + +#: optiondialog.cpp:342 +msgid "Italic font for deltas" +msgstr "Cursief lettertype voor onderscheiden" + +#: optiondialog.cpp:345 +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 +msgid "Color" +msgstr "Kleur" + +#: optiondialog.cpp:353 +msgid "Colors in Editor & Diff Output" +msgstr "Kleuren in editor & vergelijkingvenster" + +#: optiondialog.cpp:367 +msgid "Foreground color:" +msgstr "Voorgrondkleur:" + +#: optiondialog.cpp:373 +msgid "Background color:" +msgstr "Achtergrondkleur:" + +#: optiondialog.cpp:380 +msgid "Diff background color:" +msgstr "Achtergrondkleur bij verschillen:" + +#: optiondialog.cpp:387 +msgid "Color A:" +msgstr "Kleur voor A:" + +#: optiondialog.cpp:394 +msgid "Color B:" +msgstr "Kleur voor B:" + +#: optiondialog.cpp:401 +msgid "Color C:" +msgstr "Kleur voor C:" + +#: optiondialog.cpp:407 +msgid "Conflict color:" +msgstr "Kleur voor conflicten:" + +#: optiondialog.cpp:414 +msgid "Current range background color:" +msgstr "Achtergrondkleur voor huidig bereik:" + +#: optiondialog.cpp:421 +msgid "Current range diff background color:" +msgstr "Achtergrondkleur voor verschillen in huidig bereik:" + +#: optiondialog.cpp:432 +msgid "Editor" +msgstr "Editor" + +#: optiondialog.cpp:432 +msgid "Editor Behaviour" +msgstr "Editorgedrag" + +#: optiondialog.cpp:441 +msgid "Tab inserts spaces" +msgstr "Tab voegt spaties in" + +#: optiondialog.cpp:444 +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 +msgid "Tab size:" +msgstr "Tabgrootte:" + +#: optiondialog.cpp:455 +msgid "Auto indentation" +msgstr "Automatisch inspringen" + +#: optiondialog.cpp:458 +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 +msgid "Auto copy selection" +msgstr "Automatische kopieerselectie" + +#: optiondialog.cpp:465 +msgid "" +"On: Any selection is immediately written to the clipboard.\n" +"Off: You must explicitely copy e.g. via Ctrl-C." +msgstr "" +"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:" +msgstr "Regeleinde:" + +#: 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 "" +"Stelt de regeleinden in voor als een bewerkt bestand wordt opgeslagen. " +"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" +msgstr "Vergelijken & samenvoegen" + +#: optiondialog.cpp:500 +msgid "Diff & Merge Settings" +msgstr "Instellingen voor vergelijking & samenvoeging" + +#: optiondialog.cpp:510 +msgid "Preserve carriage return" +msgstr "'Carriage return' behouden" + +#: optiondialog.cpp:513 +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" +"Helpt bij het vergelijken van bestanden die gewijzigd werden onder " +"verschillende besturingssystemen." + +#: optiondialog.cpp:518 +msgid "Ignore numbers" +msgstr "Getallen negeren" + +#: optiondialog.cpp:521 +msgid "" +"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" +"Kan helpen bij het vergelijken van bestanden met numerieke gegevens." + +#: optiondialog.cpp:526 +msgid "Ignore C/C++ Comments" +msgstr "C/C++ commentaar negeren" + +#: optiondialog.cpp:528 +msgid "Treat C/C++ comments like white space." +msgstr "C/C++ commentaar als witruimtes behandelen." + +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Geen onderscheid hoofd-/kleine letters" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" +"Verschil in hoofd-/kleine letters behandelen als witruimteverschillen ('a' " +"<=> 'A')" + +#: optiondialog.cpp:539 +msgid "Preprocessor command:" +msgstr "Preprocessorcommando:" + +#: optiondialog.cpp:543 +msgid "User defined pre-processing. (See the docs for details.)" +msgstr "Gebruikergedefinieerde voorbehandeling (zie documentatie voor meer details.)" + +#: optiondialog.cpp:546 +msgid "Line-matching preprocessor command:" +msgstr "Preprocessor-commando alleen voor regelcontroles:" + +#: optiondialog.cpp:550 +msgid "" +"This pre-processor is only used during line matching.\n" +"(See the docs for details.)" +msgstr "" +"Deze preprocessor wordt alleen gebruikt bij regelcontroles.\n" +"(Zie documentatie voor meer details)" + +#: optiondialog.cpp:553 +msgid "Try hard (slower)" +msgstr "Grondig zoeken (trager)" + +#: optiondialog.cpp:556 +msgid "" +"Enables the --minimal option for the external diff.\n" +"The analysis of big files will be much slower." +msgstr "" +"Activeert de optie '--minimal' voor een externe vergelijking.\n" +"De analyse van grote bestanden zal veel trager zijn." + +#: optiondialog.cpp:561 +msgid "Auto advance delay (ms):" +msgstr "Vertraging voor automatisch doorgaan (ms):" + +#: optiondialog.cpp:566 +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 de modus \"Automatisch doorgaan\" wordt het resultaat van de huidige " +"selectie getoond gedurende de ingestelde tijd, voordat men naar het volgende " +"conflict springt.\n" +"Bereik: 0-2000 ms" + +#: optiondialog.cpp:571 +msgid "White space 2-file merge default:" +msgstr "Standaardsamenvoeging van witruimtes bij 2 bestanden:" + +#: optiondialog.cpp:575 optiondialog.cpp:588 +msgid "Manual choice" +msgstr "Handmatige keuze" + +#: optiondialog.cpp:579 optiondialog.cpp:593 +msgid "" +"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 +msgid "White space 3-file merge default:" +msgstr "Standaardsamenvoeging van witruimtes bij 3 bestanden:" + +#: optiondialog.cpp:603 +msgid "Directory Merge" +msgstr "Bestandensamenvoeging" + +#: optiondialog.cpp:611 +msgid "Recursive directories" +msgstr "Recursieve mappen" + +#: optiondialog.cpp:613 +msgid "Whether to analyze subdirectories or not." +msgstr "Bepaalt of submappen wel of niet worden ingelezen." + +#: optiondialog.cpp:615 +msgid "File pattern(s):" +msgstr "Bestandspatroon(en):" + +#: optiondialog.cpp:620 +msgid "" +"Pattern(s) of files to be analyzed. \n" +"Wildcards: '*' and '?'\n" +"Several Patterns can be specified by using the separator: ';'" +msgstr "" +"Patroon(en) van bestanden om in te lezen. \n" +"Jokers: '*' en '?'\n" +"Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken ';'" + +#: optiondialog.cpp:626 +msgid "File-anti-pattern(s):" +msgstr "Bestand antipatroon(en):" + +#: optiondialog.cpp:631 +msgid "" +"Pattern(s) of files to be excluded from analysis. \n" +"Wildcards: '*' and '?'\n" +"Several Patterns can be specified by using the separator: ';'" +msgstr "" +"Patroon(en) van bestanden die niet zullen worden ingelezen. \n" +"Jokers: '*' en '?'\n" +"Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken ';'" + +#: optiondialog.cpp:637 +msgid "Dir-anti-pattern(s):" +msgstr "Map antipatroon(en):" + +#: optiondialog.cpp:642 +msgid "" +"Pattern(s) of directories to be excluded from analysis. \n" +"Wildcards: '*' and '?'\n" +"Several Patterns can be specified by using the separator: ';'" +msgstr "" +"Patroon(en) van mappen die niet zullen worden ingelezen. \n" +"Jokers: '*' en '?'\n" +"Meerdere patronen kunnen opgegeven worden d.m.v. het scheidingsteken. ';'" + +#: optiondialog.cpp:648 +msgid "Use .cvsignore" +msgstr ".cvsignore gebruiken" + +#: optiondialog.cpp:651 +msgid "" +"Extends the antipattern to anything that would be ignored by CVS.\n" +"Via local \".cvsignore\"-files this can be directory specific." +msgstr "" +"Breidt het antipatroon uit met alles dat genegeerd zou worden door CVS.\n" +"Via lokale \".cvsignore\"-bestanden kan dit mapspecifiek zijn." + +#: optiondialog.cpp:656 +msgid "Find hidden files and directories" +msgstr "Verborgen bestanden en mappen zoeken" + +#: optiondialog.cpp:659 +msgid "Finds files and directories with the hidden attribute." +msgstr "Zoekt naar verborgen bestanden en mappen." + +#: optiondialog.cpp:661 +msgid "Finds files and directories starting with '.'." +msgstr "Zoekt naar bestanden en mappen die beginnen met '.'." + +#: optiondialog.cpp:665 +msgid "Follow file links" +msgstr "Bestandskoppelingen volgen" + +#: optiondialog.cpp:668 +msgid "" +"On: Compare the file the link points to.\n" +"Off: Compare the links." +msgstr "" +"Aan: vergelijk het bestand naarwaar de koppeling verwijst.\n" +"Uit: vergelijk de koppelingen." + +#: optiondialog.cpp:673 +msgid "Follow directory links" +msgstr "Mapkoppelingen volgen" + +#: optiondialog.cpp:676 +msgid "" +"On: Compare the directory the link points to.\n" +"Off: Compare the links." +msgstr "" +"Aan: vergelijk de map naarwaar de koppeling verwijst.\n" +"Uit: vergelijk de koppeling." + +#: optiondialog.cpp:681 +msgid "List only deltas" +msgstr "Alleen onderscheid tonen" + +#: optiondialog.cpp:684 +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 +msgid "File Comparison Mode" +msgstr "Bestandenvergelijkmodus" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binaire vergelijking" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Binaire vergelijking van elk bestand (standaard)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Volledige analyse" + +#: optiondialog.cpp:695 +msgid "" +"Do a full analysis and show statistics information in extra columns.\n" +"(Slower than a binary comparison, much slower for binary files.)" +msgstr "" +"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 +msgid "Trust the modification date (unsafe)" +msgstr "Wijzigingsdatum vertrouwen (onveilig)" + +#: optiondialog.cpp:699 +msgid "" +"Assume that files are equal if the modification date and file length are " +"equal.\n" +"Useful for big directories or slow networks." +msgstr "" +"Gaat er van uit dat de bestanden gelijk zijn als de wijzigingsdatum en de " +"bestandsgroottes gelijk zijn.\n" +"Nuttig voor grote mappen en trage netwerken." + +#: optiondialog.cpp:702 +msgid "Trust the size (unsafe)" +msgstr "Grootte vertrouwen (onveilig)" + +#: optiondialog.cpp:703 +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 +msgid "Synchronize directories" +msgstr "Mappen synchroniseren" + +#: optiondialog.cpp:710 +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 "" +"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 +msgid "Copy newer instead of merging (unsafe)" +msgstr "Nieuwere bestanden kopiëren in plaats van samenvoegen (onveilig)" + +#: optiondialog.cpp:718 +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 "" +"De inhoud niet controleren, enkel het nieuwe bestand nemen.\n" +"(Gebruik dit enkel als u weet wat u doet!)\n" +"Alleen effectief wanneer men twee mappen met elkaar vergelijkt." + +#: optiondialog.cpp:723 +msgid "Backup files (.orig)" +msgstr "Reservekopie aanmaken (.orig)" + +#: optiondialog.cpp:726 +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 +msgid "Regional Settings" +msgstr "Regionale instellingen" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Taal (herstart vereist)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"Kies de taal voor de GUI-tekst, of \"Auto\".\n" +"Om de taal te wijzigen dient u KDiff3 te herstarten." + +#: optiondialog.cpp:825 +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 "" +"U hebt een lettertype met variabele breedte gekozen.\n" +"\n" +"Omdat dit programma geen correcte ondersteuning biedt voor dergelijke " +"lettertypen kunt u problemen ondervinden tijdens het bewerken.\n" +"\n" +"Wilt u doorgaan, of wilt u een ander lettertype selecteren?" + +#: optiondialog.cpp:829 +msgid "Incompatible Font" +msgstr "Incompatibel lettertype" + +#: optiondialog.cpp:830 +msgid "Continue at Own Risk" +msgstr "Doorgaan op eigen risico" + +#: optiondialog.cpp:830 +msgid "Select Another Font" +msgstr "Ander lettertype kiezen" + +#: optiondialog.cpp:858 +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 +msgid "PreprocessorCmd: " +msgstr "Preprocessorcommando: " + +#: pdiff.cpp:262 +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 +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" +"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" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Deze opties gebruiken tijdens samenvoegen" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Onveilige opties uitschakelen" + +#: pdiff.cpp:293 +msgid "Loading A" +msgstr "A laden" + +#: pdiff.cpp:297 +msgid "Loading B" +msgstr "B laden" + +#: pdiff.cpp:306 pdiff.cpp:329 +msgid "Diff: A <-> B" +msgstr "Vergelijking: A <-> B" + +#: pdiff.cpp:312 pdiff.cpp:349 +msgid "Linediff: A <-> B" +msgstr "Regelvergelijking: A <-> B" + +#: pdiff.cpp:321 +msgid "Loading C" +msgstr "C laden" + +#: pdiff.cpp:332 +msgid "Diff: B <-> C" +msgstr "Vergelijking: B <-> C" + +#: pdiff.cpp:335 +msgid "Diff: A <-> C" +msgstr "Vergelijking: A <-> C" + +#: pdiff.cpp:352 +msgid "Linediff: B <-> C" +msgstr "Regelvergelijking: B <-> C" + +#: pdiff.cpp:355 +msgid "Linediff: A <-> C" +msgstr "Regelvergelijking: A <-> C" + +#: pdiff.cpp:502 +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 "" +"Sommige invoerbestanden blijken geen pure tekstbestanden te zijn.\n" +"Opmerking: KDiff3 is niet bedoeld voor binaire gegevens.\n" +"U kunt verder gaan op eigen risico." + +#: pdiff.cpp:929 +msgid "A (Base):" +msgstr "A (basis):" + +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 +msgid "File..." +msgstr "Bestand..." + +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 +msgid "Dir..." +msgstr "Map..." + +#: pdiff.cpp:962 +msgid "C (Optional):" +msgstr "C (optioneel):" + +#: pdiff.cpp:981 +msgid "Output (optional):" +msgstr "Uitvoer (optioneel):" + +#: pdiff.cpp:1010 +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" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/pl.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/po/pl.po Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,1987 @@ +# translation of en_GB.po to Polish +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Tomasz WaleÅ„czak , 2004. +# +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 \n" +"Language-Team: Polish\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" + +#: _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Tomasz Walenczak" + +#: _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "tom@w.pl" + +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Nieudany zapis danych ze zchowka do pliku tymczasowego." + +#: diff.cpp:245 +msgid "From Clipboard" +msgstr "ze schowka" + +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 +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 +msgid "Severe Internal Error" +msgstr "Poważny błąd wewnÄ™trzny" + +#: difftextwindow.cpp:829 +#, c-format +msgid "Top line %1" +msgstr "Nr pierwszej linii na ekranie: %1" + +#: difftextwindow.cpp:831 +msgid "End" +msgstr "Koniec" + +#: directorymergewindow.cpp:114 +msgid "Mix of links and normal files." +msgstr "Pomieszane linki i normalne pliki." + +#: directorymergewindow.cpp:121 +msgid "Link: " +msgstr "Link: " + +#: directorymergewindow.cpp:129 +msgid "Size. " +msgstr "Rozmiar. " + +#: directorymergewindow.cpp:142 +msgid "Date & Size: " +msgstr "Data & Rozmiar: " + +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 +msgid "Creating temp copy of %1 failed." +msgstr "Tworzenie tymczasowej kopii %1 nieudane." + +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 +msgid "Opening %1 failed." +msgstr "Nieudane otwarcie %1." + +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Zapisywanie pliku..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 +#, c-format +msgid "Error reading from %1" +msgstr "Błąd czytania z %1" + +#: directorymergewindow.cpp:252 +msgid "Name" +msgstr "Nazwa" + +#: directorymergewindow.cpp:256 +msgid "Operation" +msgstr "Operacja" + +#: directorymergewindow.cpp:257 +msgid "Status" +msgstr "Status" + +#: 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 "" +"Obecnie wykonywane jest łączenie katalogów. JesteÅ› pewny że chcesz " +"przerwać tÄ… operacjÄ™ i ponownie przeskanować katalog?" + +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 +msgid "Rescan" +msgstr "Ponowne skanowanie" + +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 +msgid "Continue Merging" +msgstr "Kontynuacja łączenia" + +#: directorymergewindow.cpp:421 +msgid "Opening of directories failed:" +msgstr "Nieudane otwarcie katalogu:" + +#: directorymergewindow.cpp:424 +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 +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 +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 +msgid "Directory Open Error" +msgstr "Błąd otwarcia katalogu" + +#: directorymergewindow.cpp:440 +msgid "" +"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 +msgid "Parameter Warning" +msgstr "Ostrzeżenie co do parametru" + +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "Synchronizacja katalogów" + +#: directorymergewindow.cpp:496 +msgid "Reading Directory A" +msgstr "Czytanie katalogu A" + +#: directorymergewindow.cpp:518 +msgid "Reading Directory B" +msgstr "Czytanie katalogu B" + +#: directorymergewindow.cpp:540 +msgid "Reading Directory C" +msgstr "Czytanie katalogu C" + +#: directorymergewindow.cpp:566 +msgid "Some subdirectories were not readable in" +msgstr "Niektóre podkatalogi sÄ… nie do odczytu w" + +#: directorymergewindow.cpp:571 +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 +msgid "Ready." +msgstr "Gotowe." + +#: directorymergewindow.cpp:619 +msgid "Directory Comparison Status" +msgstr "Status porównywania katalogów" + +#: directorymergewindow.cpp:620 +msgid "Number of subdirectories:" +msgstr "Ilość podkatalogów:" + +#: directorymergewindow.cpp:621 +msgid "Number of equal files:" +msgstr "Ilość identycznych plików:" + +#: directorymergewindow.cpp:622 +msgid "Number of different files:" +msgstr "Ilość różniÄ…cych siÄ™ plików:" + +#: directorymergewindow.cpp:625 +msgid "Number of manual merges:" +msgstr "Ilość rÄ™cznych połączeÅ„:" + +#: directorymergewindow.cpp:761 +msgid "This affects all merge operations." +msgstr "To wpÅ‚ynie na wszystkie operacje połączenia" + +#: directorymergewindow.cpp:762 +msgid "Changing All Merge Operations" +msgstr "Zmiana wszystkich operacji łączenia" + +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 +msgid "C&ontinue" +msgstr "K&ontynuuj" + +#: directorymergewindow.cpp:1057 +msgid "Processing " +msgstr "W trakcie " + +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 +msgid "To do." +msgstr "Do zrobienia." + +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 +msgid "Copy A to B" +msgstr "Kopiuj A do B" + +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 +msgid "Copy B to A" +msgstr "Kopiuj B do A" + +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 +msgid "Delete A" +msgstr "UsuÅ„ A" + +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 +msgid "Delete B" +msgstr "UsuÅ„ B" + +#: directorymergewindow.cpp:1476 +msgid "Delete A & B" +msgstr "UsuÅ„ A i B" + +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 +msgid "Merge to A" +msgstr "Połącz z A" + +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 +msgid "Merge to B" +msgstr "Połącz z B" + +#: directorymergewindow.cpp:1479 +msgid "Merge to A & B" +msgstr "Połącz z A i B" + +#: directorymergewindow.cpp:1483 +msgid "Delete (if exists)" +msgstr "UsuÅ„ (jeÅ›li istnieje)" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 +msgid "Merge" +msgstr "Połącz" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +msgid "Merge (manual)" +msgstr "Połącz (rÄ™cznie)" + +#: directorymergewindow.cpp:1486 +msgid "Error: Conflicting File Types" +msgstr "Błąd: Konflikt typów plików" + +#: directorymergewindow.cpp:1487 +msgid "Error: Dates are equal but files are not." +msgstr "Błąd: Data identyczna ale pliki nie." + +#: directorymergewindow.cpp:1511 +msgid "This operation is currently not possible." +msgstr "Ta operacja jest w tej chwili niemożliwa." + +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 +msgid "Operation Not Possible" +msgstr "Niemożliwa operacja" + +#: directorymergewindow.cpp:1554 +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 "" +"To nie powinno siÄ™ wydarzyć: \n" +"\n" +"mergeResultSaved: m_pMFI=0\n" +"\n" +"JeÅ›li wiesz jak to powtórzyć, proszÄ™ skontaktować siÄ™ z autorem " +"programu." + +#: directorymergewindow.cpp:1554 +msgid "Program Error" +msgstr "Błąd programu" + +#: directorymergewindow.cpp:1565 +msgid "" +"An error occurred while copying.\n" +msgstr "" +"WystÄ…piÅ‚ błąd w trakcie kopiowania.\n" + +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 +msgid "Merge Error" +msgstr "Błąd połączenia" + +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 +msgid "Error." +msgstr "Błąd." + +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 +msgid "Done." +msgstr "Zrobione." + +#: directorymergewindow.cpp:1599 +msgid "Not saved." +msgstr "Nie zapisane." + +#: directorymergewindow.cpp:1634 +msgid "Unknown merge operation. (This must never happen!)" +msgstr "Nieznana operacja połączenia. (To siÄ™ nigdy nie powinno wydarzyć!)" + +#: directorymergewindow.cpp:1666 +msgid "Unknown merge operation." +msgstr "Nieznana operacja połączenia." + +#: directorymergewindow.cpp:1681 +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 "" +"RozpoczÄ™cie operacji połączenia.\n" +"\n" +"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 +msgid "Starting Merge" +msgstr "RozpoczÄ™cie połączenia" + +#: directorymergewindow.cpp:1686 +msgid "Do It" +msgstr "Wykonaj" + +#: directorymergewindow.cpp:1686 +msgid "Simulate It" +msgstr "Symuluj" + +#: directorymergewindow.cpp:1712 +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 +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 +msgid "" +"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 +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 "" +"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 +msgid "Continue merge after an error" +msgstr "Kontynuuj połączenie po błędzie" + +#: directorymergewindow.cpp:1840 +msgid "Continue With Last Item" +msgstr "Kontynuuj z ostatniÄ… pozycjÄ…" + +#: directorymergewindow.cpp:1840 +msgid "Skip Item" +msgstr "PomiÅ„ pozycjÄ™" + +#: directorymergewindow.cpp:1874 +msgid "Skipped." +msgstr "PominiÄ™to." + +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 +msgid "In progress..." +msgstr "W trakcie..." + +#: directorymergewindow.cpp:1929 +msgid "Merge operation complete." +msgstr "Operacja połączenia zakoÅ„czona." + +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 +msgid "Merge Complete" +msgstr "Połączenie zakoÅ„czone" + +#: directorymergewindow.cpp:1941 +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 +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 +msgid "Error: While deleting %1: Creating backup failed." +msgstr "Błąd: W trakcie usuwania %1: Błąd tworzenia kopii zapasowej." + +#: directorymergewindow.cpp:2027 +#, fuzzy +msgid "delete directory recursively( %1 )" +msgstr "delete directory recursively( %1 )" + +#: directorymergewindow.cpp:2029 +msgid "delete( %1 )" +msgstr "usuÅ„( %1 )" + +#: directorymergewindow.cpp:2044 +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 +msgid "Error: rmdir( %1 ) operation failed." +msgstr "Błąd: rmdir( %1 ) operacja nieudana." + +#: directorymergewindow.cpp:2073 +msgid "Error: delete operation failed." +msgstr "Błąd: Nieudana operacja usuwania." + +#: directorymergewindow.cpp:2099 +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." +msgstr "" +" Uwaga: Po rÄ™cznym połączeniu użytkownik powinien kontynuować " +"wciskajÄ…c F7." + +#: directorymergewindow.cpp:2125 +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 +msgid "copyLink( %1 -> %2 )" +msgstr "copyLink( %1 -> %2 )" + +#: directorymergewindow.cpp:2146 +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 +msgid "Error: copyLink failed." +msgstr "Błąd: Nieudane copyLink." + +#: directorymergewindow.cpp:2172 +msgid "copy( %1 -> %2 )" +msgstr "kopiowanie( %1 -> %2 )" + +#: directorymergewindow.cpp:2198 +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 +msgid "rename( %1 -> %2 )" +msgstr "zmiana nazwy( %1 -> %2 )" + +#: directorymergewindow.cpp:2213 +msgid "Error: Rename failed." +msgstr "Błąd: Nieudana zmiana nazwy." + +#: directorymergewindow.cpp:2231 +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 +msgid "makeDir( %1 )" +msgstr "makeDir( %1 )" + +#: directorymergewindow.cpp:2257 +msgid "Error while creating directory." +msgstr "Błąd w trakcie tworzenia katalogu." + +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 +msgid "Dest" +msgstr "Cel" + +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 +msgid "Dir" +msgstr "Katalog" + +#: directorymergewindow.cpp:2285 +msgid "Type" +msgstr "Typ" + +#: directorymergewindow.cpp:2286 +msgid "Size" +msgstr "Rozmiar" + +#: directorymergewindow.cpp:2287 +msgid "Attr" +msgstr "Atrybut" + +#: directorymergewindow.cpp:2288 +msgid "Last Modification" +msgstr "Ostatnia modyfikacja" + +#: directorymergewindow.cpp:2289 +#, fuzzy +msgid "Link-Destination" +msgstr "Link-Destination" + +#: directorymergewindow.cpp:2330 +msgid "not available" +msgstr "nie dostÄ™pne" + +#: directorymergewindow.cpp:2350 +msgid "A (Dest): " +msgstr "A (Cel): " + +#: directorymergewindow.cpp:2353 +msgid "A (Base): " +msgstr "A (Podstawa): " + +#: directorymergewindow.cpp:2359 +msgid "B (Dest): " +msgstr "B (Cel): " + +#: directorymergewindow.cpp:2367 +msgid "C (Dest): " +msgstr "C (Cel): " + +#: directorymergewindow.cpp:2373 +msgid "Dest: " +msgstr "Cel: " + +#: directorymergewindow.cpp:2398 +msgid "Start/Continue Directory Merge" +msgstr "Start/Kontynuuj Połączenie Katalogów " + +#: directorymergewindow.cpp:2399 +msgid "Run Operation for Current Item" +msgstr "wykonaj operacjÄ™ na bieżącej pozycji" + +#: directorymergewindow.cpp:2400 +msgid "Compare Selected File" +msgstr "Porównaj zaznaczone pliki" + +#: directorymergewindow.cpp:2401 +msgid "Merge Current File" +msgstr "Połącz bieżący plik" + +#: directorymergewindow.cpp:2402 +msgid "Fold All Subdirs" +msgstr "UwzglÄ™dnij podkatalogi" + +#: directorymergewindow.cpp:2403 +msgid "Unfold All Subdirs" +msgstr "Nie uwzglÄ™dniaj podkatalogów" + +#: directorymergewindow.cpp:2405 +msgid "Choose A for All Items" +msgstr "Wybierz A dla wszystkich pozycji" + +#: directorymergewindow.cpp:2406 +msgid "Choose B for All Items" +msgstr "Wybierz B dla wszystkich pozycji" + +#: directorymergewindow.cpp:2407 +msgid "Choose C for All Items" +msgstr "Wybierz C dla wszystkich pozycji" + +#: directorymergewindow.cpp:2408 +msgid "Auto-Choose Operation for All Items" +msgstr "Automatyczny wybór dla wszystkich pozycji" + +#: directorymergewindow.cpp:2409 +msgid "No Operation for All Items" +msgstr "Brak operacji dla wszystkich pozycji" + +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 +msgid "Do Nothing" +msgstr "Nic nie rób" + +#: directorymergewindow.cpp:2412 +msgid "A" +msgstr "A" + +#: directorymergewindow.cpp:2413 +msgid "B" +msgstr "B" + +#: directorymergewindow.cpp:2414 +msgid "C" +msgstr "C" + +#: directorymergewindow.cpp:2416 +msgid "Delete (If Exists)" +msgstr "UsuÅ„ (jeÅ›li istnieje)" + +#: directorymergewindow.cpp:2423 +msgid "Delete A and B" +msgstr "UsuÅ„ A i B" + +#: directorymergewindow.cpp:2426 +msgid "Merge to A and B" +msgstr "Połącz z A i B" + +#: fileaccess.cpp:540 +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" +"Nazwa pliku: " + +#: fileaccess.cpp:547 +msgid "" +"While trying to make a backup, renaming failed. \n" +"Filenames: " +msgstr "" +"Błąd w trakcie wykonywania kopii zapasowej. Nieudana zmiana nazwy. \n" +"Nazwa plików: " + +#: fileaccess.cpp:569 +#, c-format +msgid "Getting file status: %1" +msgstr "Pobranie statusu pliku: %1" + +#: fileaccess.cpp:612 +#, c-format +msgid "Reading file: %1" +msgstr "Czytanie pliku: %1" + +#: fileaccess.cpp:648 +#, c-format +msgid "Writing file: %1" +msgstr "Zapisywanie pliku: %1" + +#: fileaccess.cpp:676 +msgid "Out of memory" +msgstr "Brak pamiÄ™ci" + +#: fileaccess.cpp:711 +#, c-format +msgid "Making directory: %1" +msgstr "Tworzenie katalogu: %1" + +#: fileaccess.cpp:731 +#, c-format +msgid "Removing directory: %1" +msgstr "Usuwanie katalogu: %1" + +#: fileaccess.cpp:746 +#, c-format +msgid "Removing file: %1" +msgstr "Usuwanie pliku: %1" + +#: fileaccess.cpp:762 +msgid "Creating symbolic link: %1 -> %2" +msgstr "Tworzenie linku symbolicznego: %1 -> %2" + +#: fileaccess.cpp:788 +msgid "Renaming file: %1 -> %2" +msgstr "Zmiana nazwy pliku: %1 -> %2" + +#: fileaccess.cpp:824 +msgid "Copying file: %1 -> %2" +msgstr "Kopiowanie pliku: %1 -> %2" + +#: fileaccess.cpp:838 +#, 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 +#, c-format +msgid "" +"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" + +#: fileaccess.cpp:859 +#, 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 +#, 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 +msgid "Reading directory: " +msgstr "Czytanie katalogu: " + +#: fileaccess.cpp:1297 +#, c-format +msgid "Listing directory: %1" +msgstr "Wylistowanie katalogu: %1" + +#: kdiff3.cpp:135 +msgid "Option --auto used, but no output file specified." +msgstr "Użyta opcja --auto, ale nie okreÅ›lone wyjÅ›cie." + +#: kdiff3.cpp:241 +msgid "Option --auto ignored for directory comparison." +msgstr "Opcja --auto-zignorowana przy porównywaniu katalogów." + +#: kdiff3.cpp:277 +msgid "Saving failed." +msgstr "Nieudany zapis." + +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 +msgid "Opening of these files failed:" +msgstr "Nieudane otwarcie nastÄ™pujÄ…cych plików:" + +#: kdiff3.cpp:310 +msgid "File Open Error" +msgstr "Błąd otwarcia pliku" + +#: kdiff3.cpp:329 +msgid "Opens documents for comparison..." +msgstr "Otwieranie dokumentów do porównania..." + +#: kdiff3.cpp:331 +msgid "Saves the merge result. All conflicts must be solved!" +msgstr "" +"Zapisywanie rezultatu połączenia. Wszystkie konflikty muszÄ… być " +"rozwiÄ…zane!" + +#: kdiff3.cpp:333 +msgid "Saves the current document as..." +msgstr "Zapisywanie bieżącego dokumentu jako..." + +#: kdiff3.cpp:335 +msgid "Quits the application" +msgstr "WyjÅ›cie z programu" + +#: kdiff3.cpp:337 +msgid "Cuts the selected section and puts it to the clipboard" +msgstr "Wycina zaznaczony fragment i umieszcza go w schowku" + +#: kdiff3.cpp:339 +msgid "Copies the selected section to the clipboard" +msgstr "Kopiuje zaznaczony fragment do schowka" + +#: kdiff3.cpp:341 +msgid "Pastes the clipboard contents to actual position" +msgstr "Wklejanie zawartoÅ›ci schowka w aktualne poÅ‚ożenie" + +#: kdiff3.cpp:343 +msgid "Search for a string" +msgstr "Znajdź tekst" + +#: kdiff3.cpp:345 +msgid "Search again for the string" +msgstr "Szukaj ponownie tekstu" + +#: kdiff3.cpp:347 +msgid "Enables/disables the toolbar" +msgstr "Włącza/wyłącza pasek narzÄ™dzi" + +#: kdiff3.cpp:349 +msgid "Enables/disables the statusbar" +msgstr "Włącza/wyłącza pasek statusu" + +#: kdiff3.cpp:353 +msgid "Configure KDiff3..." +msgstr "Konfiguracja KDiff3..." + +#: kdiff3.cpp:374 +msgid "Go to Current Delta" +msgstr "Idź do bieżącej różnicy" + +#: kdiff3.cpp:375 +msgid "Go to First Delta" +msgstr "Idź do pierwszej różnicy" + +#: kdiff3.cpp:376 +msgid "Go to Last Delta" +msgstr "Idź do ostatniej różnicy" + +#: kdiff3.cpp:377 +msgid "Go to Previous Delta" +msgstr "Idź do poprzedniej różnicy" + +#: kdiff3.cpp:378 +msgid "Go to Next Delta" +msgstr "Idź do nastÄ™pnej różnicy" + +#: kdiff3.cpp:379 +msgid "Go to Previous Conflict" +msgstr "Idź do poprzedniego konfliktu" + +#: kdiff3.cpp:380 +msgid "Go to Next Conflict" +msgstr "Idź do nastÄ™pnego konfliktu" + +#: kdiff3.cpp:381 +msgid "Go to Previous Unsolved Conflict" +msgstr "Idź do poprzedniego nie rozwiÄ…zanego konfliktu" + +#: kdiff3.cpp:382 +msgid "Go to Next Unsolved Conflict" +msgstr "Idź do nastÄ™pnego nie rozwiÄ…zanego konfliktu" + +#: kdiff3.cpp:383 +msgid "Select Line(s) From A" +msgstr "Wybierz linie z A" + +#: kdiff3.cpp:384 +msgid "Select Line(s) From B" +msgstr "Wybierz linie z B" + +#: kdiff3.cpp:385 +msgid "Select Line(s) From C" +msgstr "Wybierz linie z C" + +#: kdiff3.cpp:386 +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 +msgid "Show Space && Tabulator Characters for Differences" +msgstr "Pokaż spacje i tabulacjÄ™ w miejsce różnic" + +#: kdiff3.cpp:389 +msgid "Show White Space" +msgstr "Pokaż biaÅ‚e znaki" + +#: kdiff3.cpp:391 +msgid "Show Line Numbers" +msgstr "Pokaż numery linii" + +#: kdiff3.cpp:392 +msgid "Choose A Everywhere" +msgstr "Wybierz wszÄ™dzie A" + +#: kdiff3.cpp:393 +msgid "Choose B Everywhere" +msgstr "Wybierz wszÄ™dzie B" + +#: kdiff3.cpp:394 +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 +msgid "Automatically Solve Simple Conflicts" +msgstr "Automatycznie rozwiąż proste konflikty" + +#: kdiff3.cpp:402 +msgid "Set Deltas to Conflicts" +msgstr "ZamieÅ„ różnice na konflikty" + +#: kdiff3.cpp:404 +msgid "Show Window A" +msgstr "Pokaż okno A" + +#: kdiff3.cpp:405 +msgid "Show Window B" +msgstr "Pokaż okno B" + +#: kdiff3.cpp:406 +msgid "Show Window C" +msgstr "Pokaz okno C" + +#: kdiff3.cpp:407 kdiff3.cpp:416 +msgid "Focus Next Window" +msgstr "Uaktywnij nastÄ™pne okno" + +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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 "Uaktywnij poprzednie okno" + +#: kdiff3.cpp:419 +msgid "Toggle Split Orientation" +msgstr "Przełącz orientacjÄ™ podziaÅ‚u okien" + +#: kdiff3.cpp:421 +#, fuzzy +msgid "Dir && Text Split Screen View" +msgstr "Dir && Text Split Screen View" + +#: kdiff3.cpp:423 +msgid "Toggle Between Dir && Text View" +msgstr "Przełącza miÄ™dzy widokiem katalogów i tekstu" + +#: kdiff3.cpp:504 pdiff.cpp:1754 +msgid "The merge result hasn't been saved." +msgstr "Rezultat połączenia nie zostaÅ‚ zapisany" + +#: kdiff3.cpp:505 +msgid "Save && Quit" +msgstr "Zapisz i Wyjdź" + +#: kdiff3.cpp:505 +msgid "Quit Without Saving" +msgstr "ZakoÅ„cz bez zapisywania" + +#: kdiff3.cpp:513 pdiff.cpp:1763 +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?" +msgstr "" +"Obecnie wykonujesz połączenie katalogów. JesteÅ› pewny że chcesz " +"przerwać?" + +#: kdiff3.cpp:547 +msgid "Saving file..." +msgstr "Zapisywanie pliku..." + +#: kdiff3.cpp:563 +msgid "Saving file with a new filename..." +msgstr "Zapisywanie pliku pod nowÄ… nazwÄ….." + +#: kdiff3.cpp:587 +msgid "Exiting..." +msgstr "WyjÅ›cie..." + +#: kdiff3.cpp:599 +msgid "Toggling toolbar..." +msgstr "Przełączanie paska narzÄ™dzi..." + +#: kdiff3.cpp:619 +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 +msgid "Couldn't find files for comparison." +msgstr "Nie można znaleźć plików do porównania." + +#: kdiff3_part.cpp:266 +msgid "KDiff3Part" +msgstr "KDiff3Part" + +#: kdiff3_shell.cpp:63 +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Å„" + +#: main.cpp:35 +msgid "Merge the input." +msgstr "Połącz pliki wejÅ›ciowe" + +#: main.cpp:37 +msgid "Explicit base file. For compatibility with certain tools." +msgstr "" + +#: main.cpp:39 +msgid "Output file. Implies -m. E.g.: -o newfile.txt" +msgstr "" + +#: main.cpp:40 +msgid "Output file, again. (For compatibility with certain tools.)" +msgstr "" + +#: main.cpp:41 +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 +msgid "Don't solve conflicts automatically. (For compatibility...)" +msgstr "Nie rozwiÄ…zuj konfliktów automatycznie. (Dla zgodnoÅ›ci...)" + +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "" + +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "" + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "" + +#: main.cpp:47 +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 +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 +msgid "file2 to open" +msgstr "Otwórz plik 2 " + +#: main.cpp:54 +msgid "file3 to open" +msgstr "Otwórz plik3" + +#: main.cpp:108 rc.cpp:3 +msgid "KDiff3" +msgstr "KDiff3" + +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 +msgid "" +"The output has been modified.\n" +"If you continue your changes will be lost." +msgstr "" +"Plik wyjÅ›ciowy zostaÅ‚ zmieniony.\n" +"JeÅ›li bÄ™dziesz kontynuować zmiany zostanÄ… utracone." + +#: mergeresultwindow.cpp:726 pdiff.cpp:483 +msgid "All input files are binary equal." +msgstr "Wszystkie pliki wejÅ›ciowe sÄ… binarnie równe." + +#: mergeresultwindow.cpp:728 pdiff.cpp:485 +msgid "All input files contain the same text." +msgstr "Wszystkie wejÅ›ciowe pliki zawierajÄ…c ten sam tekst." + +#: mergeresultwindow.cpp:730 pdiff.cpp:487 +msgid "" +"Files A and B are binary equal.\n" +msgstr "" +"Pliki A i B sÄ… binarnie identyczne.\n" + +#: mergeresultwindow.cpp:731 pdiff.cpp:488 +msgid "" +"Files A and B have equal text. \n" +msgstr "" +"Pliki A i B majÄ… identyczny tekst.\n" + +#: mergeresultwindow.cpp:732 pdiff.cpp:489 +msgid "" +"Files A and C are binary equal.\n" +msgstr "" +"Pliki A i C sÄ… binarnie identyczne.\n" + +#: mergeresultwindow.cpp:733 pdiff.cpp:490 +msgid "" +"Files A and C have equal text. \n" +msgstr "" +"Pliki A i C majÄ… identyczny tekst.\n" + +#: mergeresultwindow.cpp:734 pdiff.cpp:491 +msgid "" +"Files B and C are binary equal.\n" +msgstr "" +"Pliki B i C sÄ… binarnie identyczne.\n" + +#: mergeresultwindow.cpp:735 pdiff.cpp:492 +msgid "" +"Files B and C have equal text. \n" +msgstr "" +"Pliki B i C majÄ… identyczny tekst. \n" + +#: mergeresultwindow.cpp:738 +msgid "Total number of conflicts: " +msgstr "CaÅ‚kowita ilość konfliktów: " + +#: mergeresultwindow.cpp:739 +msgid "" +"\n" +"Nr of automatically solved conflicts: " +msgstr "" +"\n" +"Ilość automatycznie rozwiÄ…zanych konfliktów: " + +#: mergeresultwindow.cpp:740 +msgid "" +"\n" +"Nr of unsolved conflicts: " +msgstr "" +"\n" +"Ilość nie rozwiÄ…zanych konfliktów: " + +#: mergeresultwindow.cpp:742 +msgid "Conflicts" +msgstr "Konflikty" + +#: mergeresultwindow.cpp:1081 +#, fuzzy +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 +msgid "[Modified]" +msgstr "[zmodyfikowane]" + +#: mergeresultwindow.cpp:2067 +msgid "" +"Not all conflicts are solved yet.\n" +"File not saved.\n" +msgstr "" +"Nie wszystkie konflikty zostaÅ‚y rozwiÄ…zane.\n" +"Plik nie zostaÅ‚ zapisany.\n" + +#: mergeresultwindow.cpp:2069 +msgid "Conflicts Left" +msgstr "PozostaÅ‚e konflikty" + +#: mergeresultwindow.cpp:2081 +msgid "" +"\n" +"\n" +"File not saved." +msgstr "" +"\n" +"\n" +"Plik nie zapisany." + +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 +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 +msgid "Error while writing." +msgstr "Błąd w czasie zapisu." + +#: optiondialog.cpp:330 +msgid "Editor & Diff Output Font" +msgstr "Czcionka edytora i wyjÅ›cia różnic" + +#: optiondialog.cpp:342 +msgid "Italic font for deltas" +msgstr "Kursywa do różnic" + +#: optiondialog.cpp:345 +msgid "" +"Selects the italic version of the font for differences.\n" +"If the font doesn't support italic characters, then this does nothing." +msgstr "" +"Wybierz kursywÄ™ do pokazania różnic.\n" +"JeÅ›li czcionka nie ma kursywy, wtedy to nic nie zmieni." + +#: optiondialog.cpp:353 +msgid "Color" +msgstr "Kolor" + +#: optiondialog.cpp:353 +#, fuzzy +msgid "Colors in Editor & Diff Output" +msgstr "Kolory w edytorze i Diff Output" + +#: optiondialog.cpp:367 +msgid "Foreground color:" +msgstr "Kolor podstawowy:" + +#: optiondialog.cpp:373 +msgid "Background color:" +msgstr "Kolor tÅ‚a:" + +#: optiondialog.cpp:380 +msgid "Diff background color:" +msgstr "Kolor tÅ‚a dla różnic:" + +#: optiondialog.cpp:387 +msgid "Color A:" +msgstr "Kolor A:" + +#: optiondialog.cpp:394 +msgid "Color B:" +msgstr "Kolor B:" + +#: optiondialog.cpp:401 +msgid "Color C:" +msgstr "Kolor C:" + +#: optiondialog.cpp:407 +msgid "Conflict color:" +msgstr "Kolor dla konfliktów:" + +#: optiondialog.cpp:414 +msgid "Current range background color:" +msgstr "Kolor tÅ‚a zaznaczonego bloku:" + +#: optiondialog.cpp:421 +msgid "Current range diff background color:" +msgstr "Kolor tÅ‚a różnic w bloku:" + +#: optiondialog.cpp:432 +msgid "Editor" +msgstr "Edytor" + +#: optiondialog.cpp:432 +msgid "Editor Behaviour" +msgstr "Zachowanie Edytora" + +#: optiondialog.cpp:441 +msgid "Tab inserts spaces" +msgstr "ZamieÅ„ znaki tabulacji na spacje" + +#: optiondialog.cpp:444 +msgid "" +"On: Pressing tab generates the appropriate number of spaces.\n" +"Off: A Tab-character will be inserted." +msgstr "" +"Włą: WciÅ›niÄ™cie tabulacji wstawi okreÅ›lonÄ… liczbÄ™ spacji.\n" +"WyÅ‚: Zostanie wprowadzony znak tabulacji." + +#: optiondialog.cpp:450 +msgid "Tab size:" +msgstr "Szerokość tabulacji:" + +#: optiondialog.cpp:455 +msgid "Auto indentation" +msgstr "Automatyczna indentacja" + +#: optiondialog.cpp:458 +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 +msgid "Auto copy selection" +msgstr "Wybór auto kopiowania" + +#: optiondialog.cpp:465 +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 +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 "" +"Ustaw znak koÅ„ca linii jaki bÄ™dzie użyty 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" +msgstr "Różnice i Połączenia" + +#: optiondialog.cpp:500 +msgid "Diff & Merge Settings" +msgstr "Ustawienia różnic i połączeÅ„" + +#: optiondialog.cpp:510 +msgid "Preserve carriage return" +msgstr "Zachowuj znak koÅ„ca linii" + +#: optiondialog.cpp:513 +msgid "" +"Show carriage return characters '\\r' if they exist.\n" +"Helps to compare files that were modified under different operating systems." +msgstr "" +"Pokazuj znaki koÅ„ca linii '\\r' jeÅ›li istniejÄ….\n" +"Pomaga to w porównywaniu plików które zostaÅ‚y\n" +"zmodyfikowane w rożnych systemach operacyjnych." + +#: optiondialog.cpp:518 +msgid "Ignore numbers" +msgstr "Ignoruj cyfry" + +#: optiondialog.cpp:521 +msgid "" +"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" +msgstr "Ignoruj komentarze C/C++ " + +#: optiondialog.cpp:528 +msgid "Treat C/C++ comments like white space." +msgstr "Traktuj komentarze C/C++ jak biaÅ‚e znaki." + +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "Ignoruj cyfry" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" + +#: optiondialog.cpp:539 +msgid "Preprocessor command:" +msgstr "Komenda preprocesora:" + +#: optiondialog.cpp:543 +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 +msgid "Line-matching preprocessor command:" +msgstr "" + +#: optiondialog.cpp:550 +msgid "" +"This pre-processor is only used during line matching.\n" +"(See the docs for details.)" +msgstr "" + +#: optiondialog.cpp:553 +msgid "Try hard (slower)" +msgstr "Try hard (wolne)" + +#: optiondialog.cpp:556 +msgid "" +"Enables the --minimal option for the external diff.\n" +"The analysis of big files will be much slower." +msgstr "" +"UdostÄ™pnia opcjÄ™ --minimal dla zewnÄ™trznego.\n" +"Analizowanie dużych plików bÄ™dzie znacznie wolniejsze." + +#: optiondialog.cpp:561 +msgid "Auto advance delay (ms):" +msgstr "" + +#: optiondialog.cpp:566 +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 +msgid "White space 2-file merge default:" +msgstr "" + +#: optiondialog.cpp:575 optiondialog.cpp:588 +msgid "Manual choice" +msgstr "RÄ™czny wybór" + +#: optiondialog.cpp:579 optiondialog.cpp:593 +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 "" + +#: optiondialog.cpp:603 +msgid "Directory Merge" +msgstr "Połączenia katalogów" + +#: optiondialog.cpp:611 +msgid "Recursive directories" +msgstr "Rekursywne katalogi" + +#: optiondialog.cpp:613 +msgid "Whether to analyze subdirectories or not." +msgstr "Czy majÄ… być analizowane podkatalogi." + +#: optiondialog.cpp:615 +msgid "File pattern(s):" +msgstr "Wzorzec plików:" + +#: optiondialog.cpp:620 +#, fuzzy +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" +"Można okreÅ›lić kilka wzorców poprzez użycie separatora: ';'" + +#: optiondialog.cpp:626 +msgid "File-anti-pattern(s):" +msgstr "Anty wzorzec plików:" + +#: optiondialog.cpp:631 +#, 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 "" +"Wzorce plików jakie majÄ… być wyłączone z analizy. \n" +"Wildcards: '*' i '?'\n" +"Możesz okreÅ›lić kilka wzorców używajÄ…c separatora: ';'" + +#: optiondialog.cpp:637 +msgid "Dir-anti-pattern(s):" +msgstr "Anty wzorzec katalogów:" + +#: optiondialog.cpp:642 +#, 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 "" +"Wzorzec katalogów jakie majÄ… być wykluczone z analizy. \n" +"Wildcards: '*' and '?'\n" +"Możesz użyć kilku wzorców poprzez użycie separatora: ';'" + +#: optiondialog.cpp:648 +msgid "Use .cvsignore" +msgstr "Użyj .cvsignore" + +#: optiondialog.cpp:651 +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 +msgid "Find hidden files and directories" +msgstr "Znajdź ukryte pliki i katalogi" + +#: optiondialog.cpp:659 +msgid "Finds files and directories with the hidden attribute." +msgstr "Znajduje pliki i katalogi z atrybutem ukryty." + +#: optiondialog.cpp:661 +msgid "Finds files and directories starting with '.'." +msgstr "Znajduje pliki i katalogi z nazwÄ… zaczynajÄ…cÄ… siÄ™ na '.' ." + +#: optiondialog.cpp:665 +msgid "Follow file links" +msgstr "Podążaj za linkami" + +#: optiondialog.cpp:668 +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 +msgid "Follow directory links" +msgstr "Podążaj za linkami katalogów" + +#: optiondialog.cpp:676 +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 +msgid "List only deltas" +msgstr "Wylistuj tylko różnicÄ™" + +#: optiondialog.cpp:684 +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 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "Status porównywania katalogów" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 +msgid "Trust the modification date (unsafe)" +msgstr "Ufaj dacie modyfikacji (niepewne)" + +#: optiondialog.cpp:699 +msgid "" +"Assume that files are equal if the modification date and file length are " +"equal.\n" +"Useful for big directories or slow networks." +msgstr "" +"ZakÅ‚ada że pliki sÄ… identyczne jeÅ›li data modyfikacji i rozmiar jest " +"identyczny\n" +"Użyteczne przy dużych katalogach lub wolnych połączeniach sieciowych." + +#: optiondialog.cpp:702 +msgid "Trust the size (unsafe)" +msgstr "Ufaj rozmiarowi (niepewne)" + +#: optiondialog.cpp:703 +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 "" +"ZakÅ‚ada ze pliki sÄ… identyczne jeÅ›li ich rozmiar jest identyczny.\n" +"Użyteczne przy dużych katalogach lub wolnych połączeniach \n" +"sieciowych gdzie data jest modyfikowana w trakcie Å›ciÄ…gania." + +#: optiondialog.cpp:707 +msgid "Synchronize directories" +msgstr "Synchronizacja katalogów" + +#: optiondialog.cpp:710 +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 "" +"Oferuje zapisanie plików obu katalogach\n" +"tak że potem oba katalogi bÄ™dÄ… takie same.\n" +"DziaÅ‚a tylko przy porównywaniu dwóch katalogów \n" +"bez okreÅ›lonego miejsca docelowego." + +#: optiondialog.cpp:715 +msgid "Copy newer instead of merging (unsafe)" +msgstr "Kopiuj nowsze zamiast łączyć (niepewne)" + +#: optiondialog.cpp:718 +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 "" +"Nie sprawdza zawartoÅ›ci tylko bierze nowszy plik. \n" +"(Użyj tego tylko jeÅ›li wiesz co robisz!)\n" +"Efektywne tylko przy porównywaniu dwóch katalogów." + +#: optiondialog.cpp:723 +msgid "Backup files (.orig)" +msgstr "Tworzenie kopii zapasowych (.orig)" + +#: optiondialog.cpp:726 +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 "" +"Gdy plik bÄ™dzie zapisywany w miejsce starego, to stary plik\n" +"zmieni nazwÄ™ z rozszerzeniem '.orig', zamiast zostać usuniÄ™tym." + +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Ustawienia regionalne" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "JÄ™zyk ( wymaga ponownego uruchomienia)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Automatycznie" + +#: optiondialog.cpp:783 +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 +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 "" +"Wybrano czcionkÄ™ o zmiennej szerokoÅ›ci.\n" +"\n" +"Ponieważ ten program nie obsÅ‚uguje poprawnie czcionki \n" +"o zmiennej szerokoÅ›ci, mogÄ… wystÄ…pić problemy w trakcie edycji\n" +"\n" +"Chcesz kontynuować czy też wybrać innÄ… czcionkÄ™." + +#: optiondialog.cpp:829 +msgid "Incompatible Font" +msgstr "Niekompatybilna czcionka" + +#: optiondialog.cpp:830 +msgid "Continue at Own Risk" +msgstr "Kontynuacja na wÅ‚asne ryzyko" + +#: optiondialog.cpp:830 +msgid "Select Another Font" +msgstr "Wybierz innÄ… czcionkÄ™" + +#: optiondialog.cpp:858 +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 +msgid "PreprocessorCmd: " +msgstr "Komenda preprocesora:" + +#: pdiff.cpp:262 +msgid "" +"The following option(s) you selected might change data:\n" +msgstr "" + +#: pdiff.cpp:263 +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Å„" + +#: 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 "Loading A" +msgstr "Wczytywanie A" + +#: pdiff.cpp:297 +msgid "Loading B" +msgstr "Wczytywanie B" + +#: pdiff.cpp:306 pdiff.cpp:329 +msgid "Diff: A <-> B" +msgstr "Różnica: A <-> B" + +#: pdiff.cpp:312 pdiff.cpp:349 +msgid "Linediff: A <-> B" +msgstr "" + +#: pdiff.cpp:321 +msgid "Loading C" +msgstr "Wczytywanie C" + +#: pdiff.cpp:332 +msgid "Diff: B <-> C" +msgstr "Różnica: B <-> C" + +#: pdiff.cpp:335 +msgid "Diff: A <-> C" +msgstr "Różnica: A <-> C" + +#: pdiff.cpp:352 +msgid "Linediff: B <-> C" +msgstr "" + +#: pdiff.cpp:355 +msgid "Linediff: A <-> C" +msgstr "" + +#: pdiff.cpp:502 +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 "" +"Niektóre pliki nie wyglÄ…dajÄ… na pliki czysto tekstowe\n" +"Zauważ że KDiff3 nie nadaje siÄ™ do łączenia danych binarnych.\n" +"Kontynuuj na wÅ‚asne ryzyko." + +#: pdiff.cpp:929 +msgid "A (Base):" +msgstr "A (Podstawa):" + +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 +msgid "File..." +msgstr "Plik..." + +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 +msgid "Dir..." +msgstr "Katalog..." + +#: pdiff.cpp:962 +msgid "C (Optional):" +msgstr "C (Opcjonalnie):" + +#: pdiff.cpp:981 +msgid "Output (optional):" +msgstr "Wynik (opcjonalnie):" + +#: pdiff.cpp:1010 +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." +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" +msgstr "" + +#: rc.cpp:7 +msgid "Current Item Sync Operation" +msgstr "" + +#: rc.cpp:8 +msgid "&Movement" +msgstr "&Idź" + +#: rc.cpp:9 +msgid "D&iffview" +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" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/pt.po --- a/kdiff3/po/pt.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/pt.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,12 +1,12 @@ msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2004-01-09 01:37+0100\n" -"PO-Revision-Date: 2004-01-06 23:27+0000\n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-06-02 11:13+0100\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: _translatorinfo.cpp:1 @@ -21,11 +21,46 @@ "Your emails" msgstr "morais@kde.org" -#: diff.cpp:472 +#: diff.cpp:241 +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 msgid "From Clipboard" msgstr "Da Ãrea de Transferência" -#: diff.cpp:1096 diff.cpp:1110 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"O preprocessamento possivelmente falhou. Verifique este comando:\n" +"\n" +" %1\n" +"\n" +"O comando de preprocessamento vai ser desactivado." + +#: diff.cpp:425 +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 "" +"O preprocessamento com procura de linhas possivelmente falhou. Verifique " +"este comando:\n" +"\n" +" %1\n" +"\n" +"O comando de preprocessamento com procura de linhas vai ser desactivado." + +#: diff.cpp:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -33,61 +68,81 @@ "Erro de perda de dados:\n" "Se for reprodutível, contacte por favor o autor.\n" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Erro Interno Grave" -#: difftextwindow.cpp:790 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Linha de topo %1" -#: difftextwindow.cpp:792 +#: difftextwindow.cpp:831 msgid "End" msgstr "Fim" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Mistura de ligações e ficheiros normais." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Ligação: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Tamanho. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Data e Tamanho: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "A criação da cópia temporária do %1 falhou." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "O acesso ao %1 foi mal-sucedido." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "A comparar o ficheiro..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Erro ao ler do %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Nome" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operações" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Estado" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Não resolvido" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Resolvido" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Não vazio" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Vazio" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -95,41 +150,41 @@ "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:272 directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Analisar de Novo" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1201 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Continuar a Junção" -#: directorymergewindow.cpp:381 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "O acesso às directorias foi mal-sucedido:" -#: directorymergewindow.cpp:384 +#: directorymergewindow.cpp:424 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:387 +#: directorymergewindow.cpp:427 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:390 +#: directorymergewindow.cpp:430 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:392 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Erro de Acesso à Directoria" -#: directorymergewindow.cpp:400 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -139,132 +194,142 @@ "reunidas três directorias.\n" "Verifique de novo antes de continuar." -#: directorymergewindow.cpp:402 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Aviso do Parâmetro" -#: directorymergewindow.cpp:429 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "A procurar as directorias..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "A Ler a Directoria A" -#: directorymergewindow.cpp:451 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "A Ler a Directoria B" -#: directorymergewindow.cpp:473 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "A Ler a Directoria C" -#: directorymergewindow.cpp:499 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Algumas das sub-directorias não eram legíveis" -#: directorymergewindow.cpp:504 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Verifique as permissões das sub-directorias." -#: directorymergewindow.cpp:551 +#: 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 +msgid "Ready." +msgstr "Pronto." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Estado da Comparação da Directoria" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Número de sub-directorias:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Número de ficheiros iguais:" -#: directorymergewindow.cpp:554 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Número de ficheiros diferentes:" -#: directorymergewindow.cpp:557 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Número de junções manuais:" -#: directorymergewindow.cpp:693 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Isto afecta todas as operações de junção." -#: directorymergewindow.cpp:694 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "A Mudar Todas as Operações de Junção" -#: directorymergewindow.cpp:694 mergeresultwindow.cpp:252 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "C&ontinuar" -#: directorymergewindow.cpp:961 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "A processar " -#: directorymergewindow.cpp:1309 directorymergewindow.cpp:1316 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "A fazer." -#: directorymergewindow.cpp:1343 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Copiar A para B" -#: directorymergewindow.cpp:1344 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Copiar B para A" -#: directorymergewindow.cpp:1345 directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Apagar A" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:2287 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Apagar B" -#: directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Apagar A e B" -#: directorymergewindow.cpp:1348 directorymergewindow.cpp:2289 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Juntar a A" -#: directorymergewindow.cpp:1349 directorymergewindow.cpp:2290 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Juntar a B" -#: directorymergewindow.cpp:1350 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Juntar a A e B" -#: directorymergewindow.cpp:1354 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Apagar (se existir)" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 -#: directorymergewindow.cpp:2280 pdiff.cpp:1076 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Juntar" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Juntar (manual)" -#: directorymergewindow.cpp:1357 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Erro: Tipos de Ficheiros em Conflito" -#: directorymergewindow.cpp:1358 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Erro: As datas são iguais mas os ficheiros não." -#: directorymergewindow.cpp:1382 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Esta operação não é possível de momento." -#: directorymergewindow.cpp:1382 directorymergewindow.cpp:1642 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Operação Não Possível" -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -278,42 +343,42 @@ "\n" "Se souber como reproduzir isto, contacte por favor o autor do programa." -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Erro no Programa" -#: directorymergewindow.cpp:1436 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Ocorreu um erro ao copiar.\n" -#: directorymergewindow.cpp:1437 directorymergewindow.cpp:1843 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Erro na Junção" -#: directorymergewindow.cpp:1442 directorymergewindow.cpp:1848 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Erro." -#: directorymergewindow.cpp:1447 directorymergewindow.cpp:1739 -#: directorymergewindow.cpp:1779 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Terminado." -#: directorymergewindow.cpp:1470 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Não gravado." -#: directorymergewindow.cpp:1505 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Operação de junção desconhecida. (Isto nunca deve acontecer!)" -#: directorymergewindow.cpp:1537 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Operação de junção desconhecida." -#: directorymergewindow.cpp:1552 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -332,19 +397,19 @@ "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:1557 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "A Iniciar a Junção" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Fazê-lo" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simulá-lo" -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -352,7 +417,7 @@ "O item realçado tem um tipo diferente nas várias directorias. Seleccione o " "que fazer." -#: directorymergewindow.cpp:1592 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -360,13 +425,15 @@ "As datas de modificação dos ficheiros são iguais mas estes não o são. " "Seleccione o que fazer." -#: directorymergewindow.cpp:1642 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"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:1701 +#: directorymergewindow.cpp:1838 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 " @@ -375,251 +442,251 @@ "Ocorreu um erro no último passo.\n" "Deseja continuar com o item que causou o erro ou deseja saltar este item?" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Continuar a junção após um erro" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Continuar com o Último Item" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Saltar o Item" -#: directorymergewindow.cpp:1739 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Ignorado." -#: directorymergewindow.cpp:1746 directorymergewindow.cpp:1972 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "Em progresso..." -#: directorymergewindow.cpp:1794 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "A operação de junção terminou." -#: directorymergewindow.cpp:1794 directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Junção Completa" -#: directorymergewindow.cpp:1806 +#: directorymergewindow.cpp:1941 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:1842 +#: directorymergewindow.cpp:1977 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:1885 +#: directorymergewindow.cpp:2020 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:1892 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "apagar recursivamente as directorias( %1 )" -#: directorymergewindow.cpp:1894 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "delete( %1 )" -#: directorymergewindow.cpp:1909 +#: directorymergewindow.cpp:2044 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:1928 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Erro: a operação rmdir( %1 ) falhou." -#: directorymergewindow.cpp:1938 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Erro: a operação de remoção falhou." -#: directorymergewindow.cpp:1964 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "junção manual( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1967 -msgid " Note: After a manual merge the user should continue via F7." +#: 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:1990 +#: directorymergewindow.cpp:2125 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:2000 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "copyLink( %1 -> %2 )" -#: directorymergewindow.cpp:2011 +#: directorymergewindow.cpp:2146 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:2017 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Erro: o copyLink falhou." -#: directorymergewindow.cpp:2037 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "cópia( %1 -> %2 )" -#: directorymergewindow.cpp:2063 +#: directorymergewindow.cpp:2198 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:2069 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "rename( %1 -> %2 )" -#: directorymergewindow.cpp:2078 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Erro: A mudança de nome falhou." -#: directorymergewindow.cpp:2096 +#: directorymergewindow.cpp:2231 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:2112 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "makeDir( %1 )" -#: directorymergewindow.cpp:2122 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Erro ao criar a directoria." -#: directorymergewindow.cpp:2145 directorymergewindow.cpp:2253 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Dest" -#: directorymergewindow.cpp:2149 directorymergewindow.cpp:2178 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Dir" -#: directorymergewindow.cpp:2150 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Tipo" -#: directorymergewindow.cpp:2151 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Tamanho" -#: directorymergewindow.cpp:2152 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Atrib" -#: directorymergewindow.cpp:2153 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Última Modificação" -#: directorymergewindow.cpp:2154 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Ligação-Destino" -#: directorymergewindow.cpp:2195 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "não disponível" -#: directorymergewindow.cpp:2215 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Dest): " -#: directorymergewindow.cpp:2218 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Base): " -#: directorymergewindow.cpp:2224 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Dest): " -#: directorymergewindow.cpp:2232 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Dest): " -#: directorymergewindow.cpp:2238 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Dest: " -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Iniciar/Continuar a Junção da Directoria" -#: directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Executar a Operação o Item Actual" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Comparar o Ficheiro Seleccionado" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Juntar o Ficheiro Actual" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Fechar Todas as Sub-Directorias" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Expandir Todas as Sub-Directorias" -#: directorymergewindow.cpp:2270 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Seleccionar Todos os Itens do A" -#: directorymergewindow.cpp:2271 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Seleccionar Todos os Itens do B" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Seleccionar Todos os Itens do C" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Escolher Automaticamente a Operação para Todos os Itens" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Nenhuma Operação para Todos os Itens" -#: directorymergewindow.cpp:2276 directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" -msgstr "Fazer Nada" +msgstr "Não Fazer Nada" -#: directorymergewindow.cpp:2277 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Apagar (Se Existir)" -#: directorymergewindow.cpp:2288 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Apagar A e B" -#: directorymergewindow.cpp:2291 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Juntar a A e B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -628,7 +695,7 @@ "falhou. \n" "Ficheiro: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -636,53 +703,53 @@ "Ao tentar fazer uma cópia de segurança, a mudança de nome falhou. \n" "Ficheiros: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "A obter o estado do ficheiro: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "A ler o ficheiro: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "A escrever o ficheiro: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Sem memória" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "A criar a directoria: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "A remover a directoria: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "A remover o ficheiro. %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "A criar a ligação simbólica: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "A mudar o nome do ficheiro: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "A copiar o ficheiro: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -691,7 +758,7 @@ "Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para " "leitura falhou. Ficheiro: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -700,321 +767,336 @@ "Erro durante a operação de cópia do ficheiro: O acesso ao ficheiro para " "escrita falhou. Ficheiro: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, 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:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "A ler a directoria: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "A analisar a directoria: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 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:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "A opção --auto é ignorada para a comparação de directorias." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "A gravação falhou." -#: kdiff3.cpp:287 pdiff.cpp:1260 pdiff.cpp:1321 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "O acesso a estes ficheiros falhou:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Erro de Acesso ao Ficheiro" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Abre os documentos para os comparar..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 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:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Grava o documento actual como..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Sai da aplicação" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 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:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Copia a secção seleccionada para a área de transferência" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Cola o conteúdo da área de transferência na posição actual" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Procura por um texto" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Procura de novo pelo texto" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Activa/desactiva a barra de ferramentas" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Activa/desactiva a barra de estado" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Configurar o KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Ir para o Delta Actual" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Ir para o Primeiro Delta" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Ir para o Último Delta" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Ir para o Delta Anterior" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Ir para o Próximo Delta" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Ir para o Conflito Anterior" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Ir para o Próximo Conflito" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Ir para o Conflito por Resolver Anterior" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Ir para o Conflito por Resolver Seguinte" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Seleccionar as Linhas do A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Seleccionar as Linhas do B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Seleccionar as Linhas do C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Mostrar as Diferenças de Espaços e Tabulações" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Mostrar os Espaços em Branco" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Mostrar os Números de Linha" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Escolher o A em Todo o Lado" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Escolher o B em Todo o Lado" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Escolher o C em Todo o Lado" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Escolher A nos Conflitos por Resolver" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Escolher B nos Conflitos por Resolver" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Escolher C nos Conflitos por Resolver" -#: kdiff3.cpp:383 +#: 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:384 +#: 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:385 +#: 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:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Resolver Automaticamente os Conflitos Simples" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Passar os Deltas para Conflitos" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Mostrar a Janela A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Mostrar a Janela B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Mostrar a Janela C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Foco na Próxima Janela" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Vista Normal" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "Vista A vs. B" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "Vista A vs. C" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "Vista B vs. C" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Quebrar Linha nas Janelas de Diferenças" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Foco na Janela Anterior" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Comutar a Orientação da Repartição" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Janela Repartida de Directorias e Texto" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Mudar Entre a Janela de Directorias e de Texto" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1278 pdiff.cpp:1340 pdiff.cpp:1361 pdiff.cpp:1377 pdiff.cpp:1408 -msgid "Ready." -msgstr "Pronto." - -#: kdiff3.cpp:483 pdiff.cpp:1702 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "O resultado da junção não foi ainda gravado." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Gravar e Sair" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Sair sem Gravar" -#: kdiff3.cpp:492 pdiff.cpp:1711 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "A gravação do resultado da junção falhou." -#: kdiff3.cpp:503 pdiff.cpp:1200 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "A gravar o ficheiro..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "A gravar o ficheiro com um novo nome..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "A sair..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "A comutar a barra de ferramentas..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." -msgstr "A comutar a barra de estado..." +msgstr "Comutar a barra de estado..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Texto da procura:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Distinguir capitalização" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Procurar A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Procurar B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Procurar C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Resultado da procura" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" -msgstr "P&rocurar" +msgstr "&Procurar" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Não foi possível encontrar os ficheiros a comparar." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1028,61 +1110,81 @@ "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:27 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Ferramenta de Junção e Diferenças do Texto" -#: main.cpp:32 +#: main.cpp:35 msgid "Merge the input." msgstr "Juntar a entrada." -#: main.cpp:34 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Ficheiro de base explícito. Para a compatibilidade com certas ferramentas." -#: main.cpp:36 +#: main.cpp:39 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:37 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Ficheiro de saída, de novo. (para a compatibilidade com certas ferramentas)" -#: main.cpp:38 +#: main.cpp:41 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:39 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Não resolver os conflitos automaticamente. (Para compatibilidade...)" -#: main.cpp:40 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Substituição do nome visível. Indique isto para cada entrada." +#: main.cpp:43 +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:42 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Substituição do nome visível para o ficheiro de entrada 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Substituição do nome visível para o ficheiro de entrada 3." + +#: main.cpp:47 +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:44 +#: main.cpp:52 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:45 +#: main.cpp:53 msgid "file2 to open" msgstr "o ficheiro 2 a abrir" -#: main.cpp:46 +#: main.cpp:54 msgid "file3 to open" msgstr "o ficheiro 3 a abrir" -#: main.cpp:99 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:250 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1090,55 +1192,55 @@ "O resultado foi modificado.\n" "Se você continuar as suas alterações serão perdidas." -#: mergeresultwindow.cpp:671 pdiff.cpp:591 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Todos os ficheiros de entrada são iguais a nível binário." -#: mergeresultwindow.cpp:673 pdiff.cpp:593 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Todos os ficheiros de entrada contêm o mesmo texto." -#: mergeresultwindow.cpp:675 pdiff.cpp:595 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 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:676 pdiff.cpp:596 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Os ficheiros A e B têm texto igual.\n" -#: mergeresultwindow.cpp:677 pdiff.cpp:597 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 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:678 pdiff.cpp:598 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Os ficheiros A e C têm texto igual.\n" -#: mergeresultwindow.cpp:679 pdiff.cpp:599 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 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:680 pdiff.cpp:600 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Os ficheiros B e C têm texto igual.\n" -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Número total de conflitos: " -#: mergeresultwindow.cpp:684 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1146,7 +1248,7 @@ "\n" "Número total de conflitos resolvidos automaticamente: " -#: mergeresultwindow.cpp:685 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1154,23 +1256,27 @@ "\n" "Número de conflitos por resolver: " -#: mergeresultwindow.cpp:687 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Conflitos" -#: mergeresultwindow.cpp:1015 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1022 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1086 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Resultado" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Modificado]" -#: mergeresultwindow.cpp:1964 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1178,11 +1284,11 @@ "Nem todos os conflitos estão ainda resolvidos.\n" "O ficheiro não foi gravado.\n" -#: mergeresultwindow.cpp:1966 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Conflitos Restantes" -#: mergeresultwindow.cpp:1978 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1192,27 +1298,27 @@ "\n" "O ficheiro não foi gravado." -#: mergeresultwindow.cpp:1978 mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Erro na Gravação do Ficheiro" -#: mergeresultwindow.cpp:1994 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Falta de memória ao preparar a gravação." -#: mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Erro ao gravar." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Tipo de Letra do Resultado do Diff e do Editor" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Texto itálico para os deltas" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1220,63 +1326,63 @@ "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:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Cor" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Cores no Resultado do Editor e Diferenças" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Cor do texto:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Cor de fundo:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Cor de fundo das diferenças:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Cor A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Cor B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Cor C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Cor do conflito:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Cor de fundo do intervalo actual:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Cor de fundo da diferença do intervalo actual:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Comportamento do Editor" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "O Tab insere espaços" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1284,25 +1390,25 @@ "Ligado: se carregar no Tab gera o número apropriado de espaços.\n" "Desligado: será introduzido um carácter Tab." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" -msgstr "Tamanho do Tab:" +msgstr "Tamanho das tabulações:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Indentação automática" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Copiar automaticamente a selecção" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1311,27 +1417,39 @@ "transferência.\n" "Desligado: Você tem de copiar explicitamente, p.ex., com o Ctrl-C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Tipo de Fim de Linha:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." -msgstr "Altere isto se os caracteres não-ascii não são mostrados correctamente." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Diferença e Junção" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Configuração da Diferença e da Junção" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Manter o 'carriage return'" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1339,11 +1457,11 @@ "Mostrar os caracteres de 'carriage return' '\\r' se existirem.\n" "Ajuda a compara os ficheiros modificados em sistemas operativos diferentes." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorar os números" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1353,39 +1471,39 @@ "linhas (Semelhante ao Ignorar os Espaços).\n" "Pode ajudar a comparar os ficheiros com dados numéricos." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorar Comentários de C/C++" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Tratar os comentários de C/C++ como espaço em branco." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Converter para maiúsculas" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Ignorar a capitalização" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -"Passa todos os caracteres minúsculos para maiúsculos na leitura. (p.ex.: " -"'a'->'A')" +"Tratar diferenças de capitalização como mudanças de espaço em branco. " +"('a'<=>'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Comando do pré-processador:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 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:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Comando do pré-processador para a correspondência de linhas:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1393,11 +1511,11 @@ "Este pré-processador só é usado na correspondência das linhas.\n" "(Veja a documentação para mais detalhes)." -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Tentar com persistência (lento)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1405,11 +1523,11 @@ "Activa a opção --minimal do 'diff' externo.\n" "A análise dos ficheiros grandes será muito mais lenta." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Atraso no avanço automático (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1418,15 +1536,15 @@ "actual é mostrado durante o período indicado, antes de saltar para o " "próximo conflito. Intervalo: 0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Junção de espaço em branco com 2 ficheiros:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Escolha manual" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1434,27 +1552,27 @@ "Permite ao algoritmo de junção escolher automaticamente o ficheiro a " "utilizar para as alterações de apenas espaço em branco." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Junção de espaço em branco com 3 ficheiros:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Junção de Directorias" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Directorias recursivas" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Se se analisam as sub-directorias ou não." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Padrões de ficheiros:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1464,11 +1582,11 @@ "Caracteres especiais: '*' e '?'\n" "Podem ser indicados vários padrões usando o separador: ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Anti-padrões de ficheiros:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1478,11 +1596,11 @@ "Caracteres especiais: '*' e '?'\n" "Podem ser indicados vários padrões usando o separador: ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Anti-padrões de directorias:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1492,11 +1610,11 @@ "Caracteres especiais: '*' e '?'\n" "Podem ser indicados vários padrões usando o separador: ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Usar o .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1505,23 +1623,23 @@ "Isto pode ser específico para cada directoria, através dos ficheiros " "'.cvsignore' locais." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Procurar os ficheiros e directorias escondidos" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Procura os ficheiros e directorias com o atributo 'escondido'." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Procura os ficheiros e directorias que comecem por '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Seguir as ligações de ficheiros" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1529,11 +1647,11 @@ "Ligado: Compara o ficheiro para o qual a ligação aponta.\n" "Desligado: Compara as ligações." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Seguir as ligações de directorias" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1541,19 +1659,45 @@ "Ligado: Compara a directoria para o qual a ligação aponta.\n" "Desligado: Compara as ligações." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Listar apenas os deltas" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +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 +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 +msgid "" +"Do a full analysis and show statistics information in extra columns.\n" +"(Slower than a binary comparison, much slower for binary files.)" +msgstr "" +"Fazer uma análise completa e mostrar informações estatísticas em colunas " +"extra.\n" +"(Mais lento que a comparação binária, muito mais lento para ficheiros " +"binários.)" + +#: optiondialog.cpp:698 msgid "Trust the modification date (unsafe)" msgstr "Confiar na data de modificação (inseguro)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1563,11 +1707,11 @@ "do ficheiro são iguais.\n" "Útil para as directorias grandes ou para redes lentas." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Confiar no tamanho (inseguro)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1576,11 +1720,11 @@ "Assumir que os ficheiros são iguais se o seu tamanho é igual.\n" "Útil para as directorias grandes ou para redes lentas." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Sincronizar as directorias" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1590,11 +1734,11 @@ "de modo a que ambas as directoria fiquem iguais no fim.\n" "Funciona apenas ao comparar duas directorias sem indicar um destino." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Copiar o mais recente em vez de juntar (inseguro)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1604,11 +1748,11 @@ "(Use isto apenas se souber o que está a fazer!)\n" "Só faz efeito ao comparar duas directorias." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Salvaguarda dos ficheiros (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1616,7 +1760,27 @@ "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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Configuração Regional" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Língua (necessário reiniciar)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Auto" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"Escolha a língua da interface gráfica ou \"Auto\".\n" +"Para mudar de língua tem que reiniciar o KDiff3." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1632,73 +1796,92 @@ "\n" "Deseja continuar ou prefere seleccionar outro tipo de letra." -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Tipo de Letra Incompatível" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Continuar à Mesma" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Seleccionar Outro Tipo de Letra" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:377 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Comando do pré-processador: " + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" 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." +"As seguintes opções que seleccionou podem alterar os dados:\n" -#: pdiff.cpp:443 +#: pdiff.cpp:263 +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" +"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 "Loading A" msgstr "A Carregar o A" -#: pdiff.cpp:448 +#: pdiff.cpp:297 msgid "Loading B" msgstr "A Carregar o B" -#: pdiff.cpp:459 pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Diferenças: A <-> B" -#: pdiff.cpp:467 pdiff.cpp:520 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Dif. Linhas: A <-> B" -#: pdiff.cpp:476 +#: pdiff.cpp:321 msgid "Loading C" msgstr "A Carregar o C" -#: pdiff.cpp:490 pdiff.cpp:502 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Diferenças: B <-> C" -#: pdiff.cpp:493 pdiff.cpp:505 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Diferenças: A <-> C" -#: pdiff.cpp:523 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Dif. Linhas: B <-> C" -#: pdiff.cpp:526 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Dif. Linhas: A <-> C" -#: pdiff.cpp:610 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1709,67 +1892,67 @@ "binários.\n" "Continue por sua conta e risco." -#: pdiff.cpp:1030 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Base):" -#: pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1066 pdiff.cpp:1084 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Ficheiro..." -#: pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1068 pdiff.cpp:1086 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Directoria..." -#: pdiff.cpp:1061 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (Opcional):" -#: pdiff.cpp:1079 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Resultado (opcional):" -#: pdiff.cpp:1108 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Configurar..." -#: pdiff.cpp:1201 +#: pdiff.cpp:1151 msgid "Abort" -msgstr "Abortar..." +msgstr "Cancelar" -#: pdiff.cpp:1207 pdiff.cpp:1286 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "A aceder aos ficheiros..." -#: pdiff.cpp:1269 pdiff.cpp:1330 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Erro ao abrir ficheiro" -#: pdiff.cpp:1345 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "A cortar a selecção..." -#: pdiff.cpp:1366 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." -msgstr "A copiar a selecção..." +msgstr "A copiar a selecção para a área de transferência..." -#: pdiff.cpp:1382 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "A inserir o conteúdo da área de transferência..." -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Gravar e Continuar" -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Continuar sem Gravar" -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Procura terminada." -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Procura Terminada" @@ -1798,9 +1981,51 @@ msgstr "&Movimento" #: rc.cpp:9 +msgid "D&iffview" +msgstr "D&iferenças" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Juntar" -#: rc.cpp:10 +#: 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." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/pt_BR.po --- a/kdiff3/po/pt_BR.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/pt_BR.po Thu Sep 16 02:40:08 2004 +0000 @@ -11,18 +11,19 @@ # Copyright (C) 2003 Free Software Foundation, Inc. # Paulo Henrique Alkmin da Costa , 2003. # Lisiane Sztoltz , 2003. +# Lisiane Sztoltz Teixeira , 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-16 17:49+0000\n" -"Last-Translator: Lisiane Sztoltz \n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-05-17 17:35-0300\n" +"Last-Translator: Lisiane Sztoltz Teixeira \n" "Language-Team: Brazilian Portuguese \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.3.1\n" #: _translatorinfo.cpp:1 msgid "" @@ -36,11 +37,46 @@ "Your emails" msgstr "phalkmin@yahoo.com.br" -#: diff.cpp:472 +#: diff.cpp:241 +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 msgid "From Clipboard" msgstr "Da Ãrea de Transferência" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"O pré-processamento possivelmente teve uma falha. Verifique este comando:\n" +"\n" +" %1\n" +"\n" +"O comando de pré-processamento será desabilitado agora." + +#: diff.cpp:425 +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 "" +"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 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -48,61 +84,82 @@ "Erro de perda de dados:\n" " Se o erro puder ser reproduzido, contate o autor.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Erro Interno Severo" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" -msgstr "Topo de linha %1" +msgid "Top line %1" +msgstr "Linha %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Final" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Mistura de links e arquivos normais." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Link:" -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Tamanho" -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Data & Tamanho" -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Criação da cópia temporário de %1 falhou." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Abertura %1 falhou." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Salvando arquivo...." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Erro de leitura de %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Nomelinks" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Operação" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Estado" -#: directorymergewindow.cpp:271 +#: 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?" @@ -110,41 +167,41 @@ "Você está tentando fazer uma mesclagem de pastas. Você tem certeza de que " "deseja mesclar e rescanear a pasta?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Rescanear" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Continuar Mesclando" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Abertura de pastas falhou:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Erro na abertura da pasta" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -154,132 +211,143 @@ "estão sendo mescladas.\n" " Cheque novamente antes de continuar" -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Aviso de Parâmetro" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "Sincronizar pastas" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Lendo Pasta A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Lendo Pasta B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Lendo Pasta C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Alguns sub-pastas não são legíveis em " -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Cheque as permissões dos sub-pastas." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Pronto" + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Estado da Comparação de Pastas" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "-Número de sub-pastas:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Número de arquivos iguais: " -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Número de arquivos diferentes:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Número de mesclagens manuais:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Isso afetará todas as operações de mesclagem." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Mudando todas operações de Mesclagem" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "C&ontinuar" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Processando" -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Para Fazer" -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Copiar A para B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Copiar B para A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Apagar A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Apagar B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Apagar A & B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Mesclar para A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Mesclar para B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Mesclar para A & B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Apagar (se existir)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Mesclar" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Mesclar (manual)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Erro: Tipos de Arquivos Conflitantes" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Erro: Datas são iguais, mas os arquivos diferem." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Essa operação não é possível no momento." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "A Operação Não É Possível" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -293,42 +361,42 @@ "\n" "Se você souber como reproduzir isso, contacte o autor." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Erro do Programa" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Ocorreu um erro ao copiar.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Erro de Mesclagem" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Erro." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Concluído." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Não salvo." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Operação de Mesclagem desconhecida. (Isso nunca deve acontecer!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Operação de Mesclagem desconhecida." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -347,19 +415,19 @@ " Saiba que esse programa ainda está em fase beta, e não Hà GARANTIA " "alguma! Faça backups dos seus dados!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Iniciando mesclagem" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Faça" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simular" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -367,7 +435,7 @@ "O item selecionado tem um tipo diferente em diferentes pastas. Selecione o " "que fazer." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -375,13 +443,15 @@ "As datas de modificação do arquivo são iguais mas os arquivos não são. " "Selecione o que fazer." -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"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:1692 +#: directorymergewindow.cpp:1838 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 " @@ -390,249 +460,249 @@ "Houve um erro no último passo.\n" "Você quer continuar com o item que causou o erro ou prefere pular esse item?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Continuar mesclagem após um erro" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Continuar com último item" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Ignorar Item" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Ignorado." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "Em progresso..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Operação de mesclagem completa." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Mesclagem completa." -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Erro: Ao apagar %1: Criação do backup falhou." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "apagar pasta recursivamente( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "apagar( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Erro: rmdir( %1 ) falhou." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Erro: Operação de exclusão falhou." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "mesclagem manual( %1, %2,%3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: 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:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "Erro: cópia( %1 -> %2 ) falhou. Remoção do destino falhou." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "copyLink( %1 -> %2 )" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "Erro: copyLink falhou: Ligações remotas não são suportadas." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Erro: copyLink falhou" -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "cópia( %1 -> %2 )" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 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:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "renomear( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Erro: renomear falhou." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 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:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "makeDir( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Erro ao criar a pasta." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Destino" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Dir" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Tipo" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Tamanho" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Atributos" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Última modificação" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Ligação-Destino" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "Não disponível" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (Destino):" -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (Base): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (Destino): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (Dest): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Destino: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Inicia/Continua Mesclagem de Pastas" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Executar operação para o Item Atual" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Comparar Arquivo Selecionado" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Mesclar arquivo atual" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Agrupar todas as Sub-pastas" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Desagrupar todos as Sub-pastas" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Escolha A para Todos os Itens" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Escolha B para todos os Itens" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Escolha C para todos os Itens" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Auto-Escolhes Operação para todos os Itens" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Nenhuma operação para Todos os Itens" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Não faça nada" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Remover (se existir)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Remover A e B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Mesclar para A e B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -640,7 +710,7 @@ "Ao tentar fazer um backup, remoção de um backup antigo falhou. \n" " Nome do Arquivo: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -648,53 +718,53 @@ "Ao tentar fazer backup, renomeação falhou. \n" " Nomes de Arquivos: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Obter status do arquivo: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Lendo arquivo:%1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Gravando arquivo: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Memória insuficiente" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Criando pasta: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Removendo pasta: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Removendo arquivo: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Criando link simbólico: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Renomeando arquivo: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Copiando arquivo: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -703,7 +773,7 @@ "Erro durante a operação de cópia de arquivos: Abertura de arquivos para " "leitura falhou. Nome do Arquivos: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -712,319 +782,334 @@ "Erro durante operação de cópia de arquivo: Abertura do arquivo para " "escrita falhou. Nome do Arquivo: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, 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:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Lendo pasta: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Listando pasta: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Opção --auto usada, mas nenhum arquivo de saída especificado." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Opção --auto ignorada para comparação de pastas." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Falha ao salvar." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Abertura desses arquivos falhou: " -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Erro na abertura do arquivo" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Abre documentos para comparação..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "Salva o resultado da mesclagem. Todos os conflitos precisam ser resolvidos!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Salva o documento atual como..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Fecha a aplicação" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 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:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Copia a seção selecionada para a área de transferência" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 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:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Pesquisar por uma string" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Pesquisar novamente pela string" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Habilita / Desabilita a barra de ferramentas" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Habilita / Desabilita a barra de status" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Configurar KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Vá para o Delta atual" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Vá para o primeiro Delta" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Vá para o Último Delta" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Vá para o Delta Anterior" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Vá para o próximo Delta" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Vá para o conflito anterior" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Vá para o próximo conflito" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Vá para o Conflito Não-Resolvido Anterior." -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Vá para o Próximo Conflito Não-Resolvido" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Seleciona Linha(s) De A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Seleciona Linha(s) De B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Selecione Linha(s) De C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Mostrar caracteres de Espaço && Tabuladores para diferenças." -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Mostrar espaços em branco" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Mostrar Números das linhas" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Escolher A em qualquer lugar" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Escolher B em qualquer lugar" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Escolher C em qualquer lugar" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Escolha A para conflitos não-resolvidos" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Escolha B para conflitos não-resolvidos" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Escolha C para conflitos não-resolvidos" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 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:384 +#: kdiff3.cpp:399 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:385 +#: kdiff3.cpp:400 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:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Automaticamente resolva conflitos simples" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Defina Delta para Conflitos" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Exibir Janela A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Exibir Janela B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Exibir Janela C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Foco na Próxima Janela" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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 "Foco na Janela Anterior" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Alterar Orientação da Divisão" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Tela de Visualização de Pasta && Texto" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Alterar entre visualização de Pasta e Texto" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Pronto" - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "O resultado da Mesclagem não foi salvo." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Salvar && Encerrar" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Encerrar sem Salvar" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Falha ao salvar o resultado da mesclagem" -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Salvando arquivo...." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Salvando arquivo com um novo nome..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Saindo..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Mudando Barra de Ferramentas..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Mudar a Barra de Status..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Texto de Busca:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Caso sensitivo" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Pesquisa A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Pesquisa B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Pesquisa C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Pesquisa saída" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Pesquisa" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Não encontrou arquivos para comparação." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1038,61 +1123,86 @@ "problemas na instalação. Leia nosso arquivo de LEIAME no pacote de fontes " "para detalhes." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Ferramenta de diferença de Texto e Mesclagem" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Mesclar a Entrada." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Arquivo Base Explicito. Para compatibilidade com certas ferramentas." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Arquivo de Saída. Implica -m. Ex.: -o novoarquivo.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Arquivo de saída, novamente (Para compatibilidade com certas ferramentas.)" -#: main.cpp:37 +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Não resolver conflitos automaticamente. (Para compatibilidade...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +#, 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:41 +#: 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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "file1 abrindo (base, se não especificado via --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "file2 abrindo" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "file3 abrindo" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1100,55 +1210,55 @@ "A saída foi modificada.\n" " Se você continuar suas mudanças serão perdidas." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Todos os arquivos de entrada são binariamente iguais." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Todos os arquivos de entrada contém o mesmo texto." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Arquivos A e B são binariamente iguais.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Arquivos A e B possuem texto igual. \n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Arquivos A e C são binariamente iguais. \n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Arquivos A e C possuem textos semelhantes. \n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Arquivos B e C são binariamente iguais. \n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Arquivos B e C possuem textos semelhantes. \n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Número total de conflitos:" -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1156,7 +1266,7 @@ "\n" " Nr. de conflitos resolvidos automaticamente: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1164,23 +1274,27 @@ "\n" " Nr. de conflitos não resolvidos: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Conflitos" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Saída" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Modificado]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1188,11 +1302,11 @@ "Nem todos os conflitos foram resolvidos.\n" "Arquivo não foi salvo.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Conflitos Deixados" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1202,27 +1316,27 @@ "\n" " Arquivo não foi salvo." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Erro ao salvar arquivo" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Memória insuficiente ao preparar para salvar." -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Erro ao escrever." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Fonte de Saída do Editor & Diff " -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Fonte em Itálico para deltas" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1230,63 +1344,63 @@ "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:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Cor" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Cores na saída do Editor & Diferenciador" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Cor de Primeiro Plano" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Cor do plano de fundo" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Cor do plano de fundo do Diferenciador:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Cor A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Cor B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Cor C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Cor de Conflitos:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Cor do plano de fundo da seleção atual:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Cor do plano de fundo da seleção atual do Diferenciador:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Comportamento do Editor" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Tab insere espaços" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1294,25 +1408,25 @@ "Ligado: Ao pressionar Tab um número apropriado de espaços é gerado.\n" " Desligado: Um caracter de Tab será inserido." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tamanho da tabulação:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Auto identação" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Auto copiar seleção" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1321,27 +1435,39 @@ "Transferência.\n" "Desligado: Você deve explicitamente copiar, por exemplo, via Ctrl+C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Estilo de fim de linha:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Diff & Mesclagem" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Configurações de Diff & Mesclagem" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Preservar retorno de carro." -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1350,11 +1476,11 @@ "Ajuda a comparar arquivos que foram modificados em diferentes sistemas " "operacionais." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorar Números" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1364,39 +1490,38 @@ "(Similar a Ignorar espaços em branco.)\n" "Pode ajudar a comparar arquivos com dados numéricos." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorar Comentários de C/C++" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Trata comentários C/C++ como espaços em branco." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Converter para maiúsculas" +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "Ignorar Números" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -"Altera todos os caracteres em minúscula para maiúscula ao ler. (ex: " -"'a'->'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Comando do Preprocessador:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "" "Pré-processamento definido pelo usuário. (Veja os documentos para " "detalhes.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Comando do Preprocessador compatível com linha:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1404,11 +1529,11 @@ "Esse pré-processador é usado somente durante combinação de linhas.\n" " (Veja os documentos para detalhes.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Tentar duramente (lento)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1416,11 +1541,11 @@ "Habilita a opção --minimal para o diff externo.\n" " A análise dos arquivos grandes será muito mais lenta." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Atraso do auto avanço (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1429,15 +1554,15 @@ " pelo tempo especificado, antes de pular para o próximo conflito. Alcance: " "0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Mesclagem padrão de 2 arquivos com espaços em branco:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Escolha manual" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1445,27 +1570,27 @@ "Permite que o algoritmo de mesclagem selecione automaticamente uma entrada " "para mudanças somente em espaços em branco." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Mesclagem padrão de 3 arquivos com espaços em branco:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Mesclagem de Pastas" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Pastas Recursivas" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Decide analisar sub-pastas ou não." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Padrão(ões) de Arquivo(s):" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1475,11 +1600,11 @@ "Curingas: '*' e '?'\n" "Vários padrões podem ser especificados usando o separador: ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Arquivo anti-padrão(ões):" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1489,11 +1614,11 @@ "Curingas: '*' e '?'\n" "Vários padrões podem ser especificados usando o separador: ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Dir-anti-padrão(ões):" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1503,11 +1628,11 @@ "Curingas: '*' e '?'\n" "Vários padrões podem ser especificados usando o separador: ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Usar .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1515,23 +1640,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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Encontrar arquivos e pastas invisíveis" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Encontra arquivos e pastas com o atributo invisível." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Encontrar arquivos e pastas começando com '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Seguir as ligações de arquivos" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1539,11 +1664,11 @@ "Ligado: Compara o arquivo para onde a ligação aponta.\n" "Desligado: Compara as ligações." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Seguir ligações de pastas" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1551,19 +1676,42 @@ "Ligado: Compara a pasta para onde a ligação aponta.\n" "Desligado: Compara as ligações." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Listar somente deltas" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 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:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "Estado da Comparação de Pastas" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Confia na data de modificação (inseguro)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1573,11 +1721,11 @@ "iguais.\n" "Útil para pastas grandes ou redes lentas." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Confiar no tamanho (inseguro)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1587,11 +1735,11 @@ "Útil para pastas grandes ou redes lentas, quando a data for modificada " "durante o download." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Sincronizar pastas" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1601,11 +1749,11 @@ "ambas as pastas serão iguais depois.\n" "Funciona apenas quando compara duas pastas sem especificar um destino." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Copiar mais novo ao invés de mesclar (inseguro)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1615,11 +1763,11 @@ "(Use somente se você sabe o que está fazendo!)\n" "Só é efetivo quando comparando duas pastas." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Faça backup dos arquivos (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1627,7 +1775,27 @@ "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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Configurações Regionais" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "Idioma (é necessário reiniciar)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Automático" + +#: optiondialog.cpp:783 +msgid "" +"Choose the language of the GUI-strings or \"Auto\".\n" +"For a change of language to take place, quit and restart KDiff3." +msgstr "" +"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 msgid "" "You selected a variable width font.\n" "\n" @@ -1643,73 +1811,92 @@ "\n" "Você deseja continuar ou selecionar um nova fonte." -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Fonte Incompatível" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Continue ao seu próprio risco" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Selecionar outra fonte" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Comando de Pré-processamento:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -"Falha ao rodar o diff externo.\n" -"Cheque se o diff funciona, se o programa pode escrever na pasta temporária " -"ou se o disco está cheio.\n" -"A opção de diff externo será desabilitada agora e o diff interno será " -"usado." +"A(s) seguinte(s) opção(ões) que você selecionou devem modificar os " +"dados:\n" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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" +"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" +msgstr "Opções inseguras para a mesclagem (merge)" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Usar estas opções durante a mesclagem" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Desabilitar as opções inseguras" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Carregando A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Carregando B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Diff: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Linediff: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Carregando C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Diff: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Diff: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Linediff: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Linediff: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1719,67 +1906,67 @@ "Perceba que a mesclagem do KDiff3 não foi feito para arquivos binários.\n" "Continue por conta e risco." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (Base):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Arquivo..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Dir..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C(Opcional):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Saída (opcional):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Configurar...." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Interromper" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Abrindo arquivos..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Erro na abertura de Arquivos" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Recortando seleção..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Copiando seleção para a área de trabalho..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Inserindo conteúdo da Ãrea de Transferência..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Salvar && Continuar" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Continuar sem Salvar" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Pesquisa concluída" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Pesquisa Concluída" @@ -1808,71 +1995,39 @@ msgstr "&Movimento" #: rc.cpp:9 +#, fuzzy +msgid "D&iffview" +msgstr "KDiff3" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Mesclar" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Janela" -#~ msgid "Delete A && B" -#~ msgstr "Apagar A && B" +#~ msgid "Error writing temporary file: %1" +#~ msgstr "Erro ao gravar arquivo temporário: %1" -#~ msgid "Merge to A && B" -#~ msgstr "Mesclar para A && B" - -#~ msgid "In progress ..." -#~ msgstr "Em progresso ..." +#~ msgid "Convert to upper case" +#~ msgstr "Converter para maiúsculas" #~ msgid "" -#~ "On: Text that differs only in white space will match and\n" -#~ "be shown on the same line in the different output windows.\n" -#~ "Off is useful when whitespace is very important.\n" -#~ "On is good for C/C++ and similar languages." +#~ "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" #~ msgstr "" -#~ "Ligado: Texto que difere somente nos espaços em branco serão encontrados " -#~ "e\n" -#~ " será mostrado na mesma linha nas diferentes janelas de saída.\n" -#~ "Manter Desligado é útil quando os espaços em branco são muito " -#~ "importantes.\n" -#~ "Manter Ligado é bom para C/C++ e linguagens similares." +#~ "Altera todos os caracteres em minúscula para maiúscula ao ler. (ex: 'a'-" +#~ ">'A')" -#~ msgid "Use external diff" -#~ msgstr "Usar diferenciador externo" +#~ msgid "Codec for file contents" +#~ msgstr "Codec para conteúdos de arquivo" #~ msgid "" -#~ "Since for complicated files the internal algorithm is not so good yet,\n" -#~ "you probably want to use the normal diff tool as line matcher." +#~ "Choose the codec that should be used for your input files\n" +#~ "or \"Auto\" if unsure." #~ msgstr "" -#~ "Já que para arquivos complicados o algoritmo interno não ainda não é tão " -#~ "bom,\n" -#~ " você provavelmente irá querer usar a ferramenta diff norma como " -#~ "combinador de linhas." +#~ "Escolha o codec que deve ser usado para os arquivos de entrada,\n" +#~ " ou \"Automático\" se não tiver certeza." -#~ msgid "Ignore trivial matches" -#~ msgstr "Ignorar combinações triviais" - -#~ msgid "" -#~ "When a difference was found, the algorithm searches for matching lines\n" -#~ "Short or trivial lines match even when the differences still continue.\n" -#~ "Ignoring trivial lines avoids this. Good for C/C++ and similar languages." -#~ msgstr "" -#~ "Quando uma diferença é encontrada, o algoritmo procura por linhas " -#~ "combinantes\n" -#~ "Linhas pequenas ou triviais são combinadas mesmo quando as diferenças " -#~ "ainda continuam.\n" -#~ "Ignorar linhas triviais previne isso. Útil para C/C++ e linguagens " -#~ "similares." - -#~ msgid "Max search length:" -#~ msgstr "Comprimento máx. da busca: " - -#~ msgid "" -#~ "Diff might fail for too small values but might take too long for big " -#~ "values.\n" -#~ msgstr "" -#~ "Diff pode falhar para valores muito pequenos mas pode demorar para " -#~ "valores grandes.\n" - -#~ msgid "Unpossible Operation" -#~ msgstr "Operação Impossivel" +#~ msgid "Convert to upper case\n" +#~ msgstr "Converter para maiúsculas\n" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/ru.po --- a/kdiff3/po/ru.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/ru.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,18 +1,20 @@ +# Translation of kdiff3.po into Russian # KDE3 - kdeextragear-1/kdiff3.po Russian translation. # Copyright (C) 2004, KDE Team. # Nick Shafff , 2004. +# Nickolai Shaforostoff , 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2004-01-09 01:37+0100\n" -"PO-Revision-Date: 2004-01-30 08:11+0300\n" -"Last-Translator: Andrey S. Cherepanov \n" -"Language-Team: Russian \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 \n" +"Language-Team: Russian \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" +"X-Generator: KBabel 1.3\n" #: _translatorinfo.cpp:1 msgid "" @@ -26,240 +28,306 @@ "Your emails" msgstr "linux@l10n.org.ua" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Из буфера обмена" -#: diff.cpp:1096 diff.cpp:1110 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" -msgstr "ÐŸÐ¾Ñ‚ÐµÑ€Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ….\n" +msgstr "" +"ÐŸÐ¾Ñ‚ÐµÑ€Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ….\n" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°" -#: difftextwindow.cpp:790 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "ÐŸÐµÑ€Ð²Ð°Ñ Ñтрока %1" -#: difftextwindow.cpp:792 +#: difftextwindow.cpp:831 msgid "End" msgstr "Конец" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Совмещение ÑÑылок и обычных файлов" -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "СÑылка: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Размер. " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Дата и размер: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Ðе удалоÑÑŒ Ñоздать временную копию ." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Ðе удалоÑÑŒ открыть %1." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Сохранение файла..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð· %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "ИмÑ" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "ДейÑтвие" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "СоÑтоÑние" -#: directorymergewindow.cpp:271 +#: 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 "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° работает в режиме Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð². Ð’Ñ‹ дейÑтвительно хотите отменить вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ обновить Ñодержание каталогов?" +msgstr "" +"Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° работает в режиме " +"Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð². Ð’Ñ‹ дейÑтвительно " +"хотите отменить вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ обновить " +"Ñодержание каталогов?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Обновить" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1201 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Продолжить" -#: directorymergewindow.cpp:381 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Ðе удалоÑÑŒ открыть каталоги:" -#: directorymergewindow.cpp:384 -msgid "Dir A \"%1\" does not exist or is not a directory.\n" -msgstr "Каталог A \"%1\" не ÑущеÑтвует.\n" +#: directorymergewindow.cpp:424 +msgid "" +"Dir A \"%1\" does not exist or is not a directory.\n" +msgstr "" +"Каталог A \"%1\" не ÑущеÑтвует.\n" -#: directorymergewindow.cpp:387 -msgid "Dir B \"%1\" does not exist or is not a directory.\n" -msgstr "Каталог B \"%1\" не ÑущеÑтвует.\n" +#: directorymergewindow.cpp:427 +msgid "" +"Dir B \"%1\" does not exist or is not a directory.\n" +msgstr "" +"Каталог B \"%1\" не ÑущеÑтвует.\n" -#: directorymergewindow.cpp:390 -msgid "Dir C \"%1\" does not exist or is not a directory.\n" -msgstr "Каталог C \"%1\" не ÑущеÑтвует.\n" +#: directorymergewindow.cpp:430 +msgid "" +"Dir C \"%1\" does not exist or is not a directory.\n" +msgstr "" +"Каталог C \"%1\" не ÑущеÑтвует.\n" -#: directorymergewindow.cpp:392 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°" -#: directorymergewindow.cpp:400 +#: directorymergewindow.cpp:440 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." +msgstr "" +"Путь к конечному каталогу не должен " +"Ñовпадать Ñ A или B." -#: directorymergewindow.cpp:402 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Ðеправильный параметр" -#: directorymergewindow.cpp:429 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Сканирование каталогов..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Чтение каталога A" -#: directorymergewindow.cpp:451 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Чтение каталога B" -#: directorymergewindow.cpp:473 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Чтение каталога C" -#: directorymergewindow.cpp:499 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" -msgstr "Ðе удалоÑÑŒ почитать некоторые подкаталоги в" +msgstr "" +"Ðе удалоÑÑŒ почитать некоторые " +"подкаталоги в" -#: directorymergewindow.cpp:504 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Проверьте права Ñтих каталогов." -#: directorymergewindow.cpp:551 +#: 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 +msgid "Ready." +msgstr "Готово." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "СоÑтоÑние ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "КоличеÑтво подкаталогов:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "КоличеÑтво одинаковых файлов:" -#: directorymergewindow.cpp:554 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "КоличеÑтво разных файлов:" -#: directorymergewindow.cpp:557 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "КоличеÑтво объединений вручную:" -#: directorymergewindow.cpp:693 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Это влиÑет на вÑе объединениÑ" -#: directorymergewindow.cpp:694 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Изменение вÑех объединений" -#: directorymergewindow.cpp:694 mergeresultwindow.cpp:252 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "&Продолжить" -#: directorymergewindow.cpp:961 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Обработка " -#: directorymergewindow.cpp:1309 directorymergewindow.cpp:1316 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "ОÑталоÑÑŒ Ñделать." -#: directorymergewindow.cpp:1343 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Копировать A в B" -#: directorymergewindow.cpp:1344 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Копировать B в A" -#: directorymergewindow.cpp:1345 directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Удалить A" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:2287 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Удалить B" -#: directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Удалить A и B" -#: directorymergewindow.cpp:1348 directorymergewindow.cpp:2289 -#, fuzzy +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Объединить в A" -#: directorymergewindow.cpp:1349 directorymergewindow.cpp:2290 -#, fuzzy +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Объединить в B" -#: directorymergewindow.cpp:1350 -#, fuzzy +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Объединить в A & B" -#: directorymergewindow.cpp:1354 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Удалить (еÑли ÑущеÑтвует)" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 -#: directorymergewindow.cpp:2280 pdiff.cpp:1076 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Объединить" -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Объединить (вручную)" -#: directorymergewindow.cpp:1357 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Ошибка: ÐеÑовмеÑтимые типы файлов" -#: directorymergewindow.cpp:1358 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." -msgstr "Ошибка: Ð’Ñ€ÐµÐ¼Ñ Ñовпадает, а Ñодержимое файлов - нет." +msgstr "" +"Ошибка: Ð’Ñ€ÐµÐ¼Ñ Ñовпадает, а Ñодержимое " +"файлов - нет." -#: directorymergewindow.cpp:1382 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Пока невозможно" -#: directorymergewindow.cpp:1382 directorymergewindow.cpp:1642 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Пока невозможно" -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -269,42 +337,45 @@ msgstr "" "mergeResultSaved: m_pMFI=0\n" "\n" -"ЕÑли вы знаете в чём причина, Ñообщите автору." +"ЕÑли вы знаете в чём причина, Ñообщите " +"автору." -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Ошибка программы" -#: directorymergewindow.cpp:1436 -msgid "An error occurred while copying.\n" -msgstr "Ошибка копированиÑ.\n" +#: directorymergewindow.cpp:1565 +msgid "" +"An error occurred while copying.\n" +msgstr "" +"Ошибка копированиÑ.\n" -#: directorymergewindow.cpp:1437 directorymergewindow.cpp:1843 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Ошибка объединениÑ" -#: directorymergewindow.cpp:1442 directorymergewindow.cpp:1848 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Ошибка." -#: directorymergewindow.cpp:1447 directorymergewindow.cpp:1739 -#: directorymergewindow.cpp:1779 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Готово." -#: directorymergewindow.cpp:1470 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Ðе Ñохранено." -#: directorymergewindow.cpp:1505 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "ÐеизвеÑтное объединение" -#: directorymergewindow.cpp:1537 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "ÐеизвеÑтное объединение" -#: directorymergewindow.cpp:1552 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -317,40 +388,50 @@ msgstr "" "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð½Ð°Ñ‡Ð½Ñ‘Ñ‚ÑÑ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ.\n" "\n" -"Ðажмите \"Выполнить\" поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð½Ñтрукций.\n" -"Ðажмите \"Эмулировать\" чтобы увидеть, что должно произойти.\n" +"Ðажмите \"Выполнить\" поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ " +"инÑтрукций.\n" +"Ðажмите \"Эмулировать\" чтобы увидеть, что " +"должно произойти.\n" "\n" -"Мы Ñоветуем вÑегда делать резервные копии данных перед объединением!" +"Мы Ñоветуем вÑегда делать резервные " +"копии данных перед объединением!" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Ðачало объединениÑ" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Выполнить" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Эмулировать" -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." -msgstr "Выделенный файл имеет разный тип в каждом каталоге. Выберите что делать." +msgstr "" +"Выделенный файл имеет разный тип в каждом " +"каталоге. Выберите что делать." -#: directorymergewindow.cpp:1592 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." -msgstr "Даты поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² одинаковы, о Ñодержимое - нет. Выберите что делать." +msgstr "" +"Даты поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² " +"одинаковы, о Ñодержимое - нет. Выберите " +"что делать." -#: directorymergewindow.cpp:1642 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"This operation is currently not possible because directory merge is " +"currently running." msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑÑ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ каталогов" -#: directorymergewindow.cpp:1701 +#: directorymergewindow.cpp:1838 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 " @@ -359,252 +440,269 @@ "Ðа текущем Ñтапе произошла ошибка.\n" "Продолжить или пропуÑтить?" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Продолжить поÑле ошибки" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Продолжить" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "ПропуÑтить" -#: directorymergewindow.cpp:1739 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Пропущено." -#: directorymergewindow.cpp:1746 directorymergewindow.cpp:1972 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "Идёт работа..." -#: directorymergewindow.cpp:1794 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Объединение завершено." -#: directorymergewindow.cpp:1794 directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Объединение завершено" -#: directorymergewindow.cpp:1806 +#: directorymergewindow.cpp:1941 msgid "Simulated merge complete: Check if you agree with the proposed operations." -msgstr "Объединение завершено. Ð’Ñ‹ ÑоглаÑны Ñ Ð¿Ñ€ÐµÐ´Ð»Ð°Ð³Ð°ÐµÐ¼Ñ‹Ð¼Ð¸ изменениÑми?" +msgstr "" +"Объединение завершено. Ð’Ñ‹ ÑоглаÑны Ñ " +"предлагаемыми изменениÑми?" -#: directorymergewindow.cpp:1842 -msgid "An error occurred. Press OK to see detailed information.\n" -msgstr "Произошла ошибка. Ðажмите OK Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей.\n" +#: directorymergewindow.cpp:1977 +msgid "" +"An error occurred. Press OK to see detailed information.\n" +msgstr "" +"Произошла ошибка. Ðажмите OK Ð´Ð»Ñ " +"подробноÑтей.\n" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Ðе удалоÑÑŒ Ñоздать резервную копию %1." -#: directorymergewindow.cpp:1892 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "удалить каталог рекурÑивно(%1 )" -#: directorymergewindow.cpp:1894 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "удалить( %1 )" -#: directorymergewindow.cpp:1909 +#: directorymergewindow.cpp:2044 msgid "Error: delete dir operation failed while trying to read the directory." msgstr "Ðе удалоÑÑŒ удалить каталог" -#: directorymergewindow.cpp:1928 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Ошибка rmdir( %1 )." -#: directorymergewindow.cpp:1938 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Ðе удалоÑÑŒ удалить." -#: directorymergewindow.cpp:1964 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "объединение вручную( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1967 -msgid " Note: After a manual merge the user should continue via F7." -msgstr " ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ нажмите F7." +#: directorymergewindow.cpp:2102 +msgid " Note: After a manual merge the user should continue by pressing F7." +msgstr "" +" ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ " +"нажмите F7." -#: directorymergewindow.cpp:1990 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." -msgstr "Ðе удалоÑÑŒ Ñкопировать %1 в %2. Ðе удалоÑÑŒ удалить ÑущеÑтвующее назначение." +msgstr "" +"Ðе удалоÑÑŒ Ñкопировать %1 в %2. Ðе удалоÑÑŒ " +"удалить ÑущеÑтвующее назначение." -#: directorymergewindow.cpp:2000 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "ÑимволичеÑÐºÐ°Ñ ÑÑылка( %1 -> %2 )" -#: directorymergewindow.cpp:2011 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." -msgstr "Ошибка: Удалённые ÑÑылки не поддерживаютÑÑ." +msgstr "" +"Ошибка: Удалённые ÑÑылки не " +"поддерживаютÑÑ." -#: directorymergewindow.cpp:2017 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Ðе удалоÑÑŒ Ñоздать ÑÑылку." -#: directorymergewindow.cpp:2037 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "копировать( %1 -> %2 )" -#: directorymergewindow.cpp:2063 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." -msgstr "Ðе удалоÑÑŒ переименовать %1 в%2. Ðе удалоÑÑŒ удалить ÑущеÑтвующее назначение." +msgstr "" +"Ðе удалоÑÑŒ переименовать %1 в%2. Ðе удалоÑÑŒ " +"удалить ÑущеÑтвующее назначение." -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "переименовать( %1 -> %2 )" -#: directorymergewindow.cpp:2078 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Ðе удалоÑÑŒ переименовать" -#: directorymergewindow.cpp:2096 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." -msgstr "Ðе удалоÑÑŒ Ñоздать каталог %1. Ðе удалоÑÑŒ удалить ÑущеÑтвующий файл." +msgstr "" +"Ðе удалоÑÑŒ Ñоздать каталог %1. Ðе удалоÑÑŒ " +"удалить ÑущеÑтвующий файл." -#: directorymergewindow.cpp:2112 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "Ñоздать каталог( %1 )" -#: directorymergewindow.cpp:2122 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Ðе удалоÑÑŒ Ñоздать каталог" -#: directorymergewindow.cpp:2145 directorymergewindow.cpp:2253 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Ðазначение" -#: directorymergewindow.cpp:2149 directorymergewindow.cpp:2178 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Каталог" -#: directorymergewindow.cpp:2150 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Тип" -#: directorymergewindow.cpp:2151 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Размер" -#: directorymergewindow.cpp:2152 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Ðтрибуты" -#: directorymergewindow.cpp:2153 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "ПоÑледнее изменение" -#: directorymergewindow.cpp:2154 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Объект ÑÑылки" -#: directorymergewindow.cpp:2195 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "не доÑтупно" -#: directorymergewindow.cpp:2215 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (назначение): " -#: directorymergewindow.cpp:2218 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (иÑходное): " -#: directorymergewindow.cpp:2224 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (назначение): " -#: directorymergewindow.cpp:2232 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (назначение): " -#: directorymergewindow.cpp:2238 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Ðазначение: " -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Ðачать/продолжить объединение каталогов" -#: directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Выполнить Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ пункта" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Сравнить выделенный файл" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Объединить текущий файл" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ Ð²Ñе подкаталоги" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "ИÑÐºÐ»ÑŽÑ‡Ð°Ñ Ð²Ñе подкаталоги" -#: directorymergewindow.cpp:2270 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех" -#: directorymergewindow.cpp:2271 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Выбрать B Ð´Ð»Ñ Ð²Ñех" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" -msgstr "ÐвтоматичеÑки выбирать тип дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð²Ñех" +msgstr "" +"ÐвтоматичеÑки выбирать тип дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ " +"вÑех" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Убрать дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð²Ñех" -#: directorymergewindow.cpp:2276 directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Ðичего" -#: directorymergewindow.cpp:2277 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Удалить (еÑли ÑущеÑтвует)" -#: directorymergewindow.cpp:2288 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Удалить A и B" -#: directorymergewindow.cpp:2291 -#, fuzzy +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Объединить в A и B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " msgstr "" -"Ðе удалоÑÑŒ удалить Ñтарую резервную копию. \n" +"Ðе удалоÑÑŒ удалить Ñтарую резервную " +"копию. \n" "Файл: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -612,484 +710,566 @@ "Ðе удалоÑÑŒ выполнить переименование. \n" "Файлы: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Получение ÑоÑтоÑÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Чтение файла: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "ЗапиÑÑŒ в файл: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Вне памÑти" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Создание каталога: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Удаление каталога: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Удаление файла: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Создание ÑимволичеÑкой ÑÑылки: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Переименование файла: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Копирование файла: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " "%1" msgstr "Ðе удалоÑÑŒ открыть Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " "%1" msgstr "Ðе удалоÑÑŒ открыть Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи файл %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "Ðе удалоÑÑŒ прочитать файл %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Ðе удалоÑÑŒ запиÑать в файл %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Чтение каталога: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Вывод Ñодержимого каталога: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." -msgstr "Ключ --auto иÑпользован, но не указаны выходные файлы." +msgstr "" +"Ключ --auto иÑпользован, но не указаны " +"выходные файлы." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Ключ --auto игнорируетÑÑ Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð²" -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Ðе удалоÑÑŒ произвеÑти Ñохранение." -#: kdiff3.cpp:287 pdiff.cpp:1260 pdiff.cpp:1321 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Ðе удалоÑÑŒ открыть файлы:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Открыть файлы Ð´Ð»Ñ ÑравнениÑ..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" -msgstr "Сохранить результат объединениÑ. Ð’Ñе конфликты должны быть разрешены!" +msgstr "" +"Сохранить результат объединениÑ. Ð’Ñе " +"конфликты должны быть разрешены!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Сохранить Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ именем..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Выйти" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "Вырезать в буфер обмена" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Скопировать в буфер обмена" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Ð’Ñтавить из буфера обмена" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "ИÑкать текÑÑ‚" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Продолжить поиÑк текÑта" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Отобразить/Ñкрыть панель инÑтрументов" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Отобразить/Ñкрыть панель ÑоÑтоÑниÑ" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "ÐаÑтроить KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Перейти к текущему различию" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Перейти к первому различию" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Перейти к поÑледнему различию" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Перейти к предыдущему различию" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Перейти к Ñледующему различию" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Перейти к предыдущему конфликту" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Перейти к Ñледующему конфликту" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" -msgstr "Перейти к предыдущему неразрешённому конфликту" +msgstr "" +"Перейти к предыдущему неразрешённому " +"конфликту" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" -msgstr "Перейти к Ñледующему неразрешённому конфликту" +msgstr "" +"Перейти к Ñледующему неразрешённому " +"конфликту" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Выбрать Ñтроки из A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Выбрать Ñтроки из B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Выбрать Ñтроки из C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" -msgstr "Перейти к Ñледующему неразрешённому конфликту поÑле Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñходника" +msgstr "" +"Перейти к Ñледующему неразрешённому " +"конфликту поÑле Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñходника" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" -msgstr "Отображать пробелы и табулÑции в различиÑÑ…" +msgstr "" +"Отображать пробелы и табулÑции в " +"различиÑÑ…" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Отображать пуÑтые промежутки" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Отображать номера Ñтрок" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Выбрать A везде" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Выбрать B везде" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Выбрать C везде" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" -msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов" +msgstr "" +"Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" -msgstr "Выбрать B Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов" +msgstr "" +"Выбрать B Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" -msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов" +msgstr "" +"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" -msgstr "Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков" +msgstr "" +"Выбрать A Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов пуÑтых промежутков" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" -msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков" +msgstr "" +"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов пуÑтых промежутков" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" -msgstr "Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых конфликтов пуÑтых промежутков" +msgstr "" +"Выбрать C Ð´Ð»Ñ Ð²Ñех неразрешённых " +"конфликтов пуÑтых промежутков" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" -msgstr "Разрешать проÑтые конфликты автоматичеÑки" +msgstr "" +"Разрешать проÑтые конфликты " +"автоматичеÑки" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Определить Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ ÐºÐ°Ðº конфликты" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Отобразить окно A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Отобразить окно B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Отобразить окно C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Ðктивировать Ñледующее окно" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Каталоги/текÑÑ‚" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1278 pdiff.cpp:1340 pdiff.cpp:1361 pdiff.cpp:1377 pdiff.cpp:1408 -msgid "Ready." -msgstr "Готово." - -#: kdiff3.cpp:483 pdiff.cpp:1702 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Результат Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранён" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Сохранить и выйти" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Выйти без ÑохранениÑ" -#: kdiff3.cpp:492 pdiff.cpp:1711 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." -msgstr "Ðе удалоÑÑŒ Ñохранить результат объединениÑ" +msgstr "" +"Ðе удалоÑÑŒ Ñохранить результат " +"объединениÑ" -#: kdiff3.cpp:503 pdiff.cpp:1200 +#: kdiff3.cpp:524 pdiff.cpp:1150 msgid "You are currently doing a directory merge. Are you sure, you want to abort?" msgstr "ОÑтановить объединение каталогов?" -#: kdiff3.cpp:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Сохранение файла..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Сохранение файла Ñ Ð½Ð¾Ð²Ñ‹Ð¼ именем..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Выход..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." -msgstr "Отображение/Ñкрытие панели инÑтрументов..." +msgstr "" +"Отображение/Ñкрытие панели " +"инÑтрументов..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Отображение/Ñкрытие панели ÑоÑтоÑниÑ..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Ðайти:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "С учётом региÑтра" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "ПоиÑк в A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "ПоиÑк в B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "ПоиÑк в C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "ПоиÑк в выводе" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&ИÑкать" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Ðе удалоÑÑŒ найти файлы Ð´Ð»Ñ ÑравнениÑ." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" #: kdiff3_shell.cpp:63 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." +"This usually happens due to an installation problem. Please read the " +"README-file in the source package for details." msgstr "" -#: main.cpp:27 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "СредÑтво ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ объединениÑ" -#: main.cpp:32 +#: main.cpp:35 msgid "Merge the input." msgstr "Объединить ввод." -#: main.cpp:34 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "" -#: main.cpp:36 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "" -#: main.cpp:37 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "" -#: main.cpp:38 +#: main.cpp:41 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" msgstr "" -#: main.cpp:39 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "" -#: main.cpp:40 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." msgstr "" -#: main.cpp:42 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "" + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "" + +#: main.cpp:47 +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 "Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ ÑредÑтвами." +msgstr "" +"Ð”Ð»Ñ ÑовмеÑтимоÑти Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ " +"ÑредÑтвами." -#: main.cpp:44 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "" -#: main.cpp:45 +#: main.cpp:53 msgid "file2 to open" msgstr "" -#: main.cpp:46 +#: main.cpp:54 msgid "file3 to open" msgstr "" -#: main.cpp:99 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:250 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." msgstr "" -#: mergeresultwindow.cpp:671 pdiff.cpp:591 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "" -#: mergeresultwindow.cpp:673 pdiff.cpp:593 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "" -#: mergeresultwindow.cpp:675 pdiff.cpp:595 -msgid "Files A and B are binary equal.\n" -msgstr "Файлы A и B бинарно одинаковы.\n" +#: mergeresultwindow.cpp:730 pdiff.cpp:487 +msgid "" +"Files A and B are binary equal.\n" +msgstr "" +"Файлы A и B бинарно одинаковы.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:596 -msgid "Files A and B have equal text. \n" -msgstr "Файлы A и B Ñодержат одинаковый текÑÑ‚. \n" +#: mergeresultwindow.cpp:731 pdiff.cpp:488 +msgid "" +"Files A and B have equal text. \n" +msgstr "" +"Файлы A и B Ñодержат одинаковый текÑÑ‚. \n" -#: mergeresultwindow.cpp:677 pdiff.cpp:597 -msgid "Files A and C are binary equal.\n" -msgstr "Файлы A и C бинарно одинаковы.\n" +#: mergeresultwindow.cpp:732 pdiff.cpp:489 +msgid "" +"Files A and C are binary equal.\n" +msgstr "" +"Файлы A и C бинарно одинаковы.\n" -#: mergeresultwindow.cpp:678 pdiff.cpp:598 -msgid "Files A and C have equal text. \n" -msgstr "Файлы A и C Ñодержат одинаковый текÑÑ‚. \n" +#: mergeresultwindow.cpp:733 pdiff.cpp:490 +msgid "" +"Files A and C have equal text. \n" +msgstr "" +"Файлы A и C Ñодержат одинаковый текÑÑ‚. \n" -#: mergeresultwindow.cpp:679 pdiff.cpp:599 -msgid "Files B and C are binary equal.\n" -msgstr "Файлы B и C бинарно одинаковы.\n" +#: mergeresultwindow.cpp:734 pdiff.cpp:491 +msgid "" +"Files B and C are binary equal.\n" +msgstr "" +"Файлы B и C бинарно одинаковы.\n" -#: mergeresultwindow.cpp:680 pdiff.cpp:600 -msgid "Files B and C have equal text. \n" -msgstr "Файлы B и C Ñодержат одинаковый текÑÑ‚. \n" +#: mergeresultwindow.cpp:735 pdiff.cpp:492 +msgid "" +"Files B and C have equal text. \n" +msgstr "" +"Файлы B и C Ñодержат одинаковый текÑÑ‚. \n" -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Общее количеÑтво конфликтов: " -#: mergeresultwindow.cpp:684 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " msgstr "" "\n" -"КоличеÑтво разрешённых автоматичеÑки конфликтов: " +"КоличеÑтво разрешённых автоматичеÑки " +"конфликтов: " -#: mergeresultwindow.cpp:685 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1097,23 +1277,27 @@ "\n" "КоличеÑтво неразрешённых конфликтов: " -#: mergeresultwindow.cpp:687 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Конфликты" -#: mergeresultwindow.cpp:1015 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "<нет иÑходной Ñтроки>" -#: mergeresultwindow.cpp:1022 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "<Конфликт объединениÑ>" -#: mergeresultwindow.cpp:1086 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Изменён]" -#: mergeresultwindow.cpp:1964 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1121,11 +1305,11 @@ "Ðе вÑе конфликты разрешены.\n" "Файл не Ñохранён.\n" -#: mergeresultwindow.cpp:1966 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "ОÑталоÑÑŒ конфликтов" -#: mergeresultwindow.cpp:1978 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1135,375 +1319,437 @@ "\n" "Файл не Ñохранён." -#: mergeresultwindow.cpp:1978 mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: mergeresultwindow.cpp:1994 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "" -#: mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Ошибка запиÑи" -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Шрифт редактора и вывода различий" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Ð Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ ÐºÑƒÑ€Ñивом" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." -msgstr "ЕÑли шрифт не Ñодержит курÑива, Ñтот параметр не работает." +msgstr "" +"ЕÑли шрифт не Ñодержит курÑива, Ñтот " +"параметр не работает." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Цвет" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Цвета редактора и вывода различий" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Цвет текÑта:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Цвет фона:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Цвет фона различий:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Цвет A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Цвет B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Цвет C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Цвет конфликтов:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Редактор" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Режим редактора" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "ЗаменÑть табулÑцию пробелами" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." msgstr "" -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "ТабулÑциÑ:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "ПроÑтавлÑть отÑтупы автоматичеÑки" -#: optiondialog.cpp:364 -msgid "On: The indentation of the previous line is used for a new line.\n" +#: optiondialog.cpp:458 +msgid "" +"On: The indentation of the previous line is used for a new line.\n" msgstr "" -#: optiondialog.cpp:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" -msgstr "Копировать выделение в буфер обмена автоматичеÑки" +msgstr "" +"Копировать выделение в буфер обмена " +"автоматичеÑки" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." msgstr "" -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: optiondialog.cpp:490 +msgid "Change this if non-ASCII characters are not displayed correctly." msgstr "" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Сравнить и объединить" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "ÐаÑтройки ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ объединениÑ" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Отображать Ñимвол перевода каретки" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." msgstr "" -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "ПропуÑкать цифры" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 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:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "ПропуÑкать комментарии C/C++" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Обрабатывать комментарии C/C++ как пробелы." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "ПеревеÑти в верхний региÑтр" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Без учёта региÑтра" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "ВоÑпринимать нижний региÑтр верхним при чтении ('a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" -msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°, определÑÐµÐ¼Ð°Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей Ñм. документацию)." +msgstr "" +"ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°, определÑÐµÐ¼Ð°Ñ " +"пользователем (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей Ñм. " +"документацию)." -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" -msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñтрок:" +msgstr "" +"ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ " +"Ñтрок:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" msgstr "" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "ЗадейÑтвовать вÑе алгоритмы (медленно)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." msgstr "" -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Выбор вручную" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 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:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Объединение каталогов" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "РекурÑиÑ" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "" -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "МаÑки файлов:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" "Several Patterns can be specified by using the separator: ';'" msgstr "" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "ПропуÑкать файлы по маÑке:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 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:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "ПропуÑкать каталоги по маÑке:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 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:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "ИÑпользовать .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "" -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "" -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Следовать по ÑÑылкам на файлы" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." msgstr "" -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Следовать по ÑÑылкам на каталоги" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." msgstr "" -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Только различиÑ" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 msgid "Files and directories without change will not appear in the list." msgstr "" -#: optiondialog.cpp:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Бинарное Ñравнение" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Сравнивать по дате Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (неточно)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 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:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Сравнивать по размеру (неточно)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Синхронизировать каталоги" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 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:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" -msgstr "Принимать Ñразу новые файлы вмеÑто Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (небезопаÑно)" +msgstr "" +"Принимать Ñразу новые файлы вмеÑто " +"Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (небезопаÑно)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 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:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Сохранить резервные копии (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1513,135 +1759,156 @@ "Do you want to continue or do you want to select another font." msgstr "" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "ÐеÑовмеÑтимый шрифт" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Продолжить" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Выбрать другой шрифт" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 msgid "This resets all options. Not only those of the current topic." -msgstr "Это ÑброÑит абÑолютно вÑе параметры, а не только текущей вкладки." +msgstr "" +"Это ÑброÑит абÑолютно вÑе параметры, а не " +"только текущей вкладки." -#: pdiff.cpp:377 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -#: pdiff.cpp:443 +#: pdiff.cpp:263 +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 "" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Загрузка A" -#: pdiff.cpp:448 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Загрузка B" -#: pdiff.cpp:459 pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Различие: A <-> B" -#: pdiff.cpp:467 pdiff.cpp:520 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "ПоÑтрочное Ñравнение: A <-> B" -#: pdiff.cpp:476 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Загрузка C" -#: pdiff.cpp:490 pdiff.cpp:502 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Различие: B <-> C" -#: pdiff.cpp:493 pdiff.cpp:505 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Различие: A <-> C" -#: pdiff.cpp:523 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "ПоÑтрочное Ñравнение: B <-> C" -#: pdiff.cpp:526 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "ПоÑтрочное Ñравнение: A <-> C" -#: pdiff.cpp:610 +#: pdiff.cpp:502 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:1030 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (иÑходное):" -#: pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1066 pdiff.cpp:1084 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Файл..." -#: pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1068 pdiff.cpp:1086 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Каталог..." -#: pdiff.cpp:1061 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "С (необÑзательно):" -#: pdiff.cpp:1079 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Вывод (необÑзательно):" -#: pdiff.cpp:1108 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "ÐаÑтроить..." -#: pdiff.cpp:1201 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Стоп" -#: pdiff.cpp:1207 pdiff.cpp:1286 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Открытие файлов..." -#: pdiff.cpp:1269 pdiff.cpp:1330 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: pdiff.cpp:1345 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Вырезание в буфер обмена..." -#: pdiff.cpp:1366 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Копирование в буфер обмена..." -#: pdiff.cpp:1382 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Ð’Ñтавка из буфера обмена..." -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Сохранить и продолжить" -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Продолжить без ÑохранениÑ" -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "ПоиÑк завершён." -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "ПоиÑк завершён" @@ -1670,10 +1937,13 @@ msgstr "&Перемещение" #: rc.cpp:9 +msgid "D&iffview" +msgstr "D&iff" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Объединение" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "&Окно" - diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/sr.po --- a/kdiff3/po/sr.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/sr.po Thu Sep 16 02:40:08 2004 +0000 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\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 \n" "Language-Team: Serbian\n" @@ -26,11 +26,33 @@ "Your emails" msgstr "chaslav@sezampro.yu" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 msgid "From Clipboard" msgstr "Из клипборда" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -39,63 +61,84 @@ "Ðко је можете поновити, контактирајте " "аутора.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Озбиљна унутрашња грешка" -#: difftextwindow.cpp:789 -#, c-format -msgid "Topline %1" +#: difftextwindow.cpp:829 +#, fuzzy, c-format +msgid "Top line %1" msgstr "Ðајвиша линија %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Крај" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Мешавина веза и нормалних фајлова." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Веза: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Величина: " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Датум и величина: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "" "Прављење привремене копије фајла %1 није " "уÑпело." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Отварање фајла %1 није уÑпело." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Снимам фајл..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Грешка при читању из %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Име" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Операција" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "СтатуÑ" -#: directorymergewindow.cpp:271 +#: 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?" @@ -104,44 +147,44 @@ "ли заиÑта да прекинете Ñтапање и поново " "Ñкенирате директоријум?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Поново Ñкенирај" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "ÐаÑтави Ñтапање" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Отварање директоријума није уÑпело:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 msgid "" "Dir A \"%1\" does not exist or is not a directory.\n" msgstr "" "Дир. Р„%1“ не поÑтоји или није " "директоријум.\n" -#: directorymergewindow.cpp:386 +#: directorymergewindow.cpp:427 msgid "" "Dir B \"%1\" does not exist or is not a directory.\n" msgstr "" "Дир. Б „%1“ не поÑтоји или није " "директоријум.\n" -#: directorymergewindow.cpp:389 +#: directorymergewindow.cpp:430 msgid "" "Dir C \"%1\" does not exist or is not a directory.\n" msgstr "" "Дир. Ц „%1“ не поÑтоји или није " "директоријум.\n" -#: directorymergewindow.cpp:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Грешка при отварању директоријума." -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -152,134 +195,145 @@ "директоријума.\n" "Проверите поново пре него наÑтавите." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Упозорење о параметрима" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "Синхронизуј директоријуме" + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Читам директоријум Ð" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Читам директоријум Б" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Читам директоријум Ц" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Ðеки поддиректоријуми ниÑу били читљиви у" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Проверите дозволе поддиректоријума." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Спреман." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€ÐµÑ’ÐµÑšÐ° директоријума" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Број поддиректоријума:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Број једнаких фајлова:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Број различитих фајлова:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Број ручних Ñтапања:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Ово утиче на Ñве операције Ñтапања." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Мењам Ñве операције Ñтапања" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "&ÐаÑтави" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Обрађујем " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Урадити." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Копирај Ру Б" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Копирај Б у Ð" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Обриши Ð" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Обриши Б" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Обриши Ри Б" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Стопи у Ð" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Стопи у Б" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Стопи Ри Б" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Обриши (ако поÑтоји)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Стопи" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Стопи (ручно)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Грешка: Сукобљени типови фајлова" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "" "Грешка: Датуми Ñу једнаки али фајлови " "ниÑу." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "Ова операција тренутно није могућа." -#: directorymergewindow.cpp:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Операција није могућа" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -292,44 +346,44 @@ "Ðко знате како ово да поновите, " "контактирајте аутора програма." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "ПрограмÑка грешка" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Дошло је до грешке у току копирања.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Грешка Ñтапања" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Грешка." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Готово." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Ðије Ñнимљено." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "" "Ðепозната операција Ñтапања. (Ово никад " "не Ñме да Ñе деÑи!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Ðепозната операција Ñтапања." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -352,19 +406,19 @@ "Ðаправите резерву Ñвојих најважнијих " "података!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Почињем Ñтапање" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Уради" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Симулирај" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -373,7 +427,7 @@ "различитим директоријумима. Изаберите " "шта је чинити." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -381,13 +435,16 @@ "Датуми измене фајла Ñу једнаки али " "фајлови ниÑу. Изаберите шта је чинити." -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +#, fuzzy +msgid "" +"This operation is currently not possible because directory merge is " +"currently running." msgstr "" "Ова операција тренутно није могућа зато " "што Ñе директоријуми Ñтапају." -#: directorymergewindow.cpp:1692 +#: directorymergewindow.cpp:1838 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 " @@ -398,267 +455,268 @@ "изазвала грешку или желите да је " "преÑкочите?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "ÐаÑтави Ñтапање поÑле грешке" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "ÐаÑтави Ñа поÑледњом Ñтавком" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "ПреÑкочи Ñтавку" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "ПреÑкочено." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "У току..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "Операција Ñтапања је завршена." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Стапање је завршено" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 msgid "Simulated merge complete: Check if you agree with the proposed operations." msgstr "" "Симулирано Ñтапање је завршено: " "Проверите да ли Ñе Ñлажете Ñа предложеним " "операцијама." -#: directorymergewindow.cpp:1833 +#: directorymergewindow.cpp:1977 msgid "" "An error occurred. Press OK to see detailed information.\n" msgstr "" "Дошло је до грешке. ПритиÑните „У реду“ " "да биÑте видели детаљне информације.\n" -#: directorymergewindow.cpp:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "" "Грешка: У току бриÑања %1: Прављење резерве " "није уÑпело." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "обриши директоријум рекурзивно( %1 )" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "обриши( %1 )" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 msgid "Error: delete dir operation failed while trying to read the directory." msgstr "" "Грешка: Операција бриÑања директоријума " "није уÑпела у току покушаја да Ñе " "директоријум прочита." -#: directorymergewindow.cpp:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Грешка: Операција rmdir( %1 ) није уÑпела." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Грешка: Операција бриÑања није уÑпела." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "ручно Ñтапање( %1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +#, fuzzy +msgid " Note: After a manual merge the user should continue by pressing F7." msgstr "" " Ðапомена: ПоÑле ручног Ñтапања " "кориÑник би требало да наÑтави помоћу F7." -#: directorymergewindow.cpp:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "" "Грешка: Копирање( %1 -> %2 ) није уÑпело. " "БриÑање поÑтојећег одредишта није уÑпело." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "копирање везе( %1 -> %2 )" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "" "Грешка: Копирање везе није уÑпело: " "Удаљене везе још увек ниÑу подржане." -#: directorymergewindow.cpp:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Грешка: Копирање везе није уÑпело." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "копирај( %1 -> %2 )" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "" "Грешка у току преименовања( %1 ->" " %2 ): Ðе могу да обришем поÑтојеће " "одредиште." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "преименуј( %1 -> %2 )" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Грешка: Преименовање није уÑпело." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." msgstr "" "Грешка у току прављења директоријума %1. " "Ðе могу да обришем поÑтојећи фајл." -#: directorymergewindow.cpp:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "направи директоријум( %1 )" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Грешка у току прављења директоријума." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "Одр." -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Дир." -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Тип" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Вел." -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Ðтр." -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "ПоÑледња измена" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "Веза-одредиште" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "није доÑтупно" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "Ð (одр.): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "Ð (база): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "Б (одр.): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "Ц (одр.): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "Одр.: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Покрени/наÑтави Ñтапање директоријума" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Покрени операцију за текућу Ñтавку" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Упореди изабрани фајл" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Стопи текући фајл" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Сажми Ñве поддиректоријуме" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Рашири Ñве поддиректоријуме" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Изабери Рза Ñве Ñтавке" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Изабери Б за Ñве Ñтавке" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Изабери Ц за Ñве Ñтавке" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "" "ÐутоматÑки изабери операцију за Ñве " "Ñтавке" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Ðема операције за Ñве Ñтавке" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Ðе ради ништа" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "Ð" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "Б" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "Ц" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Обриши (ако поÑтоји)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Обриши Ри Б" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Стопи Ри Б" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -667,7 +725,7 @@ "бриÑање Ñтарије резерве није уÑпело.\n" "Име фајла: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -676,53 +734,53 @@ "преименовање није уÑпело.\n" "Имена фајлова: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Добављам ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ„Ð°Ñ˜Ð»Ð°: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Читам фајл: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Пишем фајл: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Ðема меморије" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Правим директоријум: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Уклањам директоријум: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Уклањам фајл: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Правим Ñимболичку везу: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Уклањам фајл: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Копирам фајл: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -732,7 +790,7 @@ "Отварање фајла за читање није уÑпело. Име " "фајла: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -742,337 +800,352 @@ "Отварање фајла за пиÑање није уÑпело. Име " "фајла: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "" "Грешка током операције копирања фајлова: " "Читање није уÑпело. Име фајла: %1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "" "Грешка током операције копирања фајлова: " "ПиÑање није уÑпело. Име фајла: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Читам директоријум: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "ЛиÑтам директоријум: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "" "Опција --auto је употребљена, али није " "наведен излазни фајл." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "" "Опција --auto Ñе игнорише за поређење " "директоријума." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Снимање није уÑпело." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Отварање ових фајлова није уÑпело:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Грешка при отварању фајла" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Отвара документе за поређење..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "" "Снима резултат Ñтапања. Сви Ñукоби морају " "бити разрешени!" -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Снима текуће документе као..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Излази из програма" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "" "ИÑеца изабрану Ñекцију и Ñтавља је у " "клипборд" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Копира изабрану Ñекцију у клипборд" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "" "ПреноÑи Ñадржај клипборда на текућу " "позицију" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Потражи знаковни низ" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Поново потражи знаковни низ" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Укључује/иÑкључује траку Ñа алатима" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Укључује/иÑкључује ÑтатуÑну траку" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "ПодеÑи KDiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "Иди на текућу делту" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "Иди на прву делту" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "Иди на поÑледњу делту" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "Иди на претходну делту" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "Иди на Ñледећу делту" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "Иди на претходни Ñукоб" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "Иди на Ñледећи Ñукоб" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "Иди на претходни нерешени Ñукоб" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "Иди на Ñледећи нерешени Ñукоб" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Изаберите линије из Ð" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Изаберите линије из Б" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Изаберите линије из Ц" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "" "ÐутоматÑки иди на Ñледећи нерешени Ñукоб " "поÑле избора извора" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "" "Прикажи знакове размака и табулатора за " "разлике" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Прикажи беле размаке" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Прикажи бројеве линија" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Свуда изабери Ð" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Свуда изабери Б" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Свуда изабери Ц" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Изабери Рза Ñве нерешене Ñукобе" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Изабери Б за Ñве нерешене Ñукобе" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Изабери Ц за Ñве нерешене Ñукобе" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "" "Изабери Рза Ñве нерешене Ñукобе белих " "размака" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "" "Изабери Б за Ñве нерешене Ñукобе белих " "размака" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "" "Изабери Ц за Ñве нерешене Ñукобе белих " "размака" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "ÐутоматÑки реши једноÑтавне Ñукобе" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "ПоÑтави делте на Ñукобе" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Прикажи прозор Ð" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Прикажи прозор Б" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Прикажи прозор Ц" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "ФокуÑирај Ñледећи прозор" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Промени оријентацију раздвајања" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Подељени приказ екрана за дир. и текÑÑ‚" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Промени између дир. и текÑÑ‚. приказа" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Спреман." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Резултат Ñтапања није Ñнимљен." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Сними и изађи" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Изађи без Ñнимања" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Снимање резултата Ñтапања није уÑпело." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 msgid "You are currently doing a directory merge. Are you sure, you want to abort?" msgstr "" "Тренутно Ñтапате директоријуме. Желите " "ли заиÑта да прекинете?" -#: kdiff3.cpp:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Снимам фајл..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Снимам фајл под новим именом..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Излазим..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Укључујем/иÑкључујем траку Ñа алатом..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Укључи/иÑкључи ÑтатуÑну траку..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "ТекÑÑ‚ за претрагу:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Разликује мала и велика Ñлова" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Претражи Ð" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Претражи Б" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Претражи Ц" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Излаз претраге" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Тражи" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "ÐиÑам могао да нађем фајлове за поређење." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1087,71 +1160,102 @@ "проблема. Прочитајте фајл README у изворном " "пакету за детаље." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Ðлат за разликовање и Ñтапање текÑта" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Стопи улаз." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "" "ЕкÑплицитан базни фајл. За " "компатибилноÑÑ‚ Ñа одређеним алатима." -#: main.cpp:35 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr "Излазни фајл. Имплицира -m. Ðпр.: -o newfile.txt" -#: main.cpp:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "" "Излазни фајл, поново. (За компатибилноÑÑ‚ " "Ñа одређеним алатима.)" -#: main.cpp:37 +#: main.cpp:41 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" msgstr "" "Без GUI-ја ако Ñу Ñви Ñукоби аутоматÑки " "решиви. (Захтева -o file)" -#: main.cpp:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "" "Ðе решавај Ñукобе аутоматÑки. (За " "компатибилноÑÑ‚...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +#, fuzzy +msgid "Visible name replacement for input file 1 (base)." msgstr "" "Видљива замена имена. Задајте ово једном " "за Ñваки улаз." -#: main.cpp:41 +#: 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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "" "фајл1 за отворање (базни, ако није наведен " "преко --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "фајл2 за отворање" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "фајл3 за отворање" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1160,55 +1264,55 @@ "Ðко наÑтавите, ваше измене ће бити " "изгубљене." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Сви улазни фајлови Ñу бинарно једнаки." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Сви улазни фајлови Ñадрже иÑти текÑÑ‚." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Фајлови Ри Б Ñу бинарно једнаки.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Фајлови Ри Б имају једнак текÑÑ‚.\n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Фајлови Ри Ц Ñу бинарно једнаки.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Фајлови Ри Ц имају једнак текÑÑ‚.\n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Фајлови Б и Ц Ñу бинарно једнаки.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Фајлови Б и Ц имају једнак текÑÑ‚.\n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Укупан број Ñукоба: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1216,7 +1320,7 @@ "\n" "Број аутоматÑки решених Ñукоба: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1224,23 +1328,27 @@ "\n" "Број нерешених Ñукоба: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Сукоби" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "<Ðема изв. линије>" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "<Сукоб у Ñтапању>" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Измењен]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1248,11 +1356,11 @@ "Још увек ниÑу решени Ñви Ñукоби.\n" "Фајл није Ñнимљен.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "ПреоÑтали Ñукоби" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1262,29 +1370,29 @@ "\n" "Фајл није Ñнимљен." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Грешка у Ñнимању фајла" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "" "ÐеÑтало је меморије у току припреме " "Ñнимања." -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Грешка приликом пиÑања." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Фонт уређивача и раз. излаза" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Курзивни фонт за делте" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1293,63 +1401,63 @@ "Ðко фонт не подржава курзивне знакове, " "онда ово не ради ништа." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Боја" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Боје у уређивачу и раз. излазу" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Боја иÑцртавања:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Боја позадине:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Боја позадине разлика:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Боја Ð:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Боја Б:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Боја Ц:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Боја Ñукоба:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "ПозадинÑка боја текућег опÑега:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "ПозадинÑка боја текућег опÑега разлика:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Уређивач" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Понашање уређивача" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Таб убацује размаке" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1358,26 +1466,26 @@ "одговарајући број размака.\n" "ИÑкључено: Знак табулатора ће бити убачен." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Величина таба:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "ÐутоматÑко увлачење" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 msgid "" "On: The indentation of the previous line is used for a new line.\n" msgstr "" "Укључено: Увлачење претходне линије " "кориÑти Ñе за нову линију.\n" -#: optiondialog.cpp:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "ÐутоматÑко копирање избора" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1387,29 +1495,40 @@ "ИÑкључено: Морате екÑплицитно копирати, " "нрп. помоћу Ctrl+C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: optiondialog.cpp:490 +#, fuzzy +msgid "Change this if non-ASCII characters are not displayed correctly." msgstr "" "Измените ово аке Ñе не-ascii знакови не " "приказују иÑправно." -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Разлика и Ñтапање" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "ПоÑтавке разлике и Ñтапања" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "Очувај CR" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1419,11 +1538,11 @@ "мењани под различитим оперативним " "ÑиÑтемима." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Игнориши бројеве" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1435,39 +1554,38 @@ "Може вам помоћи при упоређивању фајлова " "Ñа нумеричким подацима." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Игнориши C/C++ коментаре" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Третирај C/C++ коментаре као беле размаке." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Претвори у велика Ñлова" +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "Игнориши бројеве" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" msgstr "" -"Претвори Ñве знакове малих Ñлова у велика " -"при читању. (нпр.: „а“->„Г)" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Предобрадна наредба:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "" "КориÑнички дефиниÑана предобрада. " "(Погледајте документацију за детаље.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Предобрадна наредба за поклапање линија:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1476,11 +1594,11 @@ "поклапања линија.\n" "(Погледајте документацију за детаље.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Потруди Ñе (Ñпорије)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1490,11 +1608,11 @@ "Ðнализа великих фајлова ће бити много " "Ñпорија." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "ЗаÑтој аутоматÑког напредовања (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1504,17 +1622,17 @@ "наведено време, пре Ñкока на Ñледећи " "Ñукоб. ОпÑег: 0-2000 ms" -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "" "Подразумевано Ñтапање белих размака два " "фајла:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Ручни избор" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1523,29 +1641,29 @@ "аутоматÑки изабере улаз за измене Ñамо у " "белим размацима" -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "" "Подразумевано Ñтапање белих размака три " "фајла:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Стапање директоријума" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Рекурзивни директоријуми" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Да ли да Ñе анализирају поддиректоријуми." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Облици фајлова:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1556,11 +1674,11 @@ "Више облика можете навеÑти кориÑтећи " "раздвајач: „;“" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Ðнтиоблици фајлова:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1572,11 +1690,11 @@ "Више облика можете навеÑти кориÑтећи " "раздвајач: „;“" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Ðнтиоблици директоријума:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1588,11 +1706,11 @@ "Више облика можете навеÑти кориÑтећи " "раздвајач: „;“" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "КориÑти фајл .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1602,27 +1720,27 @@ "Преко локалних фајлова „.cvsignore“ ово може " "бити поÑебно по директоријуму." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Пронађи Ñкривене фајлове и директоријуме" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "" "Ðалази фајлове и директоријуме Ñа " "атрибутом Ñкривених." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "" "Ðалази фајлове и директоријуме који " "почињу Ñа „.“" -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Прати везе фајлова" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1631,11 +1749,11 @@ "везе.\n" "ИÑкључено: Пореди везе." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Прати везе директоријума" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1644,21 +1762,44 @@ "показују везе.\n" "ИÑкључено: Пореди везе." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "ИзлиÑтај Ñамо делте" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 msgid "Files and directories without change will not appear in the list." msgstr "" "Фајлови и директоријуми без измена неће " "Ñе појављивати у лиÑти." -#: optiondialog.cpp:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ñ€ÐµÑ’ÐµÑšÐ° директоријума" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 msgid "Trust the modification date (unsafe)" msgstr "Веруј датуму измене (није безбедно)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1669,11 +1810,11 @@ "КориÑно за велике директоријуме или " "Ñпоре мреже." -#: optiondialog.cpp:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Веруј величини (није безбедно)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1685,11 +1826,11 @@ "Ñпоре мреже када Ñе датум измене у току " "преузимања." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Синхронизуј директоријуме" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1701,13 +1842,13 @@ "Ради Ñамо када Ñе пореде два " "директоријума без навођења одредишта." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "" "Копирај новији умеÑто Ñтапања (није " "безбедно)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1718,11 +1859,11 @@ "Има ефекта Ñамо када Ñе пореде два " "директоријума." -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Резервиши фајлове (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1732,7 +1873,25 @@ "преименован Ñа наÑтавком „.orig“ умеÑто да " "буде обриÑан." -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1751,78 +1910,90 @@ "Желите ли да наÑтавите или ћете изабрати " "други фонт?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Ðекомпатибилан фонт" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "ÐаÑтавите на ÑопÑтвени ризик" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Изаберите други фонт" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 msgid "This resets all options. Not only those of the current topic." msgstr "" "Ово реÑетује Ñве опције. Ðе Ñамо оне у " "текућој теми." -#: pdiff.cpp:371 +#: pdiff.cpp:257 +#, fuzzy +msgid "PreprocessorCmd: " +msgstr "Предобрадна наредба:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -"Покретање Ñпољашњег разликовања није " -"уÑпело.\n" -"Проверите да ли то разликовање ради, да ли " -"програм може да пише у привремени " -"директоријум и да ли има проÑтора на " -"диÑку.\n" -"Опција Ñпољашњег разликовања ће Ñада " -"бити иÑкључена и кориÑтиће Ñе унутрашње." -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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 "" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Учитавам Ð" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Учитавам Б" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Раз.: Ð <-> Б" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Раз.лин.: Ð <-> Б" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Учитавам Ц" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Раз.: Б <-> Ц" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Раз.: Ð <-> Ц" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Раз.лин.: Б <-> Ц" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Раз.лин.: Ð <-> Ц" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1834,67 +2005,67 @@ "намењено бинарним подацима.\n" "ÐаÑтавите на ÑопÑтвени ризик." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "Ð (база):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Фајл..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Дир..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "Ц (опционо):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Излаз (опционо):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "ПодеÑи..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Прекини" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Отварам фајлове..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Грешка при отварању фајла" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "ИÑецам изабрано..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Копирам изабрано у клипборд..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Убацујем Ñадржај клипборда..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Сними и наÑтави" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "ÐаÑтави без Ñнимања" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Претрага је завршена." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Претрага је готова" @@ -1923,9 +2094,43 @@ msgstr "&Кретање" #: rc.cpp:9 +#, fuzzy +msgid "D&iffview" +msgstr "KDiff3" + +#: rc.cpp:10 msgid "&Merge" msgstr "&Стопи" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "П&розор" + +#, 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 "" +#~ "Претвори Ñве знакове малих Ñлова у велика при читању. (нпр.: „а“->„Г)" + +#, 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" +#~ "Опција Ñпољашњег разликовања ће Ñада бити иÑкључена и кориÑтиће Ñе " +#~ "унутрашње." diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/sv.po --- a/kdiff3/po/sv.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/sv.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,18 +1,18 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2003 Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. +# translation of kdiff3.po to Svenska +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Stefan Asserhäll , 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2003-12-10 01:44+0100\n" -"PO-Revision-Date: 2003-12-16 16:55+0100\n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-05-31 09:40+0200\n" "Last-Translator: Stefan Asserhäll \n" "Language-Team: Svenska \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\n" #: _translatorinfo.cpp:1 msgid "" @@ -26,11 +26,44 @@ "Your emails" msgstr "stefan.asserhall@comhem.se" -#: diff.cpp:472 +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "Skrivning av klippbordsdata till tillfällig fil misslyckades." + +#: diff.cpp:245 msgid "From Clipboard" msgstr "FrÃ¥n klippbord" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" +"Preprocessing misslyckades möjligen. Kontrollera kommandot:\n" +"\n" +" %1\n" +"\n" +"Preprocessingkommandot inaktiveras nu." + +#: diff.cpp:425 +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 "" +"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 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -38,61 +71,81 @@ "Dataförlustfel:\n" "Om det gÃ¥r att upprepa, kontakta upphovsmannen.\n" -#: diff.cpp:1100 diff.cpp:1114 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "Allvarligt internt fel" -#: difftextwindow.cpp:789 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" +msgid "Top line %1" msgstr "Övre rad %1" -#: difftextwindow.cpp:791 +#: difftextwindow.cpp:831 msgid "End" msgstr "Slut" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "Blandning av länkar och normala filer." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "Länk: " -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "Storlek: " -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "Datum och storlek: " -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "Att skapa tillfällig kopia av %1 misslyckades." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "Öppna %1 misslyckades." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "Jämför fil..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 #, c-format msgid "Error reading from %1" msgstr "Fel vid läsning frÃ¥n %1" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "Namn" -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "Ã…tgärd" -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "Status" -#: directorymergewindow.cpp:271 +#: directorymergewindow.cpp:258 +msgid "Unsolved" +msgstr "Olöst" + +#: directorymergewindow.cpp:259 +msgid "Solved" +msgstr "Löst" + +#: directorymergewindow.cpp:260 +msgid "Nonwhite" +msgstr "Inte blank" + +#: directorymergewindow.cpp:261 +msgid "White" +msgstr "Blank" + +#: directorymergewindow.cpp:289 msgid "" "You are currently doing a directory merge. Are you sure, you want to abort " "the merge and rescan the directory?" @@ -100,41 +153,41 @@ "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:272 directorymergewindow.cpp:2264 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "Avsök igen" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1186 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "Fortsätt sammanfoga" -#: directorymergewindow.cpp:380 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "Öppna katalogerna misslyckades:" -#: directorymergewindow.cpp:383 +#: directorymergewindow.cpp:424 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:386 +#: directorymergewindow.cpp:427 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:389 +#: directorymergewindow.cpp:430 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:391 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "Fel vid öppna katalog" -#: directorymergewindow.cpp:399 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -144,132 +197,142 @@ "sammanfogas.\n" "Kontrollera igen innan du fortsätter." -#: directorymergewindow.cpp:401 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "Parametervarning" -#: directorymergewindow.cpp:428 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "Söker i kataloger..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "Läser katalog A" -#: directorymergewindow.cpp:450 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "Läser katalog B" -#: directorymergewindow.cpp:472 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "Läser katalog C" -#: directorymergewindow.cpp:498 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "Vissa underkataloger kunde inte läsas i" -#: directorymergewindow.cpp:503 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "Kontrollera rättigheter för underkatalogerna." -#: directorymergewindow.cpp:550 +#: 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 +msgid "Ready." +msgstr "Klar." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "Status för katalogjämförelse" -#: directorymergewindow.cpp:551 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "Antal underkataloger:" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "Antal likadana filer:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "Antal olika filer:" -#: directorymergewindow.cpp:556 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "Antal manuella sammanfogningar:" -#: directorymergewindow.cpp:684 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "Det här pÃ¥verkar alla sammanfogningsÃ¥tgärder." -#: directorymergewindow.cpp:685 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "Ändra alla sammanfogningsÃ¥tgärder" -#: directorymergewindow.cpp:685 mergeresultwindow.cpp:251 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "F&ortsätt" -#: directorymergewindow.cpp:952 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "Behandlar " -#: directorymergewindow.cpp:1300 directorymergewindow.cpp:1307 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "Att göra." -#: directorymergewindow.cpp:1334 directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "Kopiera A till B" -#: directorymergewindow.cpp:1335 directorymergewindow.cpp:2280 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "Kopiera B till A" -#: directorymergewindow.cpp:1336 directorymergewindow.cpp:2281 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "Ta bort A" -#: directorymergewindow.cpp:1337 directorymergewindow.cpp:2282 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "Ta bort B" -#: directorymergewindow.cpp:1338 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "Ta bort A och B" -#: directorymergewindow.cpp:1339 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr "Sammanfoga till A" -#: directorymergewindow.cpp:1340 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr "Sammanfoga till B" -#: directorymergewindow.cpp:1341 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "Sammanfoga till A och B" -#: directorymergewindow.cpp:1345 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "Ta bort (om den finns)" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 -#: directorymergewindow.cpp:2275 pdiff.cpp:1061 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "Sammanfoga" -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "Sammanfoga (manuellt)" -#: directorymergewindow.cpp:1348 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "Fel: Konflikt i filtyper" -#: directorymergewindow.cpp:1349 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "Fel: Datum är lika men filerna är det inte." -#: directorymergewindow.cpp:1373 +#: directorymergewindow.cpp:1511 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:1373 directorymergewindow.cpp:1633 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "Ã…tgärd inte möjlig" -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -283,42 +346,42 @@ "\n" "Om du vet hur du kan upprepa detta, kontakta programmets upphovsman." -#: directorymergewindow.cpp:1416 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "Programfel" -#: directorymergewindow.cpp:1427 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "Ett fel uppstod vid kopiering.\n" -#: directorymergewindow.cpp:1428 directorymergewindow.cpp:1834 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "Sammanfogningsfel" -#: directorymergewindow.cpp:1433 directorymergewindow.cpp:1839 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "Fel." -#: directorymergewindow.cpp:1438 directorymergewindow.cpp:1730 -#: directorymergewindow.cpp:1770 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "Klar." -#: directorymergewindow.cpp:1461 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "Inte sparad." -#: directorymergewindow.cpp:1496 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "Okänd sammanfogningsÃ¥tgärd. (Det här fÃ¥r aldrig inträffa!)" -#: directorymergewindow.cpp:1528 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "Okänd sammanfogningsÃ¥tgärd." -#: directorymergewindow.cpp:1543 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -338,19 +401,19 @@ "finns INGA GARANTIER överhuvudtaget! Gör säkerhetskopior av viktig " "information!" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "Startar sammanfogning" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "Gör det" -#: directorymergewindow.cpp:1548 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "Simulera det" -#: directorymergewindow.cpp:1574 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -358,7 +421,7 @@ "Det markerade objektet har olika typ i de olika katalogerna. Välj vad du " "vill göra." -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -366,13 +429,15 @@ "Ändringsdatum för filerna är samma, men filerna är det inte. Välj vad " "du vill göra." -#: directorymergewindow.cpp:1633 -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +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 att utföra eftersom " -"jämförelsesammanfogning för närvarande kör." +"Den här Ã¥tgärden är för närvarande inte möjlig eftersom " +"katalogsammanfogning för närvarande kör." -#: directorymergewindow.cpp:1692 +#: directorymergewindow.cpp:1838 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 " @@ -382,253 +447,253 @@ "Vill du fortsätta med objektet som orsakade felet, eller vill du hoppa " "över objektet?" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "Fortsätt sammanfoga efter ett fel" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "Fortsätt med sista objekt" -#: directorymergewindow.cpp:1694 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "Hoppa över objekt" -#: directorymergewindow.cpp:1730 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "Överhoppad." -#: directorymergewindow.cpp:1737 directorymergewindow.cpp:1963 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "PÃ¥gÃ¥r..." -#: directorymergewindow.cpp:1785 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "SammanfogningsÃ¥tgärd färdig." -#: directorymergewindow.cpp:1785 directorymergewindow.cpp:1788 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "Sammanfogning färdig" -#: directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1941 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:1833 +#: directorymergewindow.cpp:1977 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:1876 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "Fel: Vid borttagning av %1: Misslyckades skapa säkerhetskopia." -#: directorymergewindow.cpp:1883 +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" msgstr "Ta bort katalog rekursivt (%1)" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "Ta bort (%1)" -#: directorymergewindow.cpp:1900 +#: directorymergewindow.cpp:2044 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:1919 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr "Fel: Ã…tgärden rmdir (%1) misslyckades." -#: directorymergewindow.cpp:1929 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "Fel: BorttagningsÃ¥tgärden misslyckades." -#: directorymergewindow.cpp:1955 +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" msgstr "Manuell sammanfogning (%1, %2, %3 -> %4)" -#: directorymergewindow.cpp:1958 -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +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 " -"med F7." +"genom att trycka pÃ¥ F7." -#: directorymergewindow.cpp:1981 +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "" "Fel: Kopiering (%1 -> %2) misslyckades. Borttagning av befintlig fil " "misslyckades." -#: directorymergewindow.cpp:1991 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "Kopiera länk (%1 -> %2)" -#: directorymergewindow.cpp:2002 +#: directorymergewindow.cpp:2146 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:2008 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "Fel: Kopiera länk misslyckades." -#: directorymergewindow.cpp:2028 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "Kopiera (%1 -> %2)" -#: directorymergewindow.cpp:2054 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "Fel vid namnbyte (%1 -> %2): Kan inte ta bort befintlig fil." -#: directorymergewindow.cpp:2060 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "Byt namn (%1 -> %2)" -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "Fel: Namnbyte misslyckades." -#: directorymergewindow.cpp:2087 +#: directorymergewindow.cpp:2231 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:2103 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "Skapa katalog (%1)" -#: directorymergewindow.cpp:2113 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "Fel vid skapa katalog." -#: directorymergewindow.cpp:2140 directorymergewindow.cpp:2248 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "MÃ¥l" -#: directorymergewindow.cpp:2144 directorymergewindow.cpp:2173 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "Katalog" -#: directorymergewindow.cpp:2145 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "Typ" -#: directorymergewindow.cpp:2146 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "Storlek" -#: directorymergewindow.cpp:2147 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "Egenskap" -#: directorymergewindow.cpp:2148 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "Senast ändrad" -#: directorymergewindow.cpp:2149 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "LänkmÃ¥l" -#: directorymergewindow.cpp:2190 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "Ej tillgänglig" -#: directorymergewindow.cpp:2210 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (mÃ¥l): " -#: directorymergewindow.cpp:2213 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (bas): " -#: directorymergewindow.cpp:2219 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (mÃ¥l): " -#: directorymergewindow.cpp:2227 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (mÃ¥l): " -#: directorymergewindow.cpp:2233 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "MÃ¥l: " -#: directorymergewindow.cpp:2258 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "Starta eller fortsätt katalogsammanfogning" -#: directorymergewindow.cpp:2259 +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "Utför Ã¥tgärd för aktuellt objekt" -#: directorymergewindow.cpp:2260 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "Jämför markerade filer" -#: directorymergewindow.cpp:2261 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "Sammanfoga markerade filer" -#: directorymergewindow.cpp:2262 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "Dra ihop alla underkataloger" -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "Expandera alla underkataloger" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "Välj A för alla objekt" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "Välj B för alla objekt" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "Välj C för alla objekt" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "Välj automatiskt Ã¥tgärd för alla objekt" -#: directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "Ingen Ã¥tgärd för nÃ¥got objekt" -#: directorymergewindow.cpp:2271 directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "Gör ingenting" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2412 msgid "A" msgstr "A" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2413 msgid "B" msgstr "B" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2414 msgid "C" msgstr "C" -#: directorymergewindow.cpp:2276 +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" msgstr "Ta bort (om den finns)" -#: directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2423 msgid "Delete A and B" msgstr "Ta bort A och B" -#: directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" msgstr "Sammanfoga till A och B" -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -637,7 +702,7 @@ "äldre säkerhetskopia.\n" "Filnamn: " -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -645,53 +710,53 @@ "Vid försök att skapa en säkerhetskopia, misslyckades namnbyte.\n" "Filnamn: " -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" msgstr "Hämtar filstatus: %1" -#: fileaccess.cpp:606 +#: fileaccess.cpp:612 #, c-format msgid "Reading file: %1" msgstr "Läser fil: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" msgstr "Skriver fil: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "Slut pÃ¥ minne" -#: fileaccess.cpp:705 +#: fileaccess.cpp:711 #, c-format msgid "Making directory: %1" msgstr "Skapar katalog: %1" -#: fileaccess.cpp:725 +#: fileaccess.cpp:731 #, c-format msgid "Removing directory: %1" msgstr "Tar bort katalog: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" msgstr "Tar bort fil: %1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "Skapar symbolisk länk: %1 -> %2" -#: fileaccess.cpp:782 +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" msgstr "Byter namn pÃ¥ fil: %1 -> %2" -#: fileaccess.cpp:817 +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" msgstr "Kopierar fil: %1 -> %2" -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -700,7 +765,7 @@ "Fel under filkopieringsÃ¥tgärd: Öppna fil för läsning misslyckades. " "Filnamn: %1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -709,313 +774,328 @@ "Fel under filkopieringsÃ¥tgärd: Öppna fil för skrivning misslyckades. " "Filnamn: %1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, 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:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "Fel under filkopieringsÃ¥tgärd: Skrivning misslyckades. Filnamn: %1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "Läser katalog: " -#: fileaccess.cpp:1218 +#: fileaccess.cpp:1297 #, c-format msgid "Listing directory: %1" msgstr "Listar katalog: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "Väljaren --auto användes, men ingen utdatafil angavs." -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "Väljaren --auto ignoreras för katalogjämförelse." -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "Misslyckades spara." -#: kdiff3.cpp:287 pdiff.cpp:1245 pdiff.cpp:1306 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "Misslyckades öppna följande filer:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "Fel vid öppna fil" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "Öppnar dokument för jämförelse..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "Sparar sammanfogningsresultat. Alla konflikter mÃ¥ste vara lösta." -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "Sparar aktuellt dokument som..." -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "Avslutar programmet" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "Klipper ut markerad del och flyttar den till klippbordet" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "Kopierar markerad del till klippbordet" -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "Klistrar in klippbordets innehÃ¥ll pÃ¥ aktuell position" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "Sök efter en sträng" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "Sök efter strängen igen" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "Aktiverar/inaktiverar verktygsraden" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "Aktiverar/inaktiverar statusraden" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "Anpassa Kdiff3..." -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "GÃ¥ till aktuell skillnad" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "GÃ¥ till första skillnad" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "GÃ¥ till sista skillnad" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "GÃ¥ till föregÃ¥ende skillnad" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "GÃ¥ till nästa skillnad" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "GÃ¥ till föregÃ¥ende konflikt" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "GÃ¥ till nästa konflikt" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "GÃ¥ till föregÃ¥ende olösta konflikt" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "GÃ¥ till nästa olösta konflikt" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "Välj rad(er) frÃ¥n A" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "Välj rad(er) frÃ¥n B" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "Välj rad(er) frÃ¥n C" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 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:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "Visa mellanslag och tabulatortecken i jämförelse" -#: kdiff3.cpp:374 +#: kdiff3.cpp:389 msgid "Show White Space" msgstr "Visa blanktecken" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "Visa radnummer" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "Välj A överallt" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "Välj B överallt" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "Välj C överallt" -#: kdiff3.cpp:380 +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "Välj A för alla olösta konflikter" -#: kdiff3.cpp:381 +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "Välj B för alla olösta konflikter" -#: kdiff3.cpp:382 +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "Välj C för alla olösta konflikter" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "Välj A för olösta konflikter med blanktecken" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "Välj B för olösta konflikter med blanktecken" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "Välj C för olösta konflikter med blanktecken" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "Lös automatiskt enkla konflikter" -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr "Ändra skillnader till konflikter" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "Visa fönster A" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "Visa fönster B" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "Visa fönster C" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "Fokus till nästa fönster" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "Normal översikt" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A mot B-översikt" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A mot C-översikt" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B mot C-översikt" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Skillnadsfönster för radbrytning" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "Fokus till föregÃ¥ende fönster" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "Byt delningsorientering" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "Delad skärmvy för kataloger och text" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "Byt mellan katalog och textvy" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1263 pdiff.cpp:1325 pdiff.cpp:1346 pdiff.cpp:1362 pdiff.cpp:1393 -msgid "Ready." -msgstr "Klar." - -#: kdiff3.cpp:483 pdiff.cpp:1695 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "Sammanfogningsresultatet har inte sparats." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "Spara och avsluta" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "Avsluta utan att spara" -#: kdiff3.cpp:492 pdiff.cpp:1704 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "Misslyckades spara sammanfogningsresultatet." -#: kdiff3.cpp:503 pdiff.cpp:1185 +#: kdiff3.cpp:524 pdiff.cpp:1150 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:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "Sparar fil..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "Sparar fil med ett nytt namn..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "Avslutar..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "Växlar verktygsrad..." -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "Växla statusraden..." -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "Söktext:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "Skiftlägeskänslig" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Sök A" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Sök B" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Sök C" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "Sökutmatning" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "&Sök" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "Kunde inte hitta filer för jämförelse." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "Kdiff3-del" @@ -1029,61 +1109,81 @@ "Detta hänter oftast beroende pÃ¥ ett installationsproblem. Läs filen " "README i källkodspaketet för detaljinformation." -#: main.cpp:26 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "Verktyg för textjämförelse och sammanfogning" -#: main.cpp:31 +#: main.cpp:35 msgid "Merge the input." msgstr "Sammanfoga indata." -#: main.cpp:33 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "Explicit basfil. För att fungera tillsammans med vissa verktyg." -#: main.cpp:35 +#: main.cpp:39 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:36 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "Utdatafil, igen. (för att fungera med vissa verktyg.)" -#: main.cpp:37 +#: main.cpp:41 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:38 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "Lös inte konflikter automatiskt. (För att fungera med andra verktyg...)" -#: main.cpp:39 -msgid "Visible name replacement. Supply this once for every input." -msgstr "Synlig ersättning av namn. Ange detta en gÃ¥ng för all indata." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "Synlig ersättning av namn för indatafil 1 (bas)." -#: main.cpp:41 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "Synlig ersättning av namn för indatafil 2." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "Synlig ersättning av namn för indatafil 3." + +#: main.cpp:47 +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:43 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "Fil 1 att öppna (basfil, om den inte anges med --base)" -#: main.cpp:44 +#: main.cpp:53 msgid "file2 to open" msgstr "Fil 2 att öppna" -#: main.cpp:45 +#: main.cpp:54 msgid "file3 to open" msgstr "Fil 3 att öppna" -#: main.cpp:98 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "Kdiff3" -#: mergeresultwindow.cpp:249 +#: main.cpp:120 +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 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1091,55 +1191,55 @@ "Utdata har ändrats.\n" "Om du fortsätter kommer dina ändringar att gÃ¥ förlorade." -#: mergeresultwindow.cpp:667 pdiff.cpp:585 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "Alla indatafiler är binärt lika." -#: mergeresultwindow.cpp:669 pdiff.cpp:587 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "Alla indatafiler innehÃ¥ller samma text." -#: mergeresultwindow.cpp:671 pdiff.cpp:589 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "Filerna A och B är binärt lika.\n" -#: mergeresultwindow.cpp:672 pdiff.cpp:590 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "Filerna A och B innehÃ¥ller samma text.\n" -#: mergeresultwindow.cpp:673 pdiff.cpp:591 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "Filerna A och C är binärt lika.\n" -#: mergeresultwindow.cpp:674 pdiff.cpp:592 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "Filerna A och C innehÃ¥ller samma text.\n" -#: mergeresultwindow.cpp:675 pdiff.cpp:593 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "Filerna B och C är binärt lika.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:594 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "Filerna B och C innehÃ¥ller samma text.\n" -#: mergeresultwindow.cpp:679 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "Totalt antal konflikter: " -#: mergeresultwindow.cpp:680 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1147,7 +1247,7 @@ "\n" "Antal automatiskt lösta konflikter: " -#: mergeresultwindow.cpp:681 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1155,23 +1255,27 @@ "\n" "Antal olösta konflikter: " -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "Konflikter" -#: mergeresultwindow.cpp:1011 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1018 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "" -#: mergeresultwindow.cpp:1082 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "Utmatning" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[Ändrad]" -#: mergeresultwindow.cpp:1957 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1179,11 +1283,11 @@ "Alla konflikter har inte lösts ännu.\n" "Filen sparas inte.\n" -#: mergeresultwindow.cpp:1959 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "Konflikter kvar" -#: mergeresultwindow.cpp:1971 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1193,27 +1297,27 @@ "\n" "Filen sparas inte." -#: mergeresultwindow.cpp:1971 mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "Fel vid spara fil" -#: mergeresultwindow.cpp:1987 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "Slut pÃ¥ minne vid förberedelse för att spara." -#: mergeresultwindow.cpp:2033 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "Fel vid skrivning." -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "Teckensnitt för editor och jämförelser" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "Kursiv stil för skillnader" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1221,63 +1325,63 @@ "Väljer den kursiva versionen av teckensnittet för skillnader.\n" "Om teckensnittet inte stöder kursiva tecken, gör detta ingenting." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "Färg" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "Färger för editor och jämförelser" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "Förgrundsfärg:" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "Bakgrundsfärg:" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "Bakgrundsfärg för jämförelse:" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "Färg A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "Färg B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "Färg C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "Konfliktfärg:" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "Bakgrundsfärg för aktuellt intervall:" -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "Bakgrundsfärg för aktuellt jämförelseintervall:" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "Editor" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "Editorbeteende" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "Tabulator infogar mellanslag" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1285,25 +1389,25 @@ "PÃ¥: Genom att trycka pÃ¥ tabulator, skapas lämpligt antal mellanslag.\n" "Av: Ett tabulatortecken infogas." -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tabulatorbredd:" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "Automatisk indentering" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 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:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "Kopiera automatiskt markering" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1311,27 +1415,39 @@ "PÃ¥: Alla markeringar skrivs omedelbart till klippbordet.\n" "Av: Du mÃ¥ste kopiera explicit, t.ex. via Ctrl-C." -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +msgstr "Radslutstil:" + +#: 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 "" +"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:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: 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:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "Jämför och sammanfoga" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "Inställningar av jämför och sammanfoga" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr "BehÃ¥ll returtecken" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 msgid "" "Show carriage return characters '\\r' if they exist.\n" "Helps to compare files that were modified under different operating systems." @@ -1339,11 +1455,11 @@ "Visa returtecken '\\r' om de finns.\n" "Hjälper till att jämföra filer som ändrats med olika operativsystem." -#: optiondialog.cpp:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "Ignorera siffror" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1352,37 +1468,37 @@ "Ignorera siffror när rader matchas. (Liknar ignorera blanktecken.)\n" "Kan hjälpa till att jämföra filer med numerisk data." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" msgstr "Ignorera C/C++ kommentarer" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "Behandla C/C++ kommentarer som blanktecken." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "Konvertera till stora bokstäver" +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "Ignorera skiftläge" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "Omvandla alla smÃ¥ bokstäver till stora vid läsning (t.ex. 'a' -> 'A')." +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "Behandla skiftlägesskillnader som blankteckenskillnader. ('a' <=> 'A')" -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "Preprocessorkommando:" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "" "Användardefinierad förbehandling (Se dokumentationen för " "detaljinformation.)" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "Preprocessorkommando för radmatchning:" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1390,11 +1506,11 @@ "Den här preprocessorn används bara under radmatchning.\n" "(Se dokumentationen för detaljinformation.)" -#: optiondialog.cpp:442 +#: optiondialog.cpp:553 msgid "Try hard (slower)" msgstr "Var noggrann (lÃ¥ngsammare)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." @@ -1402,11 +1518,11 @@ "Aktiverar väljaren --minimal för det externa verktyget diff.\n" "Analys av stora filer blir mycket lÃ¥ngsammare." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "Fördröjning vid automatisk fortsättning (ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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" @@ -1415,15 +1531,15 @@ "under den angivna tiden, innan det gÃ¥r vidare till nästa konflikt. " "Intervall: 0-2000 ms." -#: optiondialog.cpp:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "Standardvärde för sammanfogning av blanktecken med tvÃ¥ filer:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" msgstr "Manuellt val" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." @@ -1431,27 +1547,27 @@ "TillÃ¥t att sammanfogningsalgoritmen automatiskt väljer indata för " "ändringar av bara blanktecken." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "Standardvärde för sammanfogning av blanktecken med tre filer:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "Katalogsammanfogning" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "Rekursiva kataloger" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "Om underkataloger ska analyseras eller inte." -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "Mönster för filer:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1461,11 +1577,11 @@ "Jokertecken: '*' och '?'\n" "Flera mönster kan anges genom att använda skiljetecknet ';'" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr "Undantagsmönster för filer:" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1475,11 +1591,11 @@ "Jokertecken: '*' och '?'\n" "Flera mönster kan anges genom att använda skiljetecknet ';'" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "Undantagsmönster för kataloger:" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1489,11 +1605,11 @@ "Jokertecken: '*' och '?'\n" "Flera mönster kan anges genom att använda skiljetecknet ';'" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr "Använd .cvsignore" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1501,23 +1617,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:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "Sök efter gömda filer och kataloger" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "Söker efter filer och kataloger med egenskapen gömd." -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "Söker efter filer och kataloger som börjar med '.'." -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "Följ fillänkar" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1525,11 +1641,11 @@ "PÃ¥: Jämför filen som länken pekar pÃ¥.\n" "Av: Jämför länkarna." -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "Följ kataloglänkar" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1537,19 +1653,44 @@ "PÃ¥: Jämför katalogen som länken pekar pÃ¥.\n" "Av: Jämför länkarna." -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "Lista bara skillnader" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 msgid "Files and directories without change will not appear in the list." msgstr "Filer och kataloger utan ändring visas inte i listan." -#: optiondialog.cpp:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "Filjämförelseläge" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "Binär jämförelse" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "Binär jämförelse av varje fil. (Standardvärde)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "Fullständig analys" + +#: optiondialog.cpp:695 +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" +"(LÃ¥ngsammare än binär jämförelse, mycket lÃ¥ngsammare för binärfiler.)" + +#: optiondialog.cpp:698 msgid "Trust the modification date (unsafe)" msgstr "Lita pÃ¥ ändringsdatum (inte säkert)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1558,11 +1699,11 @@ "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:582 +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "Lita pÃ¥ storleken (inte säkert)" -#: optiondialog.cpp:584 +#: optiondialog.cpp:703 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 " @@ -1572,11 +1713,11 @@ "Användbar för stora kataloger eller lÃ¥ngsamma nätverk när datum ändras " "under nerladdning." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "Synkronisera kataloger" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1586,11 +1727,11 @@ "blir likadana efterÃ¥t. Fungerar bara när tvÃ¥ kataloger\n" "jämförs och ingen mÃ¥lkatalog anges." -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "Kopiera nyare istället för att sammanfoga (inte säkert)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1600,11 +1741,11 @@ "(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:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "Säkerhetskopior (.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1613,7 +1754,28 @@ "gamla filen att döpas om med filändelsen '.orig' istället för att tas " "bort." -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "Regionsinställningar" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "SprÃ¥k (omstart krävs)" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "Automatisk" + +#: optiondialog.cpp:783 +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" +"För att sprÃ¥kbytet ska ske, avsluta och starta om Kdiff3." + +#: optiondialog.cpp:825 msgid "" "You selected a variable width font.\n" "\n" @@ -1629,73 +1791,92 @@ "\n" "Vill du fortsätta, eller vill du välja ett annat teckensnitt?" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "Olämpligt teckensnitt" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "Fortsätt pÃ¥ egen risk" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "Välj ett annat teckensnitt" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 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:371 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "Preprocessorkommando: " + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" -"Misslyckades köra det externa verktyget diff.\n" -"Kontrollera om diff fungerar, om programmet kan skriva i den tillfälliga " -"katalogen, eller om disken är full.\n" -"Alternativet med extern diff kommer nu inaktiveras, och det interna " -"jämförelseverktyget användas." +"Följande alternativ du valde kan ändra data:\n" -#: pdiff.cpp:437 +#: pdiff.cpp:263 +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" +"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" +msgstr "Alternativ osäkert vid sammanfogning" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "Använd alternativen under sammanfogningen" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "Inaktivera osäkra alternativ" + +#: pdiff.cpp:293 msgid "Loading A" msgstr "Laddar A" -#: pdiff.cpp:442 +#: pdiff.cpp:297 msgid "Loading B" msgstr "Laddar B" -#: pdiff.cpp:453 pdiff.cpp:481 pdiff.cpp:493 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "Jämförelse: A <-> B" -#: pdiff.cpp:461 pdiff.cpp:514 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "Radjämförelse: A <-> B" -#: pdiff.cpp:470 +#: pdiff.cpp:321 msgid "Loading C" msgstr "Laddar C" -#: pdiff.cpp:484 pdiff.cpp:496 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "Jämförelse: B <-> C" -#: pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "Jämförelse: A <-> C" -#: pdiff.cpp:517 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "Radjämförelse: B <-> C" -#: pdiff.cpp:520 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "Radjämförelse: A <-> C" -#: pdiff.cpp:604 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -1705,67 +1886,67 @@ "Observera att Kdiff3:s sammanfogning inte är avsedd för binärdata.\n" "Fortsätt pÃ¥ egen risk." -#: pdiff.cpp:1015 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (bas):" -#: pdiff.cpp:1021 pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1069 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "Fil..." -#: pdiff.cpp:1023 pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1071 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "Katalog..." -#: pdiff.cpp:1046 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (valfri):" -#: pdiff.cpp:1064 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "Utmatning (valfri):" -#: pdiff.cpp:1093 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "Anpassa..." -#: pdiff.cpp:1186 +#: pdiff.cpp:1151 msgid "Abort" msgstr "Avbryt" -#: pdiff.cpp:1192 pdiff.cpp:1271 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "Öppnar filer..." -#: pdiff.cpp:1254 pdiff.cpp:1315 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "Fel när filen öppnades" -#: pdiff.cpp:1330 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "Klipper ut markering..." -#: pdiff.cpp:1351 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "Kopierar markering till klippbord..." -#: pdiff.cpp:1367 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "Infogar klippbordets innehÃ¥ll..." -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "Spara och fortsätt" -#: pdiff.cpp:1696 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "Fortsätt utan att spara" -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "Sökning färdig." -#: pdiff.cpp:1901 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "Sökning färdig" @@ -1794,9 +1975,13 @@ msgstr "&Förflyttning" #: rc.cpp:9 +msgid "D&iffview" +msgstr "&Jämförelsevy" + +#: rc.cpp:10 msgid "&Merge" msgstr "Sa&mmanfoga" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "Fö&nster" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/ta.po --- a/kdiff3/po/ta.po Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/po/ta.po Thu Sep 16 02:40:08 2004 +0000 @@ -1,3 +1,6 @@ +# translation of kdiff3.po to +# translation of kdiff3.po to +# translation of kdiff3.po to # translation of kdiff3.po to Tamil # Copyright (C) 2004 Free Software Foundation, Inc. # , 2004. @@ -15,39 +18,77 @@ # , 2004. # , 2004. # , 2004. +# Ambalam , 2004. +# root , 2004. # msgid "" msgstr "" "Project-Id-Version: kdiff3\n" -"POT-Creation-Date: 2004-01-09 01:37+0100\n" -"PO-Revision-Date: 2004-01-05 16:59+0530\n" -"Last-Translator: \n" -"Language-Team: Tamil \n" +"POT-Creation-Date: 2004-05-31 02:07+0200\n" +"PO-Revision-Date: 2004-06-01 17:27+0530\n" +"Last-Translator: root \n" +"Language-Team: \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" +"X-Generator: KBabel 1.3\n" #: _translatorinfo.cpp:1 msgid "" "_: NAME OF TRANSLATORS\n" "Your names" -msgstr "உஙà¯à®•ள௠பெயரà¯" +msgstr "prem" #: _translatorinfo.cpp:3 msgid "" "_: EMAIL OF TRANSLATORS\n" "Your emails" +msgstr "prem4ever_1983@yahoo.com" + +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." msgstr "" -"மொழிபà¯à®ªà¯†à®¯à®°à¯à®ªà¯à®ªà®¾à®³à®°à®¿à®©à¯ " -"மினà¯à®…ஞà¯à®šà®²à¯/உஙà¯à®•ளத௠" -"மினà¯à®…ஞà¯à®šà®³à¯. " +"கà¯à®³à®¿à®ªà¯à®ªà¯Šà®°à¯à®Ÿà®¿à®©à¯ எழà¯à®¤à¯à®¤à®¿à®©à¯ " +"தரதà¯à®¤à®¿à®²à¯ உளà¯à®³ டெமà¯à®ªà¯ கோபà¯à®ªà¯ " +"தவறà¯." -#: diff.cpp:472 +#: diff.cpp:245 msgid "From Clipboard" msgstr "கிளிப௠போரà¯à®Ÿà®¿à®³à®¿à®°à¯à®¨à¯à®¤à¯." -#: diff.cpp:1096 diff.cpp:1110 +#: diff.cpp:404 +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:425 +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:1268 diff.cpp:1282 msgid "" "Data loss error:\n" "If it is reproducable please contact the author.\n" @@ -56,67 +97,85 @@ " மீணà¯à®Ÿà¯à®®à¯ உறà¯à®ªà®¤à¯à®¤à®¿à®¯à®¾à®©à®¾à®²à¯ " "ஆசிரியரை அனà¯à®•வà¯à®®à¯.\n" -#: diff.cpp:1098 diff.cpp:1112 +#: diff.cpp:1270 diff.cpp:1284 msgid "Severe Internal Error" msgstr "கடà¯à®®à¯ˆà®¯à®¾à®© உளà¯à®šà®¾à®°à¯à®¨à¯à®¤ தவறà¯." -#: difftextwindow.cpp:790 +#: difftextwindow.cpp:829 #, c-format -msgid "Topline %1" -msgstr "" +msgid "Top line %1" +msgstr "மேல௠வரி %1." -#: difftextwindow.cpp:792 +#: difftextwindow.cpp:831 msgid "End" -msgstr "" +msgstr "à®®à¯à®Ÿà®¿à®µà¯" -#: directorymergewindow.cpp:113 +#: directorymergewindow.cpp:114 msgid "Mix of links and normal files." msgstr "" "இனைபà¯à®ªà¯à®•ள௠மறà¯à®±à¯à®®à¯ " "கோபà¯à®ªà¯à®•ள௠கலநà¯à®¤à¯à®¯à¯à®³à¯à®³à®©." -#: directorymergewindow.cpp:120 +#: directorymergewindow.cpp:121 msgid "Link: " msgstr "இணைபà¯à®ªà¯." -#: directorymergewindow.cpp:128 +#: directorymergewindow.cpp:129 msgid "Size. " msgstr "அளவà¯." -#: directorymergewindow.cpp:141 +#: directorymergewindow.cpp:142 msgid "Date & Size: " msgstr "தேதி மறà¯à®±à¯à®®à¯ அளவà¯." -#: directorymergewindow.cpp:150 directorymergewindow.cpp:156 +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 msgid "Creating temp copy of %1 failed." msgstr "" "வாரà¯à®ªà¯à®ªà¯à®°à¯ படயெட௠" "உரà¯à®µà®¾à®•à¯à®•à¯à®µà®¤à¯ %1 இயலவிலà¯à®²à¯ˆ." -#: directorymergewindow.cpp:167 directorymergewindow.cpp:175 +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 msgid "Opening %1 failed." msgstr "திரபà¯à®ªà®¤à®±à¯à®•à¯à®•௠%1 இயலவிலà¯à®²à¯ˆ." -#: directorymergewindow.cpp:191 directorymergewindow.cpp:197 -#, fuzzy, c-format +#: directorymergewindow.cpp:180 +msgid "Comparing file ..." +msgstr "கோபà¯à®ªà¯ ´ôÀ¢Î¾ø ..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 +#, c-format msgid "Error reading from %1" -msgstr "" -"படிகà¯à®•à¯à®®à¯ போழத௠ஒர௠சதவிதம௠" -"பினழ" +msgstr "%1னிலிரà¯à®¨à¯à®¤à¯ படிகà¯à®•à¯à®®à¯ பிழை" -#: directorymergewindow.cpp:243 +#: directorymergewindow.cpp:252 msgid "Name" msgstr "பெயரà¯." -#: directorymergewindow.cpp:247 +#: directorymergewindow.cpp:256 msgid "Operation" msgstr "இயகà¯à®•à®®à¯." -#: directorymergewindow.cpp:248 +#: directorymergewindow.cpp:257 msgid "Status" msgstr "நிலை." -#: directorymergewindow.cpp:271 +#: 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?" @@ -129,44 +188,44 @@ "நிறà¯à®¤à¯à®¤à®¿à®µà®¿à®Ÿà¯à®Ÿà¯ அடைவை " "மறà¯à®µà®°à¯à®Ÿ விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?" -#: directorymergewindow.cpp:272 directorymergewindow.cpp:2269 +#: directorymergewindow.cpp:290 directorymergewindow.cpp:2404 msgid "Rescan" msgstr "மரà¯à®µà®°à¯à®Ÿà¯" -#: directorymergewindow.cpp:272 kdiff3.cpp:504 pdiff.cpp:1201 +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 msgid "Continue Merging" msgstr "தொடரà¯à®¨à¯à®¤à¯ ஒனà¯à®±à®¾à®• சேரà¯." -#: directorymergewindow.cpp:381 +#: directorymergewindow.cpp:421 msgid "Opening of directories failed:" msgstr "அடைவ௠திறகà¯à®• இயலவிலà¯à®²à¯ˆ:" -#: directorymergewindow.cpp:384 +#: directorymergewindow.cpp:424 msgid "" "Dir A \"%1\" does not exist or is not a directory.\n" msgstr "" "அடைவ௠எ \"%1\" இலà¯à®²à¯ˆ அலà¯à®²à®¤à¯ அத௠" "ஒர௠அடைவ௠இலà¯à®²à¯ˆ.\n" -#: directorymergewindow.cpp:387 +#: directorymergewindow.cpp:427 msgid "" "Dir B \"%1\" does not exist or is not a directory.\n" msgstr "" "அடைவ௠B \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ " "(à®…) அத௠ஒர௠அடைவே அலà¯à®².\n" -#: directorymergewindow.cpp:390 +#: directorymergewindow.cpp:430 msgid "" "Dir C \"%1\" does not exist or is not a directory.\n" msgstr "" "அடைவ௠C \"%1\" உபயோகதà¯à®¤à®¿à®²à¯ இலà¯à®²à¯ˆ " "(à®…) அத௠ஒர௠அடைவே அலà¯à®².\n" -#: directorymergewindow.cpp:392 +#: directorymergewindow.cpp:432 msgid "Directory Open Error" msgstr "திறநà¯à®¤ தகவல௠தளம௠தவறà¯." -#: directorymergewindow.cpp:400 +#: directorymergewindow.cpp:440 msgid "" "The destination directory must not be the same as A or B when three " "directories are merged.\n" @@ -178,149 +237,159 @@ " தொடரà¯à®µà®¤à®±à¯à®•à¯à®®à¯à®©à¯ மீணà¯à®Ÿà¯à®®à¯ " "சரிபாரà¯à®•à¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:402 +#: directorymergewindow.cpp:442 msgid "Parameter Warning" msgstr "அளவà¯à®°à¯à®•à¯à®•ள௠எசà¯à®šà®¿à®°à®¿à®•ை." -#: directorymergewindow.cpp:429 +#: directorymergewindow.cpp:447 +msgid "Scanning directories ..." +msgstr "«¨¼×¸¨Ç ÅÕθ¢Èà ..." + +#: directorymergewindow.cpp:496 msgid "Reading Directory A" msgstr "தகவல௠தளம௠'à®…'வை படிகà¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:451 +#: directorymergewindow.cpp:518 msgid "Reading Directory B" msgstr "தகவல௠தளம௠'ப'஠படிகà¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:473 +#: directorymergewindow.cpp:540 msgid "Reading Directory C" msgstr "தகவல௠தளம௠'சி'஠படிகà¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:499 +#: directorymergewindow.cpp:566 msgid "Some subdirectories were not readable in" msgstr "" "சில தà¯à®£à¯ˆà®…டைவà¯à®•ளை படிகà¯à®• " "இயலவிலà¯à®²à¯ˆ" -#: directorymergewindow.cpp:504 +#: directorymergewindow.cpp:571 msgid "Check the permissions of the subdirectories." msgstr "" "தà¯à®£à¯ˆ அடைவà¯à®•ளின௠அனà¯à®®à®¤à®¿à®•ளை " "சரிபாரà¯à®•à¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:551 +#: 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 +msgid "Ready." +msgstr "தயாரà¯." + +#: directorymergewindow.cpp:619 msgid "Directory Comparison Status" msgstr "அடைவ௠ஒபà¯à®ªà®¿à®Ÿà¯à®®à¯ நிலை" -#: directorymergewindow.cpp:552 +#: directorymergewindow.cpp:620 msgid "Number of subdirectories:" msgstr "உப அடைவà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:" -#: directorymergewindow.cpp:553 +#: directorymergewindow.cpp:621 msgid "Number of equal files:" msgstr "சம கோபà¯à®ªà¯à®•ளின௠எணà¯à®£à®¿à®•à¯à®•ை:" -#: directorymergewindow.cpp:554 +#: directorymergewindow.cpp:622 msgid "Number of different files:" msgstr "" "வெர௠விதமான கோபà¯à®ªà¯à®•ளின௠" "எணà¯à®£à®¿à®•à¯à®•ை:" -#: directorymergewindow.cpp:557 +#: directorymergewindow.cpp:625 msgid "Number of manual merges:" msgstr "" "கைமà¯à®±à¯ˆ ஒனà¯à®±à¯ சேரà¯à®•à¯à®•ையின௠" "எணà¯à®£à®¿à®•à¯à®•ை:" -#: directorymergewindow.cpp:693 +#: directorymergewindow.cpp:761 msgid "This affects all merge operations." msgstr "" "இத௠அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ " "இயகà¯à®•à®™à¯à®•ளை பாதிகà¯à®•ிறதà¯." -#: directorymergewindow.cpp:694 +#: directorymergewindow.cpp:762 msgid "Changing All Merge Operations" msgstr "" "அனைதà¯à®¤à¯ ஒனà¯à®±à¯à®šà¯‡à®°à¯ " "இயகà¯à®•à®™à¯à®•ளை " "மாறà¯à®±à®¿à®•à¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ிறதà¯" -#: directorymergewindow.cpp:694 mergeresultwindow.cpp:252 +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 msgid "C&ontinue" msgstr "தொடரà¯à®¤à®²à¯" -#: directorymergewindow.cpp:961 +#: directorymergewindow.cpp:1057 msgid "Processing " msgstr "செயலாகà¯à®•à¯à®¤à®²à¯" -#: directorymergewindow.cpp:1309 directorymergewindow.cpp:1316 +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 msgid "To do." msgstr "அதை செயà¯." -#: directorymergewindow.cpp:1343 directorymergewindow.cpp:2284 +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 msgid "Copy A to B" msgstr "படியெட௠'à®…'&'பி'." -#: directorymergewindow.cpp:1344 directorymergewindow.cpp:2285 +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 msgid "Copy B to A" msgstr "படியெட௠'பி'&'à®…'." -#: directorymergewindow.cpp:1345 directorymergewindow.cpp:2286 +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 msgid "Delete A" msgstr "நீகà¯à®•௠அ." -#: directorymergewindow.cpp:1346 directorymergewindow.cpp:2287 +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 msgid "Delete B" msgstr "நீகà¯à®•௠அ." -#: directorymergewindow.cpp:1347 +#: directorymergewindow.cpp:1476 msgid "Delete A & B" msgstr "நீகà¯à®•௠'à®…'&'பி'." -#: directorymergewindow.cpp:1348 directorymergewindow.cpp:2289 +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 msgid "Merge to A" msgstr " 'à®…' வை ஒனà¯à®±à®¾à®•ச௠சேரà¯." -#: directorymergewindow.cpp:1349 directorymergewindow.cpp:2290 +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 msgid "Merge to B" msgstr " 'பி' ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯." -#: directorymergewindow.cpp:1350 +#: directorymergewindow.cpp:1479 msgid "Merge to A & B" msgstr "'à®…'&'பி'஠ஒனà¯à®±à®¾à®•ச௠சேரà¯." -#: directorymergewindow.cpp:1354 +#: directorymergewindow.cpp:1483 msgid "Delete (if exists)" msgstr "நீகà¯à®•à¯." -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 -#: directorymergewindow.cpp:2280 pdiff.cpp:1076 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 msgid "Merge" msgstr "ஒனà¯à®±à®¾à®•ச௠சேரà¯." -#: directorymergewindow.cpp:1355 directorymergewindow.cpp:1356 +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 msgid "Merge (manual)" msgstr "ஒனà¯à®±à®¾à®•ச௠சேரà¯." -#: directorymergewindow.cpp:1357 +#: directorymergewindow.cpp:1486 msgid "Error: Conflicting File Types" msgstr "பிழை: கà¯à®´à®ªà¯à®ª கோபà¯à®ªà¯ வகைகளà¯" -#: directorymergewindow.cpp:1358 +#: directorymergewindow.cpp:1487 msgid "Error: Dates are equal but files are not." msgstr "" "பிழை: தேதிகள௠சமம௠ஆனால௠" "கோபà¯à®ªà¯à®•ள௠இலà¯à®²à¯ˆ." -#: directorymergewindow.cpp:1382 +#: directorymergewindow.cpp:1511 msgid "This operation is currently not possible." msgstr "" "இநà¯à®¤ இயகà¯à®•ம௠தறà¯à®ªà¯‹à®¤à¯ " "சாதியமிலà¯à®²à¯ˆ." -#: directorymergewindow.cpp:1382 directorymergewindow.cpp:1642 +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 msgid "Operation Not Possible" msgstr "இயகà¯à®•ம௠சாதியமிலà¯à®²à¯ˆ" -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "" "This should never happen: \n" "\n" @@ -338,45 +407,45 @@ "தெரிநà¯à®¤à®¾à®²à¯, நிரல௠எழà¯à®¤à®¿à®¯à®µà®°à¯ˆ " "அணà¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:1425 +#: directorymergewindow.cpp:1554 msgid "Program Error" msgstr "நிரல௠பிழை" -#: directorymergewindow.cpp:1436 +#: directorymergewindow.cpp:1565 msgid "" "An error occurred while copying.\n" msgstr "" "நகலெடà¯à®•à¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ பிழை " "à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯.\n" -#: directorymergewindow.cpp:1437 directorymergewindow.cpp:1843 +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 msgid "Merge Error" msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ பிழை" -#: directorymergewindow.cpp:1442 directorymergewindow.cpp:1848 +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 msgid "Error." msgstr "பிழை." -#: directorymergewindow.cpp:1447 directorymergewindow.cpp:1739 -#: directorymergewindow.cpp:1779 +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 msgid "Done." msgstr "à®®à¯à®Ÿà®¿à®¨à¯à®¤." -#: directorymergewindow.cpp:1470 +#: directorymergewindow.cpp:1599 msgid "Not saved." msgstr "கோபà¯à®ªà¯" -#: directorymergewindow.cpp:1505 +#: directorymergewindow.cpp:1634 msgid "Unknown merge operation. (This must never happen!)" msgstr "" "தெரியாத ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®®à¯.( " "இத௠ஒரà¯à®ªà¯‹à®¤à¯à®®à¯ நிகழகà¯à®•ூடாதà¯)" -#: directorymergewindow.cpp:1537 +#: directorymergewindow.cpp:1666 msgid "Unknown merge operation." msgstr "தெரியாத ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•à®®à¯." -#: directorymergewindow.cpp:1552 +#: directorymergewindow.cpp:1681 msgid "" "The merge is about to begin.\n" "\n" @@ -408,19 +477,19 @@ "தகவலà¯à®•ளà¯à®•à¯à®•௠பினà¯à®©à®£à®¿ " "அமைகà¯à®•! " -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Starting Merge" msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ˆà®¤à¯ தà¯à®µà®•à¯à®•à¯à®¤à®²à¯" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Do It" msgstr "இதை செயà¯à®•" -#: directorymergewindow.cpp:1557 +#: directorymergewindow.cpp:1686 msgid "Simulate It" msgstr "இதை போனà¯à®±à¯ நட" -#: directorymergewindow.cpp:1583 +#: directorymergewindow.cpp:1712 msgid "" "The highlighted item has a different type in the different directories. " "Select what to do." @@ -430,7 +499,7 @@ "விவரம௠உளà¯à®³à®¤à¯.எதை " "செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•." -#: directorymergewindow.cpp:1592 +#: directorymergewindow.cpp:1721 msgid "" "The modification dates of the file are equal but the files are not. Select " "what to do." @@ -441,16 +510,17 @@ "செயà¯à®µà®¤à¯†à®©à¯à®ªà®¤à¯ˆ " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•. " -#: directorymergewindow.cpp:1642 -#, fuzzy -msgid "This operation is currently not possible because dir merge currently runs." +#: directorymergewindow.cpp:1778 +msgid "" +"This operation is currently not possible because directory merge is " +"currently running." msgstr "" -"இநà¯à®¤ இயகà¯à®•ம௠தறà¯à®ªà¯‹à®¤à¯ " -"சாதியமிலà¯à®²à¯ˆ, à®à®©à¯†à®©à®¿à®²à¯ diff " -"ஒனà¯à®±à¯à®šà¯‡à®°à¯ தறà¯à®ªà¯‹à®¤à¯ " -"இயஙà¯à®•ிகà¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ினà¯à®±à®¤à¯." +"இநà¯à®¤ செயறà¯à®ªà®¾à®Ÿà¯ தறà¯à®ªà¯‹à®¤à¯ " +"சாதà¯à®¤à®¿à®¯à®®à®¿à®²à¯à®²à¯ˆ à®à®©à¯†à®©à¯à®±à®¾à®²à¯ " +"அடைவ௠ஒறà¯à®±à®¿à®©à¯ˆ தறà¯à®ªà¯‹à®¤à¯ " +"இயஙà¯à®•ிகà¯à®•ொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•ினà¯à®±à®¤à¯" -#: directorymergewindow.cpp:1701 +#: directorymergewindow.cpp:1838 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 " @@ -464,37 +534,37 @@ "அதை தவிரà¯à®•à¯à®• " "விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue merge after an error" msgstr "" "பிழைகà¯à®•à¯à®ªà¯ பிறக௠" "ஒனà¯à®±à¯à®šà¯‡à®°à¯à®¤à¯à®¤à®²à¯ˆ தொடரà¯à®•" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Continue With Last Item" msgstr "கடைசி விவரதà¯à®¤à¯à®Ÿà®©à¯ தொடரà¯à®•" -#: directorymergewindow.cpp:1703 +#: directorymergewindow.cpp:1840 msgid "Skip Item" msgstr "விவரதà¯à®¤à¯ˆ தவிரà¯à®•à¯à®•" -#: directorymergewindow.cpp:1739 +#: directorymergewindow.cpp:1874 msgid "Skipped." msgstr "தவிரà¯à®¤à¯à®¤à®¤à¯." -#: directorymergewindow.cpp:1746 directorymergewindow.cpp:1972 +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 msgid "In progress..." msgstr "செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯..." -#: directorymergewindow.cpp:1794 +#: directorymergewindow.cpp:1929 msgid "Merge operation complete." msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯ இயகà¯à®•ம௠மà¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯" -#: directorymergewindow.cpp:1794 directorymergewindow.cpp:1797 +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 msgid "Merge Complete" msgstr "ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ à®®à¯à®Ÿà®¿à®¨à¯à®¤à®¤à¯" -#: directorymergewindow.cpp:1806 +#: directorymergewindow.cpp:1941 msgid "Simulated merge complete: Check if you agree with the proposed operations." msgstr "" "போலியான ஒனà¯à®±à¯à®šà¯‡à®°à¯à®ªà¯à®ªà¯ " @@ -503,7 +573,7 @@ "ஒதà¯à®¤à¯à®ªà¯à®ªà¯‹à®•ிறீரà¯à®•ளா எனà¯à®ªà®¤à¯ˆ " "சரிபாரà¯à®•à¯à®•வà¯à®®à¯." -#: directorymergewindow.cpp:1842 +#: directorymergewindow.cpp:1977 msgid "" "An error occurred. Press OK to see detailed information.\n" msgstr "" @@ -511,65 +581,62 @@ "விவரஙà¯à®•ளà¯à®•à¯à®•௠சரி எனà¯à®ªà®¤à¯ˆ " "à®…à®´à¯à®¤à¯à®¤à¯à®•.\n" -#: directorymergewindow.cpp:1885 +#: directorymergewindow.cpp:2020 msgid "Error: While deleting %1: Creating backup failed." msgstr "" "பிழை: %1 நீகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯: பினà¯à®©à®£à®¿ " "உரà¯à®µà®¾à®•à¯à®•ம௠தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: directorymergewindow.cpp:1892 -#, fuzzy +#: directorymergewindow.cpp:2027 msgid "delete directory recursively( %1 )" -msgstr "மீணà¯à®Ÿà¯à®®à¯ அடைவை நீகà¯à®•à¯(%)" +msgstr "" +"அடைவ௠சூழà¯à®¨à®¿à®²à¯ˆ நீகà¯à®•௠" +"நீகà¯à®•à¯(%1)" -#: directorymergewindow.cpp:1894 +#: directorymergewindow.cpp:2029 msgid "delete( %1 )" msgstr "நீகà¯à®•à¯( %1 )" -#: directorymergewindow.cpp:1909 +#: directorymergewindow.cpp:2044 msgid "Error: delete dir operation failed while trying to read the directory." msgstr "" "பிழை: அடைவை படிகà¯à®•à¯à®®à¯à®ªà¯‹à®¤à¯ " "நீகà¯à®• இயலவிலà¯à®²à¯ˆ." -#: directorymergewindow.cpp:1928 +#: directorymergewindow.cpp:2063 msgid "Error: rmdir( %1 ) operation failed." msgstr " rmdir( %1 } பிழை: இயகà¯à®• இயலவிலà¯à®²à¯ˆ" -#: directorymergewindow.cpp:1938 +#: directorymergewindow.cpp:2073 msgid "Error: delete operation failed." msgstr "" "பிழை: நீகà¯à®•à¯à®®à¯ இயகà¯à®•ம௠" "தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: directorymergewindow.cpp:1964 -#, fuzzy +#: directorymergewindow.cpp:2099 msgid "manual merge( %1, %2, %3 -> %4)" -msgstr "கைமà¯à®®à¯à®±à¯ˆ இணைபà¯à®ªà¯( %1, %2,%3 -> %4)" +msgstr "கைமà¯à®®à¯à®±à¯ˆ ஒனà¯à®±à®¿à®©à¯ˆ(%1, %2,%3 -> %4)" -#: directorymergewindow.cpp:1967 -#, fuzzy -msgid " Note: After a manual merge the user should continue via F7." +#: directorymergewindow.cpp:2102 +msgid " Note: After a manual merge the user should continue by pressing F7." msgstr "" -"கà¯à®±à®¿à®ªà¯à®ªà¯: கையிரà¯à®ªà¯à®ªà¯ " -"இணைபà¯à®ªà¯à®•à¯à®•à¯à®ªà¯ பிறக௠" -"பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®ªà®µà®°à¯ F5 வழியாக " -"தொடரவேணà¯à®Ÿà¯à®®à¯." +"கà¯à®±à®¿à®ªà¯à®ªà¯: கையேட௠" +"ஒனà¯à®±à®¿à®©à¯ˆà®¯à®¿à®©à¯ பிறக௠" +"உபயோகிபà¯à®ªà®µà®°à¯ F7 வழியாக " +"தொடறவேணà¯à®Ÿà¯à®®à¯." -#: directorymergewindow.cpp:1990 -#, fuzzy +#: directorymergewindow.cpp:2125 msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." msgstr "" -"ிழை:படிவம௠" -"தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯.தறà¯à®ªà¯‹à®¤à¯ˆà®¯ " -"சேரà¯à®®à®¿à®Ÿ அழிபà¯à®ªà¯ தோலà¯à®µà®¿ " -"அடைநà¯à®¤à®¤à¯" +"ிழை:நகலà¯( %1 -> %2 ) தோலà¯à®µà®¿ " +"அடைநà¯à®¤à®¤à¯.இரà¯à®•à¯à®•à¯à®®à¯ சேரிடம௠" +"நீகà¯à®•ம௠தோலà¯à®µà®¿ அடைநà¯à®¤à®¤à¯" -#: directorymergewindow.cpp:2000 +#: directorymergewindow.cpp:2135 msgid "copyLink( %1 -> %2 )" msgstr "நகல௠இணை( %1 -> %2 )" -#: directorymergewindow.cpp:2011 +#: directorymergewindow.cpp:2146 msgid "Error: copyLink failed: Remote links are not yet supported." msgstr "" "பிழை:தொடரà¯à®ªà¯à®ªà¯ படியெட௠" @@ -577,191 +644,187 @@ "தொடரà¯à®ªà¯ இனà¯à®©à¯à®®à¯ " "ஆதரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ" -#: directorymergewindow.cpp:2017 +#: directorymergewindow.cpp:2152 msgid "Error: copyLink failed." msgstr "" "பிழை: நகல௠இணை " "தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: directorymergewindow.cpp:2037 +#: directorymergewindow.cpp:2172 msgid "copy( %1 -> %2 )" msgstr "நகலà¯( %1 -> %2 )" -#: directorymergewindow.cpp:2063 +#: directorymergewindow.cpp:2198 msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." msgstr "" "மறà¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®®à¯à®ªà¯‹à®¤à¯ பிழை( %1 -> %2 ): " "தறà¯à®ªà¯‹à®¤à¯à®³à¯à®³ சேரà¯à®®à®¿à®Ÿà®¤à¯à®¤à¯ˆ " "நீகà¯à®• இயலாதà¯." -#: directorymergewindow.cpp:2069 +#: directorymergewindow.cpp:2204 msgid "rename( %1 -> %2 )" msgstr "மறà¯à®ªà¯†à®¯à®°à¯( %1 -> %2 )" -#: directorymergewindow.cpp:2078 +#: directorymergewindow.cpp:2213 msgid "Error: Rename failed." msgstr "" "பிழை: மறà¯à®ªà¯†à®¯à®°à¯ தோலà¯à®µà®¿ " "அடைநà¯à®¤à®¤à¯." -#: directorymergewindow.cpp:2096 +#: directorymergewindow.cpp:2231 msgid "Error during makeDir of %1. Cannot delete existing file." msgstr "" "%1அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠" "பிழை: தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà¯ˆ நீகà¯à®• " "இயலாதà¯." -#: directorymergewindow.cpp:2112 +#: directorymergewindow.cpp:2247 msgid "makeDir( %1 )" msgstr "( %1 )அடைவை உரà¯à®µà®¾à®•à¯à®•à¯" -#: directorymergewindow.cpp:2122 +#: directorymergewindow.cpp:2257 msgid "Error while creating directory." msgstr "அடைவை உரà¯à®µà®¾à®•à¯à®•à¯à®®à¯ போத௠பிழை" -#: directorymergewindow.cpp:2145 directorymergewindow.cpp:2253 +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 msgid "Dest" msgstr "சேரà¯à®®à®¿à®Ÿà®®à¯" -#: directorymergewindow.cpp:2149 directorymergewindow.cpp:2178 +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 msgid "Dir" msgstr "அடைவà¯" -#: directorymergewindow.cpp:2150 +#: directorymergewindow.cpp:2285 msgid "Type" msgstr "விதமà¯" -#: directorymergewindow.cpp:2151 +#: directorymergewindow.cpp:2286 msgid "Size" msgstr "அளவà¯" -#: directorymergewindow.cpp:2152 +#: directorymergewindow.cpp:2287 msgid "Attr" msgstr "தனà¯à®®à¯ˆ" -#: directorymergewindow.cpp:2153 +#: directorymergewindow.cpp:2288 msgid "Last Modification" msgstr "கடைசி திரà¯à®¤à¯à®¤à®®à¯" -#: directorymergewindow.cpp:2154 +#: directorymergewindow.cpp:2289 msgid "Link-Destination" msgstr "இணை-சேரà¯à®®à®¿à®Ÿà®®à¯" -#: directorymergewindow.cpp:2195 +#: directorymergewindow.cpp:2330 msgid "not available" msgstr "கிடைகà¯à®•விலà¯à®²à¯ˆ" -#: directorymergewindow.cpp:2215 +#: directorymergewindow.cpp:2350 msgid "A (Dest): " msgstr "A (சேரà¯à®®à®¿à®Ÿà®®à¯): " -#: directorymergewindow.cpp:2218 +#: directorymergewindow.cpp:2353 msgid "A (Base): " msgstr "A (அடிதà¯à®¤à®³à®®à¯):" -#: directorymergewindow.cpp:2224 +#: directorymergewindow.cpp:2359 msgid "B (Dest): " msgstr "B (சேரà¯à®®à®¿à®Ÿà®®à¯): " -#: directorymergewindow.cpp:2232 +#: directorymergewindow.cpp:2367 msgid "C (Dest): " msgstr "C (சேரà¯à®®à®¿à®Ÿà®®à¯):" -#: directorymergewindow.cpp:2238 +#: directorymergewindow.cpp:2373 msgid "Dest: " msgstr "சேரà¯à®®à®¿à®Ÿà®®à¯: " -#: directorymergewindow.cpp:2263 +#: directorymergewindow.cpp:2398 msgid "Start/Continue Directory Merge" msgstr "அடைவை சேரà¯à®•à¯à®•த௠தà¯à®µà®™à¯à®•à¯" -#: directorymergewindow.cpp:2264 -#, fuzzy +#: directorymergewindow.cpp:2399 msgid "Run Operation for Current Item" msgstr "" -"எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ " -"இயகà¯à®•மிலà¯à®²à¯ˆ" +"நிகழ௠உரà¯à®ªà¯à®ªà®Ÿà®¿à®•à¯à®•ாக " +"செயறà¯à®ªà®¾à®Ÿà¯ இயஙà¯à®•à¯" -#: directorymergewindow.cpp:2265 +#: directorymergewindow.cpp:2400 msgid "Compare Selected File" msgstr "" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®¤à¯à®¤ கோபà¯à®ªà¯ˆ " "ஒபà¯à®ªà®¿à®Ÿà¯" -#: directorymergewindow.cpp:2266 +#: directorymergewindow.cpp:2401 msgid "Merge Current File" msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ கோபà¯à®ªà¯ˆ ஒனà¯à®±à¯à®šà¯‡à®°à¯" -#: directorymergewindow.cpp:2267 +#: directorymergewindow.cpp:2402 msgid "Fold All Subdirs" msgstr "அனைதà¯à®¤à¯ உபஅடைவà¯à®•ளையà¯à®®à¯ மடி" -#: directorymergewindow.cpp:2268 +#: directorymergewindow.cpp:2403 msgid "Unfold All Subdirs" msgstr "அனைதà¯à®¤à¯ உபஅடைவà¯à®•ளையà¯à®®à¯ பிரி" -#: directorymergewindow.cpp:2270 +#: directorymergewindow.cpp:2405 msgid "Choose A for All Items" msgstr "" "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Aவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: directorymergewindow.cpp:2271 +#: directorymergewindow.cpp:2406 msgid "Choose B for All Items" msgstr "" "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Bவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: directorymergewindow.cpp:2272 +#: directorymergewindow.cpp:2407 msgid "Choose C for All Items" msgstr "" "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ Cவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: directorymergewindow.cpp:2273 +#: directorymergewindow.cpp:2408 msgid "Auto-Choose Operation for All Items" msgstr "" "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ " "தானியகà¯à®•தà¯à®¤à¯‡à®°à¯à®µà¯" -#: directorymergewindow.cpp:2274 +#: directorymergewindow.cpp:2409 msgid "No Operation for All Items" msgstr "" "எலà¯à®²à®¾ விவரஙà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ " "இயகà¯à®•மிலà¯à®²à¯ˆ" -#: directorymergewindow.cpp:2276 directorymergewindow.cpp:2283 +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 msgid "Do Nothing" msgstr "ஒனà¯à®±à¯à®®à¯ செயà¯à®¯à®¾à®¤à¯‡" -#: directorymergewindow.cpp:2277 +#: directorymergewindow.cpp:2412 msgid "A" -msgstr "" +msgstr "A" -#: directorymergewindow.cpp:2278 +#: directorymergewindow.cpp:2413 msgid "B" -msgstr "" +msgstr "B" -#: directorymergewindow.cpp:2279 +#: directorymergewindow.cpp:2414 msgid "C" -msgstr "" +msgstr "C" -#: directorymergewindow.cpp:2281 -#, fuzzy +#: directorymergewindow.cpp:2416 msgid "Delete (If Exists)" -msgstr "நீகà¯à®•à¯." +msgstr "நீகà¯à®•à¯(இரà¯à®¨à¯à®¤à®¾à®²à¯)" -#: directorymergewindow.cpp:2288 -#, fuzzy +#: directorymergewindow.cpp:2423 msgid "Delete A and B" -msgstr "நீகà¯à®•௠'à®…'&'பி'." +msgstr "A மறà¯à®±à¯à®®à¯ B நீகà¯à®•௠" -#: directorymergewindow.cpp:2291 -#, fuzzy +#: directorymergewindow.cpp:2426 msgid "Merge to A and B" -msgstr "'à®…'&'பி'஠ஒனà¯à®±à®¾à®•ச௠சேரà¯." +msgstr " A மறà¯à®±à¯à®®à¯Bகà¯à®•ான ஒனà¯à®±à®¿à®£à¯ˆ " -#: fileaccess.cpp:535 +#: fileaccess.cpp:540 msgid "" "While trying to make a backup, deleting an older backup failed. \n" "Filename: " @@ -772,7 +835,7 @@ "à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n" " கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:" -#: fileaccess.cpp:542 +#: fileaccess.cpp:547 msgid "" "While trying to make a backup, renaming failed. \n" "Filenames: " @@ -782,55 +845,55 @@ "மாறà¯à®±à®®à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.\n" " கோபà¯à®ªà¯à®ªà¯ பெயரà¯à®•ளà¯:" -#: fileaccess.cpp:564 +#: fileaccess.cpp:569 #, c-format msgid "Getting file status: %1" -msgstr "" +msgstr "கோபà¯à®ªà¯ நிலைமை வாஙà¯à®•à¯: %1" -#: fileaccess.cpp:606 -#, fuzzy, c-format +#: fileaccess.cpp:612 +#, c-format msgid "Reading file: %1" -msgstr "அடைவை படிதà¯à®¤à®²à¯:" +msgstr "கோபà¯à®ªà¯à®•ளை படிதà¯à®¤à®²à¯: %1" -#: fileaccess.cpp:642 +#: fileaccess.cpp:648 #, c-format msgid "Writing file: %1" -msgstr "" +msgstr "எழà¯à®¤à¯à®®à¯ கோபà¯à®ªà¯: %1" -#: fileaccess.cpp:670 +#: fileaccess.cpp:676 msgid "Out of memory" msgstr "நினைவில௠இலà¯à®²à¯ˆ" -#: fileaccess.cpp:705 -#, fuzzy, c-format +#: fileaccess.cpp:711 +#, c-format msgid "Making directory: %1" -msgstr "அடைவை வரà¯à®Ÿà®²à¯:%1" +msgstr "அடைவ௠அமை: %1" -#: fileaccess.cpp:725 -#, fuzzy, c-format +#: fileaccess.cpp:731 +#, c-format msgid "Removing directory: %1" -msgstr "அடைவை படிதà¯à®¤à®²à¯:" +msgstr "அடைவ௠அகறà¯à®±à¯: %1" -#: fileaccess.cpp:740 +#: fileaccess.cpp:746 #, c-format msgid "Removing file: %1" -msgstr "" +msgstr "அழிதà¯à®¤à®²à¯ கோபà¯à®ªà¯:%1" -#: fileaccess.cpp:756 +#: fileaccess.cpp:762 msgid "Creating symbolic link: %1 -> %2" msgstr "" +"கà¯à®±à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ இணைபà¯à®ªà¯ " +"உரà¯à®µà®¾à®•à¯à®•à¯à®¤à®²à¯: %1 -> %2" -#: fileaccess.cpp:782 -#, fuzzy +#: fileaccess.cpp:788 msgid "Renaming file: %1 -> %2" -msgstr "மறà¯à®ªà¯†à®¯à®°à¯( %1 -> %2 )" +msgstr "மறà¯à®ªà¯†à®¯à®°à¯:( %1 -> %2 )" -#: fileaccess.cpp:817 -#, fuzzy +#: fileaccess.cpp:824 msgid "Copying file: %1 -> %2" -msgstr "நகல௠இணை( %1 -> %2 )" +msgstr "கோபà¯à®ªà¯ நகலெடà¯à®¤à¯à®¤à®²à¯: %1 -> %2 " -#: fileaccess.cpp:831 +#: fileaccess.cpp:838 #, c-format msgid "" "Error during file copy operation: Opening file for reading failed. Filename: " @@ -842,7 +905,7 @@ "திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ " "பெயரà¯:%1" -#: fileaccess.cpp:837 +#: fileaccess.cpp:844 #, c-format msgid "" "Error during file copy operation: Opening file for writing failed. Filename: " @@ -854,7 +917,7 @@ "திறகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ " "பெயரà¯:%1" -#: fileaccess.cpp:852 +#: fileaccess.cpp:859 #, c-format msgid "Error during file copy operation: Reading failed. Filename: %1" msgstr "" @@ -862,7 +925,7 @@ "à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯à®•ோபà¯à®ªà¯ˆ படிகà¯à®• " "இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1" -#: fileaccess.cpp:861 +#: fileaccess.cpp:868 #, c-format msgid "Error during file copy operation: Writing failed. Filename: %1" msgstr "" @@ -870,16 +933,16 @@ "à®à®±à¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯à®•ோபà¯à®ªà®¿à®²à¯ எழà¯à®¤ " "இயலவிலà¯à®²à¯ˆ.கோபà¯à®ªà®¿à®©à¯ பெயரà¯:%1" -#: fileaccess.cpp:1162 +#: fileaccess.cpp:1171 msgid "Reading directory: " msgstr "அடைவை படிதà¯à®¤à®²à¯:" -#: fileaccess.cpp:1218 -#, fuzzy, c-format +#: fileaccess.cpp:1297 +#, c-format msgid "Listing directory: %1" -msgstr "அடைவை வரà¯à®Ÿà®²à¯:%1" +msgstr "அடைவை படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà®²à¯: %1" -#: kdiff3.cpp:125 +#: kdiff3.cpp:135 msgid "Option --auto used, but no output file specified." msgstr "" "தேரà¯à®µà¯ தானே " @@ -887,159 +950,159 @@ "ஆனால௠வெளியீடà¯à®Ÿà¯à®•௠கோபà¯à®ªà¯ " "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ" -#: kdiff3.cpp:223 +#: kdiff3.cpp:241 msgid "Option --auto ignored for directory comparison." msgstr "" "அடைவ௠ஒபà¯à®ªà¯€à®¿à®Ÿà¯à®Ÿà¯à®•à¯à®•ாக " "தேரà¯à®µà¯ தானே " "மறà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯" -#: kdiff3.cpp:263 +#: kdiff3.cpp:277 msgid "Saving failed." msgstr "சேகரிபà¯à®ªà¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: kdiff3.cpp:287 pdiff.cpp:1260 pdiff.cpp:1321 +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 msgid "Opening of these files failed:" msgstr "" "இநà¯à®¤ கோபà¯à®ªà¯à®•ளின௠திறபà¯à®ªà¯ " "தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯:" -#: kdiff3.cpp:296 +#: kdiff3.cpp:310 msgid "File Open Error" msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà®¿à®²à¯ பிழை" -#: kdiff3.cpp:315 +#: kdiff3.cpp:329 msgid "Opens documents for comparison..." msgstr "" "ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠ஆவணஙà¯à®•ளைத௠" "திறகà¯à®•..." -#: kdiff3.cpp:317 +#: kdiff3.cpp:331 msgid "Saves the merge result. All conflicts must be solved!" msgstr "" "ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ சேகரி. " "அனைதà¯à®¤à¯ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯à®®à¯ தீர " "வேணà¯à®Ÿà¯à®®à¯." -#: kdiff3.cpp:319 +#: kdiff3.cpp:333 msgid "Saves the current document as..." msgstr "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ ஆவணதà¯à®¤à¯ˆ ....வாக சேமி " -#: kdiff3.cpp:321 +#: kdiff3.cpp:335 msgid "Quits the application" msgstr "பயனà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ à®®à¯à®±à®¿à®•à¯à®•" -#: kdiff3.cpp:323 +#: kdiff3.cpp:337 msgid "Cuts the selected section and puts it to the clipboard" msgstr "" "தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ " "எடà¯à®¤à¯à®¤à¯ கிளிப௠போரà¯à®Ÿà®¿à®²à¯ " "செலà¯à®¤à¯à®¤à¯à®•ிறதà¯" -#: kdiff3.cpp:325 +#: kdiff3.cpp:339 msgid "Copies the selected section to the clipboard" msgstr "" "தேரà¯à®µà¯ செயà¯à®¤ பகà¯à®¤à®¿à®¯à¯ˆ கிளிப௠" "போரà¯à®Ÿà¯ˆ படிவ௠செயà¯à®•ிறதà¯." -#: kdiff3.cpp:327 +#: kdiff3.cpp:341 msgid "Pastes the clipboard contents to actual position" msgstr "" "கிளிப௠போரà¯à®Ÿà®¿à®©à¯ " "உளà¯à®³à®Ÿà®•à¯à®•à®™à¯à®•ளைஉரிய இடதà¯à®¤à®¿à®²à¯ " "சேரà¯à®•à¯à®•ிறதà¯" -#: kdiff3.cpp:329 +#: kdiff3.cpp:343 msgid "Search for a string" msgstr "தொடரà¯à®šà¯à®šà®¿à®•ளை தேடà¯" -#: kdiff3.cpp:331 +#: kdiff3.cpp:345 msgid "Search again for the string" msgstr "சரதà¯à®¤à¯ˆ மீணà¯à®Ÿà¯à®®à¯ தேடà¯" -#: kdiff3.cpp:333 +#: kdiff3.cpp:347 msgid "Enables/disables the toolbar" msgstr "" "கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ " "செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•à¯" -#: kdiff3.cpp:335 +#: kdiff3.cpp:349 msgid "Enables/disables the statusbar" msgstr "" "நிலைபà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ " "செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯/நீகà¯à®•௠" -#: kdiff3.cpp:339 +#: kdiff3.cpp:353 msgid "Configure KDiff3..." msgstr "KDiff3யை அமை" -#: kdiff3.cpp:359 +#: kdiff3.cpp:374 msgid "Go to Current Delta" msgstr "" "தறà¯à®ªà¯‹à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ " "செலà¯à®•" -#: kdiff3.cpp:360 +#: kdiff3.cpp:375 msgid "Go to First Delta" msgstr "à®®à¯à®¤à®²à¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" -#: kdiff3.cpp:361 +#: kdiff3.cpp:376 msgid "Go to Last Delta" msgstr "கடைசி டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" -#: kdiff3.cpp:362 +#: kdiff3.cpp:377 msgid "Go to Previous Delta" msgstr "" "à®®à¯à®¨à¯à®¤à¯ˆà®¯ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ " "செலà¯à®•" -#: kdiff3.cpp:363 +#: kdiff3.cpp:378 msgid "Go to Next Delta" msgstr "அடà¯à®¤à¯à®¤ டெலà¯à®Ÿà®¾à®µà®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" -#: kdiff3.cpp:364 +#: kdiff3.cpp:379 msgid "Go to Previous Conflict" msgstr "" "à®®à¯à®¨à¯à®¤à¯ˆà®¯ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ " "செலà¯à®•" -#: kdiff3.cpp:365 +#: kdiff3.cpp:380 msgid "Go to Next Conflict" msgstr "" "அடà¯à®¤à¯à®¤ கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ " "செலà¯à®•" -#: kdiff3.cpp:366 +#: kdiff3.cpp:381 msgid "Go to Previous Unsolved Conflict" msgstr "" "à®®à¯à®¨à¯à®¤à¯ˆà®¯ தீரà¯à®•à¯à®•ாத " "கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" -#: kdiff3.cpp:367 +#: kdiff3.cpp:382 msgid "Go to Next Unsolved Conflict" msgstr "" "அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத " "கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" -#: kdiff3.cpp:368 +#: kdiff3.cpp:383 msgid "Select Line(s) From A" msgstr "" "Aவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:369 +#: kdiff3.cpp:384 msgid "Select Line(s) From B" msgstr "" "Bவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:370 +#: kdiff3.cpp:385 msgid "Select Line(s) From C" msgstr "" "Cவிலிரà¯à®¨à¯à®¤à¯ வரி(களை) " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:371 +#: kdiff3.cpp:386 msgid "Automatically Go to Next Unsolved Conflict After Source Selection" msgstr "" "மூலதà¯à®¤à¯ˆ தேரà¯à®µà¯ செயà¯à®¤ பிறக௠" @@ -1047,7 +1110,7 @@ "தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ கà¯à®´à®ªà¯à®ªà®¤à®±à¯à®•௠" "செல௠" -#: kdiff3.cpp:373 +#: kdiff3.cpp:388 msgid "Show Space && Tabulator Characters for Differences" msgstr "" "இடைவெளியை காடà¯à®Ÿà®¿ மறà¯à®±à¯à®®à¯ " @@ -1055,138 +1118,161 @@ "படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà¯à®µà®¾à®©à¯ " "எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளà¯" -#: kdiff3.cpp:374 -#, fuzzy +#: kdiff3.cpp:389 msgid "Show White Space" -msgstr "இடதà¯à®¤à¯ˆ ஒதà¯à®•à¯à®•à¯" +msgstr "வெளà¯à®³à¯ˆ இடதà¯à®¤à¯ˆ காடà¯à®Ÿà¯à®®à¯" -#: kdiff3.cpp:376 +#: kdiff3.cpp:391 msgid "Show Line Numbers" msgstr "வரி எணà¯à®•ளை காடà¯à®Ÿà¯" -#: kdiff3.cpp:377 +#: kdiff3.cpp:392 msgid "Choose A Everywhere" msgstr "" "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Aவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:378 +#: kdiff3.cpp:393 msgid "Choose B Everywhere" msgstr "" "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Bவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:379 +#: kdiff3.cpp:394 msgid "Choose C Everywhere" msgstr "" "எலà¯à®²à®¾ இடதà¯à®¤à®¿à®²à¯à®®à¯ Cவைத௠" "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯" -#: kdiff3.cpp:380 -#, fuzzy +#: kdiff3.cpp:395 msgid "Choose A For All Unsolved Conflicts" msgstr "" -"அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத " -"கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠A-வை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:381 -#, fuzzy +#: kdiff3.cpp:396 msgid "Choose B For All Unsolved Conflicts" msgstr "" -"அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத " -"கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠B-யை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:382 -#, fuzzy +#: kdiff3.cpp:397 msgid "Choose C For All Unsolved Conflicts" msgstr "" -"அடà¯à®¤à¯à®¤ தீரà¯à®•à¯à®•ாத " -"கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•à¯à®šà¯ செலà¯à®•" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠C-யை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:383 +#: kdiff3.cpp:398 msgid "Choose A For All Unsolved Whitespace Conflicts" msgstr "" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠A-வை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:384 +#: kdiff3.cpp:399 msgid "Choose B For All Unsolved Whitespace Conflicts" msgstr "" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠B-யை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:385 +#: kdiff3.cpp:400 msgid "Choose C For All Unsolved Whitespace Conflicts" msgstr "" +"அனைதà¯à®¤à¯ தீரà¯à®µà®±à¯à®± " +"வெளà¯à®³à¯ˆà®‡à®Ÿà®®à¯ à®®à¯à®°à®£à®¿à®±à¯à®•à¯à®•௠C-யை " +"தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯" -#: kdiff3.cpp:386 +#: kdiff3.cpp:401 msgid "Automatically Solve Simple Conflicts" msgstr "" "தானாகவே எளிய கà¯à®´à®ªà¯à®ªà®™à¯à®•ளை " "தீரà¯à®•à¯à®•." -#: kdiff3.cpp:387 +#: kdiff3.cpp:402 msgid "Set Deltas to Conflicts" msgstr " Delta வை கà¯à®´à®ªà¯à®ªà®¤à¯à®¤à®¿à®±à¯à®•௠அமை" -#: kdiff3.cpp:389 +#: kdiff3.cpp:404 msgid "Show Window A" msgstr "A சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯" -#: kdiff3.cpp:390 +#: kdiff3.cpp:405 msgid "Show Window B" msgstr "B சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯" -#: kdiff3.cpp:391 +#: kdiff3.cpp:406 msgid "Show Window C" msgstr "C சாளரதà¯à®¤à¯ˆà®•௠காடà¯à®Ÿà¯" -#: kdiff3.cpp:392 kdiff3.cpp:394 +#: kdiff3.cpp:407 kdiff3.cpp:416 msgid "Focus Next Window" msgstr "அடà¯à®¤à¯à®¤ சாளரதà¯à®¤à¯ˆ நோகà¯à®•à¯" -#: kdiff3.cpp:396 +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "þÂøÀ¡½ §ÃøÀ¡Ã¨Å" + +#: kdiff3.cpp:410 +msgid "A vs. B Overview" +msgstr "A ¯¼ý. B §ÃøÀ¡Ã¨Å" + +#: kdiff3.cpp:411 +msgid "A vs. C Overview" +msgstr "A ¯¼ý. C §ÃøÀ¡÷¨Å" + +#: kdiff3.cpp:412 +msgid "B vs. C Overview" +msgstr "B ¯¼ý. C §ÃøÀ¡÷¨Å" + +#: kdiff3.cpp:413 +msgid "Word Wrap Diff Windows" +msgstr "Å¡÷ò¨¾ Ţξø Å¢ò¾¢Â¡º º¡ÇÃõ" + +#: kdiff3.cpp:418 msgid "Focus Prev Window" msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯ சாளரதà¯à®¤à¯ˆ நோகà¯à®•à¯" -#: kdiff3.cpp:397 +#: kdiff3.cpp:419 msgid "Toggle Split Orientation" msgstr "பிரிபà¯à®ªà¯ திசையை மாறà¯à®±à¯" -#: kdiff3.cpp:399 +#: kdiff3.cpp:421 msgid "Dir && Text Split Screen View" msgstr "" "அடைவ௠மறà¯à®±à¯à®®à¯ உரையின௠" "பிளவின௠திரைப௠பாரà¯à®µà¯ˆ" -#: kdiff3.cpp:401 +#: kdiff3.cpp:423 msgid "Toggle Between Dir && Text View" msgstr "" "அடைவà¯à®•à¯à®•à¯à®®à¯ உரை " "பாரà¯à®µà¯ˆà®•à¯à®•à¯à®®à¯ இடையே மாறà¯à®±à¯à®•" -#: kdiff3.cpp:420 kdiff3.cpp:536 kdiff3.cpp:560 kdiff3.cpp:593 kdiff3.cpp:613 -#: pdiff.cpp:1278 pdiff.cpp:1340 pdiff.cpp:1361 pdiff.cpp:1377 pdiff.cpp:1408 -msgid "Ready." -msgstr "தயாரà¯." - -#: kdiff3.cpp:483 pdiff.cpp:1702 +#: kdiff3.cpp:504 pdiff.cpp:1754 msgid "The merge result hasn't been saved." msgstr "" "ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ " "சேகரிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ." -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Save && Quit" msgstr "சேகரிதà¯à®¤à¯ à®®à¯à®Ÿà®¿" -#: kdiff3.cpp:484 +#: kdiff3.cpp:505 msgid "Quit Without Saving" msgstr "சேகரிகà¯à®•ாமல௠மூடà¯" -#: kdiff3.cpp:492 pdiff.cpp:1711 +#: kdiff3.cpp:513 pdiff.cpp:1763 msgid "Saving the merge result failed." msgstr "" "ஒனà¯à®±à¯à®šà¯‡à®°à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ " "சேகரிதà¯à®¤à®²à¯ தோலà¯à®µà®¿à®¯à®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: kdiff3.cpp:503 pdiff.cpp:1200 +#: kdiff3.cpp:524 pdiff.cpp:1150 msgid "You are currently doing a directory merge. Are you sure, you want to abort?" msgstr "" "நீஙà¯à®•ள௠தறà¯à®ªà¯‹à®¤à¯ அடைவà¯à®•ளை " @@ -1194,65 +1280,65 @@ "à¯à®•ளà¯.நிறà¯à®¤à¯à®¤ " "விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?" -#: kdiff3.cpp:526 +#: kdiff3.cpp:547 msgid "Saving file..." msgstr "கோபà¯à®ªà¯ சேகரிதà¯à®¤à®²à¯..." -#: kdiff3.cpp:542 +#: kdiff3.cpp:563 msgid "Saving file with a new filename..." msgstr "" "பà¯à®¤à®¿à®¯ கோபà¯à®ªà¯à®ªà¯à®ªà¯†à®¯à®°à¯à®Ÿà®©à¯ " "கோபà¯à®ªà¯ˆ சேகரிதà¯à®¤à®²à¯..." -#: kdiff3.cpp:566 +#: kdiff3.cpp:587 msgid "Exiting..." msgstr "வெளியேரà¯à®¤à®²à¯..." -#: kdiff3.cpp:578 +#: kdiff3.cpp:599 msgid "Toggling toolbar..." msgstr "" "கரà¯à®µà®¿à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿ " "மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•றதà¯" -#: kdiff3.cpp:598 +#: kdiff3.cpp:619 msgid "Toggle the statusbar..." msgstr "நிலைபà¯à®ªà®Ÿà¯à®Ÿà®¿à®¯à¯ˆ மாறà¯à®±à¯" -#: kdiff3.cpp:638 +#: kdiff3.cpp:659 msgid "Searchtext:" msgstr "உரையைத௠தேடà¯:" -#: kdiff3.cpp:645 +#: kdiff3.cpp:666 msgid "Case sensitive" msgstr "எழà¯à®¤à¯à®¤à¯ வகை உணரகà¯à®•ூடிய" -#: kdiff3.cpp:648 +#: kdiff3.cpp:669 msgid "Search A" msgstr "Aவைத௠தேடà¯" -#: kdiff3.cpp:653 +#: kdiff3.cpp:674 msgid "Search B" msgstr "Bவைத௠தேடà¯" -#: kdiff3.cpp:658 +#: kdiff3.cpp:679 msgid "Search C" msgstr "Cவைத௠தேடà¯" -#: kdiff3.cpp:663 +#: kdiff3.cpp:684 msgid "Search output" msgstr "வெளியீீடà¯à®Ÿà¯ˆà®¤à¯ தேடà¯" -#: kdiff3.cpp:668 +#: kdiff3.cpp:689 msgid "&Search" msgstr "தேடà¯" -#: kdiff3_part.cpp:131 kdiff3_part.cpp:196 +#: kdiff3_part.cpp:134 kdiff3_part.cpp:199 msgid "Couldn't find files for comparison." msgstr "" "ஒபà¯à®ªà®¿à®Ÿà¯à®¤à®²à¯à®•à¯à®•௠கோபà¯à®ªà¯à®•ள௠" "கிடைகà¯à®•விலà¯à®²à¯ˆ." -#: kdiff3_part.cpp:263 +#: kdiff3_part.cpp:266 msgid "KDiff3Part" msgstr "KDiff3Part" @@ -1268,78 +1354,112 @@ "à®à®±à¯à®ªà®Ÿà¯à®®à¯à®µà®¿à®µà®°à®™à¯à®•ளà¯à®•à¯à®•௠README " "தொகà¯à®ªà¯à®ªà¯ˆà®ªà¯ படிகà¯à®•வà¯à®®à¯" -#: main.cpp:27 +#: main.cpp:30 msgid "Text Diff and Merge Tool" msgstr "" "உரை வேறà¯à®ªà®¾à®Ÿà¯ மறà¯à®±à¯à®®à¯ கரà¯à®µà®¿ " "சேரà¯à®•à¯à®•ை" -#: main.cpp:32 +#: main.cpp:35 msgid "Merge the input." msgstr "உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ ஒனà¯à®±à¯à®šà¯‡à®°à¯." -#: main.cpp:34 +#: main.cpp:37 msgid "Explicit base file. For compatibility with certain tools." msgstr "" "தெளிவான அடிதà¯à®¤à®³à®•௠கோபà¯à®ªà¯ˆ " "சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ " "பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯" -#: main.cpp:36 +#: main.cpp:39 msgid "Output file. Implies -m. E.g.: -o newfile.txt" msgstr " வெளியீட௠கோபà¯à®ªà¯" -#: main.cpp:37 +#: main.cpp:40 msgid "Output file, again. (For compatibility with certain tools.)" msgstr "" "மறà¯à®ªà®Ÿà®¿à®¯à¯à®®à¯ கோபà¯à®ªà¯ˆ " "வெளியீடà¯(சில கரà¯à®µà®¿à®•ளà¯à®Ÿà®©à¯ " "பொரà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•à¯)" -#: main.cpp:38 +#: main.cpp:41 msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" msgstr "" "எலà¯à®²à®¾ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளையà¯à®®à¯ " "தானாகவே நீஙà¯à®•à¯à®®à®¾à®©à®¾à®²à¯ GUI " "தேவையிலà¯à®²à¯ˆ" -#: main.cpp:39 +#: main.cpp:42 msgid "Don't solve conflicts automatically. (For compatibility...)" msgstr "" "தாமாகவே தீராத கà¯à®´à®ªà¯à®ªà®™à¯à®•ள௠(For " "compatibility...)" -#: main.cpp:40 -msgid "Visible name replacement. Supply this once for every input." +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." msgstr "" "தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ " "அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ " "உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ " "அமைகà¯à®•." -#: main.cpp:42 +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "" +"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ " +"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ " +"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ " +"அமைகà¯à®•." + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "" +"தெரியà¯à®®à¯ பெயரை மாறà¯à®±à®¿ " +"அமைகà¯à®•.ஒவà¯à®µà¯Šà®°à¯ " +"உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•à¯à®•à¯à®®à¯ இதை மாறà¯à®±à®¿ " +"அமைகà¯à®•." + +#: main.cpp:47 +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:44 +#: main.cpp:52 msgid "file1 to open (base, if not specified via --base)" msgstr "" "கோபà¯à®ªà¯1 யை திற(அடிதà¯à®¤à®³à®®à¯ " "அலà¯à®²à®¤à¯ via அடிதà¯à®¤à®³à®®à¯)" -#: main.cpp:45 +#: main.cpp:53 msgid "file2 to open" msgstr "கோபà¯à®ªà¯2 திற" -#: main.cpp:46 +#: main.cpp:54 msgid "file3 to open" msgstr "கோபà¯à®ªà¯ 3னà¯à®±à¯ˆ திற" -#: main.cpp:99 rc.cpp:3 +#: main.cpp:108 rc.cpp:3 msgid "KDiff3" msgstr "KDiff3" -#: mergeresultwindow.cpp:250 +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" +"+ À¢¨Æ¸¨Ç ÃüÚõ §Â¡º¨½¸¨Ç «È¢Å¢ò¾Å÷¸ÙìÌ " +"¿ñÈ¢¸û!" + +#: mergeresultwindow.cpp:254 msgid "" "The output has been modified.\n" "If you continue your changes will be lost." @@ -1349,68 +1469,68 @@ "தொடரà¯à®¨à¯à®¤à®¾à®²à¯ மாறà¯à®±à®™à¯à®•ளை " "இழநà¯à®¤à¯ விடà¯à®µà¯€à®°à¯à®•ளà¯" -#: mergeresultwindow.cpp:671 pdiff.cpp:591 +#: mergeresultwindow.cpp:726 pdiff.cpp:483 msgid "All input files are binary equal." msgstr "" "அணைதà¯à®¤à¯ உளà¯à®³à®¿à®Ÿà¯ " "கோபà¯à®ªà¯à®•ளà¯à®®à¯ இரà¯à®¨à®¿à®²à¯ˆ சமமà¯" -#: mergeresultwindow.cpp:673 pdiff.cpp:593 +#: mergeresultwindow.cpp:728 pdiff.cpp:485 msgid "All input files contain the same text." msgstr "" "அனைதà¯à®¤à¯ உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯à®•௠" "கோபà¯à®ªà¯à®•ளà¯à®®à¯ ஒரே உரையைக௠" "கொணà¯à®Ÿà®©." -#: mergeresultwindow.cpp:675 pdiff.cpp:595 +#: mergeresultwindow.cpp:730 pdiff.cpp:487 msgid "" "Files A and B are binary equal.\n" msgstr "" "கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B இரà¯à®¨à®¿à®²à¯ˆ " "சமம௠உடையன.\n" -#: mergeresultwindow.cpp:676 pdiff.cpp:596 +#: mergeresultwindow.cpp:731 pdiff.cpp:488 msgid "" "Files A and B have equal text. \n" msgstr "" "கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ B சம உரை " "உடையன.\n" -#: mergeresultwindow.cpp:677 pdiff.cpp:597 +#: mergeresultwindow.cpp:732 pdiff.cpp:489 msgid "" "Files A and C are binary equal.\n" msgstr "" "கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ " "சமம௠உடையன.\n" -#: mergeresultwindow.cpp:678 pdiff.cpp:598 +#: mergeresultwindow.cpp:733 pdiff.cpp:490 msgid "" "Files A and C have equal text. \n" msgstr "" "கோபà¯à®ªà¯à®•ள௠A மறà¯à®±à¯à®®à¯ C சம உரை " "உடையன.\n" -#: mergeresultwindow.cpp:679 pdiff.cpp:599 +#: mergeresultwindow.cpp:734 pdiff.cpp:491 msgid "" "Files B and C are binary equal.\n" msgstr "" "கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C இரà¯à®¨à®¿à®²à¯ˆ " "சமம௠உடையன.\n" -#: mergeresultwindow.cpp:680 pdiff.cpp:600 +#: mergeresultwindow.cpp:735 pdiff.cpp:492 msgid "" "Files B and C have equal text. \n" msgstr "" "கோபà¯à®ªà¯à®•ள௠B மறà¯à®±à¯à®®à¯ C சம உரை " "உடையன.\n" -#: mergeresultwindow.cpp:683 +#: mergeresultwindow.cpp:738 msgid "Total number of conflicts: " msgstr "" "மொதà¯à®¤ கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠" "எணà¯à®£à®¿à®•à¯à®•ை:" -#: mergeresultwindow.cpp:684 +#: mergeresultwindow.cpp:739 msgid "" "\n" "Nr of automatically solved conflicts: " @@ -1419,7 +1539,7 @@ "தாமாகவே தீரà¯à®¨à¯à®¤ " "கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•ை" -#: mergeresultwindow.cpp:685 +#: mergeresultwindow.cpp:740 msgid "" "\n" "Nr of unsolved conflicts: " @@ -1428,23 +1548,27 @@ "தீரà¯à®•à¯à®•பà¯à®ªà®Ÿà®¾à®¤ " "கà¯à®´à®ªà¯à®ªà®™à¯à®•ளின௠எணà¯à®£à®¿à®•ை" -#: mergeresultwindow.cpp:687 +#: mergeresultwindow.cpp:742 msgid "Conflicts" msgstr "கà¯à®´à®ªà¯à®ªà®™à¯à®•ளà¯" -#: mergeresultwindow.cpp:1015 +#: mergeresultwindow.cpp:1081 msgid "" msgstr "" -#: mergeresultwindow.cpp:1022 +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 msgid "" msgstr "<ஒனà¯à®±à¯à®šà¯‡à®°à¯ கà¯à®´à®ªà¯à®ªà®®à¯>" -#: mergeresultwindow.cpp:1086 +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr " வெளியீடà¯" + +#: mergeresultwindow.cpp:1157 msgid "[Modified]" msgstr "[திரà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯]" -#: mergeresultwindow.cpp:1964 +#: mergeresultwindow.cpp:2067 msgid "" "Not all conflicts are solved yet.\n" "File not saved.\n" @@ -1453,11 +1577,11 @@ "இனà¯à®©à¯à®®à¯ தீரவிலà¯à®²à¯ˆ.\n" "கோபà¯à®ªà¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ \n" -#: mergeresultwindow.cpp:1966 +#: mergeresultwindow.cpp:2069 msgid "Conflicts Left" msgstr "கà¯à®´à®ªà¯à®ªà®®à®¾à®© இடதà¯" -#: mergeresultwindow.cpp:1978 +#: mergeresultwindow.cpp:2081 msgid "" "\n" "\n" @@ -1467,33 +1591,33 @@ "\n" "கோபà¯à®ªà¯ˆà®¯à¯ˆ சேமிகà¯à®•விலà¯à®²à¯ˆ" -#: mergeresultwindow.cpp:1978 mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 msgid "File Save Error" msgstr "கோபà¯à®ªà¯ˆ சேமிபà¯à®ªà¯ பிழை" -#: mergeresultwindow.cpp:1994 +#: mergeresultwindow.cpp:2097 msgid "Out of memory while preparing to save." msgstr "" "சேமிகà¯à®•à¯à®®à¯ தரà¯à®µà®¾à®¯à®¿à®²à¯ " "நினைவ௠தவறியதà¯" -#: mergeresultwindow.cpp:2040 +#: mergeresultwindow.cpp:2142 msgid "Error while writing." msgstr "எழà¯à®¤à¯à®®à¯ பொழà¯à®¤à¯ பிழை" -#: optiondialog.cpp:236 +#: optiondialog.cpp:330 msgid "Editor & Diff Output Font" msgstr "" "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à¯à®®à¯ விதà¯à®¯à®¾à®šà®®à®¾à®© " "வெளியீடà¯à®Ÿà¯ எழà¯à®¤à¯à®¤à¯à®•ளூமà¯" -#: optiondialog.cpp:248 +#: optiondialog.cpp:342 msgid "Italic font for deltas" msgstr "" "deltaவிறà¯à®•ான இதà¯à®¤à®¾à®²à®¿à®¯ " "எழà¯à®¤à¯à®¤à¯à®°à¯" -#: optiondialog.cpp:251 +#: optiondialog.cpp:345 msgid "" "Selects the italic version of the font for differences.\n" "If the font doesn't support italic characters, then this does nothing." @@ -1503,69 +1627,69 @@ "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•வà¯à®®à¯.\n" "If the font doesn't support italic characters, then this does nothing." -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Color" msgstr "வரà¯à®£à®®à¯" -#: optiondialog.cpp:259 +#: optiondialog.cpp:353 msgid "Colors in Editor & Diff Output" msgstr "" "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à®¿à®©à¯ வணà¯à®£à®®à¯à®®à¯ " "விதà¯à®¯à®¾à®šà®®à®¾à®© வெளியீடà¯à®®à¯" -#: optiondialog.cpp:273 +#: optiondialog.cpp:367 msgid "Foreground color:" msgstr "à®®à¯à®©à¯à®©à®©à®¿ நிறமà¯" -#: optiondialog.cpp:279 +#: optiondialog.cpp:373 msgid "Background color:" msgstr "பினà¯à®©à®©à®¿ நிறமà¯" -#: optiondialog.cpp:286 +#: optiondialog.cpp:380 msgid "Diff background color:" msgstr "வேறà¯à®ªà®Ÿà¯à®Ÿ பினà¯à®©à®©à®¿ நிறமà¯" -#: optiondialog.cpp:293 +#: optiondialog.cpp:387 msgid "Color A:" msgstr "வரà¯à®£à®®à¯ A:" -#: optiondialog.cpp:300 +#: optiondialog.cpp:394 msgid "Color B:" msgstr "வரà¯à®£à®®à¯ B:" -#: optiondialog.cpp:307 +#: optiondialog.cpp:401 msgid "Color C:" msgstr "வரà¯à®£à®®à¯ C:" -#: optiondialog.cpp:313 +#: optiondialog.cpp:407 msgid "Conflict color:" msgstr "கà¯à®´à®ªà¯à®ªà®®à®¾à®© நிறமà¯" -#: optiondialog.cpp:320 +#: optiondialog.cpp:414 msgid "Current range background color:" msgstr "" "பினà¯à®©à®©à®¿ நிறதà¯à®¤à¯€à®©à¯ தறà¯à®ªà¯Šà®¤à¯ˆà®¯ " "வரமà¯à®ªà¯ " -#: optiondialog.cpp:327 +#: optiondialog.cpp:421 msgid "Current range diff background color:" msgstr "" "பினà¯à®©à®©à®¿ நிறதà¯à®¤à¯€à®©à¯ " "வேறà¯à®ªà¯à®ªà®Ÿà¯à®Ÿ தறà¯à®ªà¯Šà®¤à¯ˆà®¯ வரமà¯à®ªà¯ " -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor" msgstr "திரà¯à®¤à¯à®¤à®¿à®¯à®µà®°à¯" -#: optiondialog.cpp:338 +#: optiondialog.cpp:432 msgid "Editor Behaviour" msgstr "திரà¯à®¤à¯à®¤à¯à®ªà®µà®°à®¿à®©à¯ செயலà¯à®ªà®¾à®Ÿà¯" -#: optiondialog.cpp:347 +#: optiondialog.cpp:441 msgid "Tab inserts spaces" msgstr "ததà¯à®¤à®²à¯ இடைவெளியை சொரà¯à®•à¯à®®à¯" -#: optiondialog.cpp:350 +#: optiondialog.cpp:444 msgid "" "On: Pressing tab generates the appropriate number of spaces.\n" "Off: A Tab-character will be inserted." @@ -1575,15 +1699,15 @@ "உரà¯à®µà®¾à®•ிறதà¯Off:ஒர௠ததà¯à®¤à®²à¯ " "எழà¯à®¤à¯à®¤à¯ சொரà¯à®•பà¯à®ªà®Ÿà¯à®®à¯" -#: optiondialog.cpp:356 +#: optiondialog.cpp:450 msgid "Tab size:" msgstr "Tab அளவà¯" -#: optiondialog.cpp:361 +#: optiondialog.cpp:455 msgid "Auto indentation" msgstr "தானிட ஒதà¯à®•à¯à®•ி" -#: optiondialog.cpp:364 +#: optiondialog.cpp:458 msgid "" "On: The indentation of the previous line is used for a new line.\n" msgstr "" @@ -1592,13 +1716,13 @@ "பà¯à®¤à®¿à®¯ வரியிலà¯à®®à¯ " "பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯\n" -#: optiondialog.cpp:368 +#: optiondialog.cpp:462 msgid "Auto copy selection" msgstr "" "தானாகவே " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ படிவà¯" -#: optiondialog.cpp:371 +#: optiondialog.cpp:465 msgid "" "On: Any selection is immediately written to the clipboard.\n" "Off: You must explicitely copy e.g. via Ctrl-C." @@ -1609,39 +1733,58 @@ "நீஙà¯à®•ள௠வெளிபà¯à®ªà®Ÿà¯ˆà®¯à®¾à®• படிவ௠" "செயà¯" -#: optiondialog.cpp:376 +#: optiondialog.cpp:470 +msgid "Line End Style:" +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 "" +"கோடà¯à®Ÿà®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà¯ˆ அமைதà¯à®¤à¯ " +"தொகà¯à®ªà¯à®ªà¯à®•à¯à®•ோபà¯à®ªà®¿à®²à¯ " +"சேமிDOS/விணà¯à®Ÿà¯Šà®¸à¯: " +"CR+LF;யà¯à®©à®¿à®•à¯à®¸à¯:மறà¯à®±à¯à®®à¯ CR=0D, LF=0A" + +#: optiondialog.cpp:487 msgid "Use locale encoding" msgstr "" +"லொகல௠கà¯à®±à®¿à®®à¯à®±à¯ˆà®¯à®¾à®•à¯à®•ம௠" +"உபயோகி" -#: optiondialog.cpp:379 -msgid "Change this if non-ascii-characters aren't displayed correctly." +#: optiondialog.cpp:490 +msgid "Change this if non-ASCII characters are not displayed correctly." msgstr "" +"இலà¯à®²à®¾-ஆஸà¯à®•ி-எழà¯à®¤à¯à®¤à¯à®•à¯à®•ள௠" +"சரியாக வெளிகாடà¯à®Ÿà®µà®¿à®²à¯à®²à¯ˆ " +"எனà¯à®±à®¾à®²à¯ இதை மாறà¯à®±à¯à®•" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge" msgstr "வேறà¯à®ªà®¾à®Ÿà¯ & சேரà¯à®¤à¯à®¤à®¿à®Ÿà¯" -#: optiondialog.cpp:389 +#: optiondialog.cpp:500 msgid "Diff & Merge Settings" msgstr "" "வேறà¯à®ªà®¾à®Ÿà¯ & சேரà¯à®¤à¯à®¤à®¿à®Ÿà¯ " "அமைபà¯à®ªà¯à®•ளà¯" -#: optiondialog.cpp:399 +#: optiondialog.cpp:510 msgid "Preserve carriage return" msgstr " carriage return யை பராமரி" -#: optiondialog.cpp:402 +#: optiondialog.cpp:513 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:407 +#: optiondialog.cpp:518 msgid "Ignore numbers" msgstr "சொரà¯à®•ளை ஒதà¯à®•à¯à®•à¯" -#: optiondialog.cpp:410 +#: optiondialog.cpp:521 msgid "" "Ignore number characters during line matching phase. (Similar to Ignore " "white space.)\n" @@ -1650,43 +1793,42 @@ "வரி பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠எண௠" "எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை நிராகரி." -#: optiondialog.cpp:415 +#: optiondialog.cpp:526 msgid "Ignore C/C++ Comments" -msgstr "" +msgstr "C/C++ கà¯à®±à®¿à®ªà¯à®ªà¯à®°à¯ˆà®•ளை பà¯à®±à®•à¯à®•ணி" -#: optiondialog.cpp:417 +#: optiondialog.cpp:528 msgid "Treat C/C++ comments like white space." msgstr "" +"C/C++ கà¯à®±à®¿à®ªà¯à®ªà¯à®°à¯ˆà®•ளை வெளà¯à®³à¯ˆ " +"இடம௠போல உபசரி." -#: optiondialog.cpp:421 -msgid "Convert to upper case" -msgstr "பெரிய எழà¯à®¤à¯à®¤à®¾à®• மாறà¯à®±à¯à®• " +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "±Øòý÷¨Å ¾Å¢÷" -#: optiondialog.cpp:424 -msgid "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')" -msgstr "" -"படிகà¯à®•à¯à®®à¯ பொழà¯à®¤à¯ சிறிய " -"எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை பெரிய " -"எழà¯à®¤à¯à®¤à¯à®•à¯à®•ளை மாறà¯à®±à¯ (e.g.: 'a'->'A')" +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "±ØòÃÕ Ã¡üÈò¨¾ ¦ÅüÈ¢¼í¸û §À¡Ä ¿¢¨½ì¸×õ " -#: optiondialog.cpp:428 +#: optiondialog.cpp:539 msgid "Preprocessor command:" msgstr "à®®à¯à®©à¯ செயலாகà¯à®• கடà¯à®Ÿà®³à¯ˆ" -#: optiondialog.cpp:432 +#: optiondialog.cpp:543 msgid "User defined pre-processing. (See the docs for details.)" msgstr "" "உபயோகிபà¯à®ªà®¾à®³à®°à®¾à®²à¯ " "à®…à®±à¯à®¤à®¿à®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ " "à®®à¯à®©à¯-செயலாகà¯à®•ி" -#: optiondialog.cpp:435 +#: optiondialog.cpp:546 msgid "Line-matching preprocessor command:" msgstr "" "வரி-பொரà¯à®¤à¯à®¤à¯ à®®à¯à®©à¯-செயலாகà¯à®•ி " " கடà¯à®Ÿà®³à¯ˆ" -#: optiondialog.cpp:439 +#: optiondialog.cpp:550 msgid "" "This pre-processor is only used during line matching.\n" "(See the docs for details.)" @@ -1695,64 +1837,84 @@ "வரி-பொரà¯à®¤à¯à®¤à¯à®¤à®²à®¿à®©à¯ போத௠" "பயனà¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯" -#: optiondialog.cpp:442 -#, fuzzy +#: optiondialog.cpp:553 msgid "Try hard (slower)" -msgstr "கடின à®®à¯à®¯à®±à¯à®šà®¿(மெதà¯à®µà®¾à®•)" +msgstr "கடினமாக à®®à¯à®¯à®±à¯à®šà®¿(மெதà¯à®µà®¾à®•)" -#: optiondialog.cpp:445 +#: optiondialog.cpp:556 msgid "" "Enables the --minimal option for the external diff.\n" "The analysis of big files will be much slower." msgstr "" +"வெளி வேறà¯à®±à¯à®®à¯ˆà®•à¯à®•ான --கà¯à®±à¯ˆà®¨à¯à®¤ " +"விரà¯à®ªà¯à®ªà®¤à¯à®¤à¯ˆ " +"செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯.\n" +"பெரிய கோபà¯à®ªà¯à®•ளின௠" +"பகà¯à®ªà¯à®ªà®¾à®¯à¯à®µà¯ மெதà¯à®µà®¾à®• " +"இரà¯à®•à¯à®•à¯à®®à¯." -#: optiondialog.cpp:450 +#: optiondialog.cpp:561 msgid "Auto advance delay (ms):" msgstr "தானாக à®®à¯à®©à¯à®©à¯‡à®±à®¿à®¯ தாமதம௠(ms):" -#: optiondialog.cpp:455 +#: optiondialog.cpp:566 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:460 +#: optiondialog.cpp:571 msgid "White space 2-file merge default:" msgstr "" +"வெளà¯à®³à¯ˆ இடம௠2-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ " +"à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:" -#: optiondialog.cpp:464 optiondialog.cpp:477 +#: optiondialog.cpp:575 optiondialog.cpp:588 msgid "Manual choice" -msgstr "" +msgstr "கையேட௠விரà¯à®ªà¯à®ªà®®à¯" -#: optiondialog.cpp:468 optiondialog.cpp:482 +#: optiondialog.cpp:579 optiondialog.cpp:593 msgid "" "Allow the merge algorithm to automatically select an input for " "white-space-only changes." msgstr "" +"வெளà¯à®³à¯ˆ-இடமà¯-மாறà¯à®±à®™à¯à®•ளà¯à®•à¯à®•ாக" +" தானாக தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à¯à®®à¯ " +"உளà¯à®³à¯€à®Ÿà¯à®Ÿà®¿à®±à¯à®•à¯à®•௠ஒனà¯à®±à®¿à®£à¯ˆ " +"படிமà¯à®±à¯ˆà®¯à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•à¯à®®à¯." -#: optiondialog.cpp:473 +#: optiondialog.cpp:584 msgid "White space 3-file merge default:" msgstr "" +"வெளà¯à®³à¯ˆ இடம௠3-கோபà¯à®ªà¯ ஒனà¯à®±à®¿à®£à¯ˆ " +"à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯:" -#: optiondialog.cpp:492 +#: optiondialog.cpp:603 msgid "Directory Merge" msgstr "அடைவà¯à®šà¯ சேரà¯à®•à¯à®•ை" -#: optiondialog.cpp:500 +#: optiondialog.cpp:611 msgid "Recursive directories" msgstr "திரà¯à®®à¯à®ª நிகழà¯à®®à¯ அடைவà¯à®•ளà¯" -#: optiondialog.cpp:502 +#: optiondialog.cpp:613 msgid "Whether to analyze subdirectories or not." msgstr "" "உபஅடைவà¯à®•ளை பரிசோதிகà¯à®• " "வேணà¯à®Ÿà¯à®®à®¾?" -#: optiondialog.cpp:504 +#: optiondialog.cpp:615 msgid "File pattern(s):" msgstr "கோபà¯à®ªà¯ வடிவஙà¯à®•ளà¯:" -#: optiondialog.cpp:509 +#: optiondialog.cpp:620 msgid "" "Pattern(s) of files to be analyzed. \n" "Wildcards: '*' and '?'\n" @@ -1764,11 +1926,11 @@ "உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ " "வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯" -#: optiondialog.cpp:515 +#: optiondialog.cpp:626 msgid "File-anti-pattern(s):" msgstr " வடிவறà¯à®± கோபà¯à®ªà¯" -#: optiondialog.cpp:520 +#: optiondialog.cpp:631 msgid "" "Pattern(s) of files to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1780,11 +1942,11 @@ "உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ " "வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯" -#: optiondialog.cpp:526 +#: optiondialog.cpp:637 msgid "Dir-anti-pattern(s):" msgstr "வடிவறà¯à®± அடைவà¯" -#: optiondialog.cpp:531 +#: optiondialog.cpp:642 msgid "" "Pattern(s) of directories to be excluded from analysis. \n" "Wildcards: '*' and '?'\n" @@ -1796,11 +1958,11 @@ "உபயோகிதà¯à®¤à¯ பலà¯à®µà¯‡à®±à¯ " "வடிவஙà¯à®•ளை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯" -#: optiondialog.cpp:537 +#: optiondialog.cpp:648 msgid "Use .cvsignore" msgstr ".cvsignore உபயோகி" -#: optiondialog.cpp:540 +#: optiondialog.cpp:651 msgid "" "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." @@ -1808,30 +1970,30 @@ "Extends the antipattern to anything that would be ignored by CVS.\n" "Via local \".cvsignore\"-files this can be directory specific." -#: optiondialog.cpp:545 +#: optiondialog.cpp:656 msgid "Find hidden files and directories" msgstr "" "மறைநà¯à®¤ கோபà¯à®ªà¯à®•ளையà¯à®®à¯ " "அடைவà¯à®•ளையà¯à®®à¯ தேடà¯" -#: optiondialog.cpp:548 +#: optiondialog.cpp:659 msgid "Finds files and directories with the hidden attribute." msgstr "" "கோபà¯à®ªà¯à®•ளையà¯à®®à¯ அடைவà¯à®•ளையà¯à®®à¯ " "மறைநà¯à®¤ கà¯à®£à®™à¯à®•ளà¯à®Ÿà®©à¯ " "தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯ " -#: optiondialog.cpp:550 +#: optiondialog.cpp:661 msgid "Finds files and directories starting with '.'." msgstr "" "'.'. தொடஙà¯à®•à¯à®®à¯ கோபà¯à®ªà¯à®•ளà¯à®®à¯ " "அடைவà¯à®•ளà¯à®®à¯ தேடà¯" -#: optiondialog.cpp:554 +#: optiondialog.cpp:665 msgid "Follow file links" msgstr "கோபà¯à®ªà¯ இனைபà¯à®ªà¯ˆ பினà¯à®ªà®±à¯à®±à¯" -#: optiondialog.cpp:557 +#: optiondialog.cpp:668 msgid "" "On: Compare the file the link points to.\n" "Off: Compare the links." @@ -1839,11 +2001,11 @@ "கோபà¯à®ªà¯ˆ இனைபà¯à®ªà¯ கூறியோட௠" "ஒபà¯à®ªà®¿à®Ÿà¯ இனைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯" -#: optiondialog.cpp:562 +#: optiondialog.cpp:673 msgid "Follow directory links" msgstr "அடைவை இணைபà¯à®ªà¯ˆ பினà¯à®ªà®±à¯à®±à¯" -#: optiondialog.cpp:565 +#: optiondialog.cpp:676 msgid "" "On: Compare the directory the link points to.\n" "Off: Compare the links." @@ -1851,24 +2013,48 @@ "On:அடைவை இனைபà¯à®ªà¯ கூறியோட௠" "ஒபà¯à®ªà®¿à®Ÿà¯Offஇனைபà¯à®ªà¯ˆ ஒபà¯à®ªà®¿à®Ÿà¯" -#: optiondialog.cpp:570 +#: optiondialog.cpp:681 msgid "List only deltas" msgstr "மாறà¯à®±à®®à¯ மடà¯à®Ÿà¯à®®à¯ படà¯à®Ÿà®¿à®¯à®²à®¿à®Ÿà¯" -#: optiondialog.cpp:573 +#: optiondialog.cpp:684 msgid "Files and directories without change will not appear in the list." msgstr "" "கோபà¯à®ªà¯à®•ளà¯à®®à¯ அடைவà¯à®•ளà¯à®®à¯ " "மாறà¯à®±à®ªà¯à®ªà®Ÿà®¾à®®à®²à¯ படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ " "இடம௠பெறாதà¯" -#: optiondialog.cpp:576 +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "§¸¡ôÒ À⧺¡¾¨É À¡íÌ" + +#: optiondialog.cpp:691 +msgid "Binary Comparison" +msgstr "þÄìÌÓ¨È ´ôÀ£Î" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "´ù¦Å¡Õ §¸¡ôÀ¢ý þÄìÌÓ¨È ´ôÀ¢Î¾ø. (Óñ½¢ÕôÒ)" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "ÓØ À⧺¡¾¨½" + +#: optiondialog.cpp:695 +msgid "" +"Do a full analysis and show statistics information in extra columns.\n" +"(Slower than a binary comparison, much slower for binary files.)" +msgstr "" +"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 msgid "Trust the modification date (unsafe)" msgstr "" "மாறà¯à®±à®¿à®¯ தேதியை " "நமà¯à®ªà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)" -#: optiondialog.cpp:578 +#: optiondialog.cpp:699 msgid "" "Assume that files are equal if the modification date and file length are " "equal.\n" @@ -1882,15 +2068,14 @@ "மெதà¯à®µà®¾à®© இனைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠" "உதவà¯à®®à¯" -#: optiondialog.cpp:582 -#, fuzzy +#: optiondialog.cpp:702 msgid "Trust the size (unsafe)" msgstr "" -"மாறà¯à®±à®¿à®¯ தேதியை " -"நமà¯à®ªà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)" +"அளவை " +"உறà¯à®¤à®¿à®ªà®Ÿà¯à®¤à¯à®¤à¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²" +"ை)" -#: optiondialog.cpp:584 -#, fuzzy +#: optiondialog.cpp:703 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 " @@ -1902,13 +2087,13 @@ "எணà¯à®£à®²à®¾à®®à¯.இத௠பெரிய " "அடைவà¯à®•ளà¯à®•à¯à®•௠அலà¯à®²à®¤à¯ " "மெதà¯à®µà®¾à®© இனைபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠" -"உதவà¯à®®à¯" +"உதவà¯à®®à¯." -#: optiondialog.cpp:589 +#: optiondialog.cpp:707 msgid "Synchronize directories" msgstr "ஒதà¯à®¤à®¿à®¯à®•à¯à®•௠அடைவை" -#: optiondialog.cpp:592 +#: optiondialog.cpp:710 msgid "" "Offers to store files in both directories so that\n" "both directories are the same afterwards.\n" @@ -1923,14 +2108,14 @@ "கூறிபà¯à®ªà®¿à®Ÿà®¾à®®à®²à¯ ஒதà¯à®¤à®¿à®Ÿà®¿à®®à¯ " "பொழà¯à®¤à¯à®¤à®¾à®©à¯ வேலை செயà¯à®¯à¯à®®à¯ " -#: optiondialog.cpp:597 +#: optiondialog.cpp:715 msgid "Copy newer instead of merging (unsafe)" msgstr "" "ஒனà¯à®±à®¾à®• சேரà¯à®ªà¯à®ªà®¤à®±à¯à®•௠பதிலாக " "பà¯à®¤à®¿à®¯à®µà®°à¯ˆ " "பதியெடà¯(பாதà¯à®•ாபà¯à®ªà®¿à®²à¯à®²à¯ˆ)" -#: optiondialog.cpp:600 +#: optiondialog.cpp:718 msgid "" "Don't look inside, just take the newer file.\n" "(Use this only if you know what you are doing!)\n" @@ -1944,11 +2129,11 @@ "அடைவà¯à®•ளை ஒதà¯à®¤à®¿à®Ÿà¯à®®à¯ போத௠" "மடà¯à®Ÿà¯à®®à¯‡ விளைவà¯à®•ள௠à®à®±à¯à®ªà®Ÿà¯à®®à¯" -#: optiondialog.cpp:605 +#: optiondialog.cpp:723 msgid "Backup files (.orig)" msgstr "பினà¯à®©à®©à®¿ கோபà¯à®ªà¯à®•ளà¯(.orig)" -#: optiondialog.cpp:608 +#: optiondialog.cpp:726 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." @@ -1960,7 +2145,29 @@ "மாறà¯à®®à¯,நீகà¯à®•படà¯à®µà®¤à®±à¯à®•௠" "பதிலாக. " -#: optiondialog.cpp:636 +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "இதர அமைபà¯à®ªà¯à®•ளை உளà¯à®³à®Ÿà®•à¯à®•ியதà¯" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "மொழி " + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "தானியஙà¯à®•௠" + +#: optiondialog.cpp:783 +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 msgid "" "You selected a variable width font.\n" "\n" @@ -1983,75 +2190,105 @@ "அலà¯à®²à®¤à¯,வேற௠எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ " "தேரà¯à®¤à¯†à®Ÿà¯à®•à¯à®•ிறீரà¯à®•ளா" -#: optiondialog.cpp:640 +#: optiondialog.cpp:829 msgid "Incompatible Font" msgstr "கசà¯à®šà®¿à®¤à®®à®¿à®²à¯à®²à®¾à®¤ எழà¯à®¤à¯à®¤à¯à®°à¯" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Continue at Own Risk" msgstr "" "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ சொநà¯à®¤ ஆபதà¯à®¤à®¿à®²à¯ " "தொடரà¯" -#: optiondialog.cpp:641 +#: optiondialog.cpp:830 msgid "Select Another Font" msgstr "" "மறà¯à®±à¯Šà®°à¯ எழà¯à®¤à¯à®¤à¯à®°à¯à®µà¯ˆ " "தேரà¯à®¤à¯†à®Ÿà¯" -#: optiondialog.cpp:669 +#: optiondialog.cpp:858 msgid "This resets all options. Not only those of the current topic." msgstr "" " இத௠அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளையà¯à®®à¯ " "மாறà¯à®±à®¿à®¯à®®à¯ˆà®•à¯à®•à¯à®®à¯.தறà¯à®ªà¯Šà®´à¯à®¤à¯à®³" "à¯à®³ தலைபà¯à®ªà¯ மடà¯à®Ÿà¯à®®à®²à¯à®²" -#: pdiff.cpp:377 +#: pdiff.cpp:257 +msgid "PreprocessorCmd: " +msgstr "à®®à¯à®©à¯ செயலாகà¯à®• கடà¯à®Ÿà®³à¯ˆ:" + +#: pdiff.cpp:262 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." +"The following option(s) you selected might change data:\n" msgstr "" +"கிழà¯à®•à¯à®•ணà¯à®Ÿ தேரà¯à®µà¯à®•ளில௠" +"தரவை தேரà¯à®µà¯à®šà¯†à®¯à¯:\n" -#: pdiff.cpp:443 +#: pdiff.cpp:263 +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: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 msgid "Loading A" msgstr "A à®à®±à¯à®±à¯à®¤à®²à¯" -#: pdiff.cpp:448 +#: pdiff.cpp:297 msgid "Loading B" msgstr " B à®à®±à¯à®±à¯à®¤à®²à¯" -#: pdiff.cpp:459 pdiff.cpp:487 pdiff.cpp:499 +#: pdiff.cpp:306 pdiff.cpp:329 msgid "Diff: A <-> B" msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ A <-> B" -#: pdiff.cpp:467 pdiff.cpp:520 +#: pdiff.cpp:312 pdiff.cpp:349 msgid "Linediff: A <-> B" msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ : A <->B" -#: pdiff.cpp:476 +#: pdiff.cpp:321 msgid "Loading C" msgstr " C à®à®±à¯à®±à¯à®¤à®²à¯" -#: pdiff.cpp:490 pdiff.cpp:502 +#: pdiff.cpp:332 msgid "Diff: B <-> C" msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ B <-> C" -#: pdiff.cpp:493 pdiff.cpp:505 +#: pdiff.cpp:335 msgid "Diff: A <-> C" msgstr "விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ A <-> C" -#: pdiff.cpp:523 +#: pdiff.cpp:352 msgid "Linediff: B <-> C" msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ B <-> C" -#: pdiff.cpp:526 +#: pdiff.cpp:355 msgid "Linediff: A <-> C" msgstr "வரி விதà¯à®¤à®¿à®¯à®¾à®šà®®à¯ : A <-> C" -#: pdiff.cpp:610 +#: pdiff.cpp:502 msgid "" "Some inputfiles don't seem to be pure textfiles.\n" "Note that the KDiff3-merge was not meant for binary data.\n" @@ -2064,71 +2301,71 @@ "கூறிபà¯à®ªà®¤à¯ அலà¯à®².உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ " "சொநà¯à®¤ ஆபதà¯à®¤à®¿à®²à¯ தொடரà¯" -#: pdiff.cpp:1030 +#: pdiff.cpp:929 msgid "A (Base):" msgstr "A (அடிபà¯à®ªà®Ÿà¯ˆ)" -#: pdiff.cpp:1036 pdiff.cpp:1051 pdiff.cpp:1066 pdiff.cpp:1084 +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 msgid "File..." msgstr "கோபà¯à®ªà¯" -#: pdiff.cpp:1038 pdiff.cpp:1053 pdiff.cpp:1068 pdiff.cpp:1086 +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 msgid "Dir..." msgstr "அடைவà¯" -#: pdiff.cpp:1061 +#: pdiff.cpp:962 msgid "C (Optional):" msgstr "C (விரà¯à®ªà¯à®ªà®™à¯à®•ளà¯)" -#: pdiff.cpp:1079 +#: pdiff.cpp:981 msgid "Output (optional):" msgstr "வெளீயிட௠(விரà¯à®ªà¯à®ªà®™à¯à®•ளà¯)" -#: pdiff.cpp:1108 +#: pdiff.cpp:1010 msgid "Configure..." msgstr "அமை" -#: pdiff.cpp:1201 +#: pdiff.cpp:1151 msgid "Abort" msgstr "விடà¯à®¤à®²à¯" -#: pdiff.cpp:1207 pdiff.cpp:1286 +#: pdiff.cpp:1157 pdiff.cpp:1236 msgid "Opening files..." msgstr "திறநà¯à®¤ கோபà¯à®ªà¯à®•ளà¯" -#: pdiff.cpp:1269 pdiff.cpp:1330 +#: pdiff.cpp:1219 pdiff.cpp:1283 msgid "File open error" msgstr "கோபà¯à®ªà¯ திறபà¯à®ªà¯ பிழை" -#: pdiff.cpp:1345 +#: pdiff.cpp:1298 msgid "Cutting selection..." msgstr "à®…à®±à¯à®¤à¯à®¤à®²à¯ தேரà¯à®¤à¯†à®Ÿà¯" -#: pdiff.cpp:1366 +#: pdiff.cpp:1319 msgid "Copying selection to clipboard..." msgstr "" "தேரà¯à®¤à¯†à®Ÿà¯à®•à¯à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ˆ " "கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà®¿à®±à¯à®•௠நகலேடà¯à®•à¯à®•" -#: pdiff.cpp:1382 +#: pdiff.cpp:1335 msgid "Inserting clipboard contents..." msgstr "" "கிளிபà¯à®ªà¯‹à®°à¯à®Ÿà¯ உளà¯à®³à®Ÿà®•à¯à®•தà¯à®¤à¯ˆ " "சொரà¯à®•à¯" -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Save && Continue" msgstr "சேமி தொடரà¯" -#: pdiff.cpp:1703 +#: pdiff.cpp:1755 msgid "Continue Without Saving" msgstr "சேமிகà¯à®•ாமல௠தொடரà¯" -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search complete." msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯" -#: pdiff.cpp:1908 +#: pdiff.cpp:1962 msgid "Search Complete" msgstr "தேடல௠மà¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯" @@ -2145,50 +2382,29 @@ msgstr "அடைவà¯" #: rc.cpp:6 -#, fuzzy 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 msgid "&Merge" msgstr "ஒனà¯à®±à®¾à®•சà¯à®šà¯‡à®°à¯" -#: rc.cpp:10 +#: rc.cpp:11 msgid "&Window" msgstr "சாளரஙà¯à®•ளà¯" - -#~ msgid "Delete A && B" -#~ msgstr "நீகà¯à®•௠அ&பி." - -#~ msgid "Merge to A && B" -#~ msgstr "'à®…'&'பி' ஠ஒனà¯à®±à®¾à®•ச௠சேரà¯." - -#~ msgid "In progress ..." -#~ msgstr "செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯..." - -#~ msgid "" -#~ "On: Text that differs only in white space will match and\n" -#~ "be shown on the same line in the different output windows.\n" -#~ "Off is useful when whitespace is very important.\n" -#~ "On is good for C/C++ and similar languages." -#~ msgstr "இடைவெளியில௠உளà¯à®³ உரைகள௠மடà¯à®Ÿà¯à®®à¯‡ மாறà¯à®®à¯" - -#~ msgid "Use external diff" -#~ msgstr "வெளிவேறà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ உபயோகி" - -#~ msgid "Ignore trivial matches" -#~ msgstr "à®…à®°à¯à®¤à¯à®¤à®®à®±à¯à®± பொரà¯à®¤à¯à®¤à¯à®™à¯à®•ளை நிராகரி" - -#~ msgid "Max search length:" -#~ msgstr "அதிகபà¯à®ªà®Ÿà®¿à®¯à®¾à®© தேடல௠அளவà¯" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/tr.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/po/tr.po Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,1929 @@ +# translation of kdiff3.po to Türkçe +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# Görkem Çetin , 2003. +# Engin ÇAÄžATAY , 2004. +# +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 \n" +"Language-Team: Türkçe \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 "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Görkem ÇetinEngin ÇAÄžATAY" + +#: _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "gorkem@kde.org engincagatay@yahoo.com" + +#: diff.cpp:241 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 +msgid "From Clipboard" +msgstr "Panodan" + +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 +msgid "" +"Data loss error:\n" +"If it is reproducable please contact the author.\n" +msgstr "" +"Veri kaybı hatası:\n" +"Bu durum tekrarlanabilir bir durumsa lütfen yazarla iletiÅŸim kurun.\n" + +#: diff.cpp:1270 diff.cpp:1284 +msgid "Severe Internal Error" +msgstr "Ciddi Dahili Hata" + +#: difftextwindow.cpp:829 +#, fuzzy, c-format +msgid "Top line %1" +msgstr "Üst satır %1" + +#: difftextwindow.cpp:831 +msgid "End" +msgstr "Son" + +#: directorymergewindow.cpp:114 +msgid "Mix of links and normal files." +msgstr "BaÄŸların ve normal dosyaların karışımı." + +#: directorymergewindow.cpp:121 +msgid "Link: " +msgstr "BaÄŸ: " + +#: directorymergewindow.cpp:129 +msgid "Size. " +msgstr "Boyut. " + +#: directorymergewindow.cpp:142 +msgid "Date & Size: " +msgstr "Veri & Boyut: " + +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 +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 +msgid "Opening %1 failed." +msgstr "%1 açılamadı." + +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "Dosya kaydediliyor..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 +#, c-format +msgid "Error reading from %1" +msgstr "%1 konumundan okunamıyor" + +#: directorymergewindow.cpp:252 +msgid "Name" +msgstr "İsim" + +#: directorymergewindow.cpp:256 +msgid "Operation" +msgstr "İşlem" + +#: directorymergewindow.cpp:257 +msgid "Status" +msgstr "Durum" + +#: 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 "" +"Åž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 +msgid "Rescan" +msgstr "Yeniden Tara" + +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 +msgid "Continue Merging" +msgstr "BirleÅŸtirmeye Devam Et" + +#: directorymergewindow.cpp:421 +msgid "Opening of directories failed:" +msgstr "Dizinler açılamadı:" + +#: directorymergewindow.cpp:424 +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 +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 +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 +msgid "Directory Open Error" +msgstr "Dizin Açma Hatası" + +#: directorymergewindow.cpp:440 +msgid "" +"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 +msgid "Parameter Warning" +msgstr "Parametre Uyarısı" + +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "Okuma dizini: " + +#: directorymergewindow.cpp:496 +msgid "Reading Directory A" +msgstr "A Dizini Okunuyor" + +#: directorymergewindow.cpp:518 +msgid "Reading Directory B" +msgstr "B Dizini Okunuyor" + +#: directorymergewindow.cpp:540 +msgid "Reading Directory C" +msgstr "C Dizini Okunuyor" + +#: directorymergewindow.cpp:566 +msgid "Some subdirectories were not readable in" +msgstr "Bazı altdizinler okunabilir deÄŸildi" + +#: directorymergewindow.cpp:571 +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 +msgid "Ready." +msgstr "Hazır." + +#: directorymergewindow.cpp:619 +msgid "Directory Comparison Status" +msgstr "Dizin KarşılaÅŸtırması Durumu" + +#: directorymergewindow.cpp:620 +msgid "Number of subdirectories:" +msgstr "Altdizinlerin sayısı:" + +#: directorymergewindow.cpp:621 +msgid "Number of equal files:" +msgstr "EÅŸit dosyaların sayısı:" + +#: directorymergewindow.cpp:622 +msgid "Number of different files:" +msgstr "Farklı dosyaların sayısı:" + +#: directorymergewindow.cpp:625 +msgid "Number of manual merges:" +msgstr "El ile birleÅŸtirmelerin sayısı:" + +#: directorymergewindow.cpp:761 +msgid "This affects all merge operations." +msgstr "Bu, tüm birleÅŸtirme iÅŸlemlerini etkiler." + +#: directorymergewindow.cpp:762 +msgid "Changing All Merge Operations" +msgstr "Tüm BirleÅŸtirme İşlemleri DeÄŸiÅŸtiriliyor" + +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 +msgid "C&ontinue" +msgstr "D&evam Et" + +#: directorymergewindow.cpp:1057 +msgid "Processing " +msgstr "" + +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 +msgid "To do." +msgstr "Yapılacak." + +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 +msgid "Copy A to B" +msgstr "A'yı B'ye kopyala" + +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 +msgid "Copy B to A" +msgstr "B'yi A'ya kopyala" + +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 +msgid "Delete A" +msgstr "A'yı Sil" + +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 +msgid "Delete B" +msgstr "B'yi Sil" + +#: directorymergewindow.cpp:1476 +msgid "Delete A & B" +msgstr "A ve B'yi Sil" + +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 +msgid "Merge to A" +msgstr "A ile BirleÅŸtir" + +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 +msgid "Merge to B" +msgstr "B ile BirleÅŸtir" + +#: directorymergewindow.cpp:1479 +msgid "Merge to A & B" +msgstr "A ve B ile BirleÅŸtir" + +#: directorymergewindow.cpp:1483 +msgid "Delete (if exists)" +msgstr "(varsa) Sil" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 +msgid "Merge" +msgstr "BirleÅŸtir" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +msgid "Merge (manual)" +msgstr "BirleÅŸtir (el ile)" + +#: directorymergewindow.cpp:1486 +msgid "Error: Conflicting File Types" +msgstr "Hata: Çakışan Dosya Türleri" + +#: directorymergewindow.cpp:1487 +msgid "Error: Dates are equal but files are not." +msgstr "Hata: Tarihler aynı fakat dosyalar aynı deÄŸil." + +#: directorymergewindow.cpp:1511 +msgid "This operation is currently not possible." +msgstr "Bu iÅŸlem ÅŸu anda yapılamıyor." + +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 +msgid "Operation Not Possible" +msgstr "İşlem Yapılamıyor" + +#: directorymergewindow.cpp:1554 +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 "" +"Bu, hiç oluÅŸmamalı: \n" +"\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 +msgid "Program Error" +msgstr "Uygulama Hatası" + +#: directorymergewindow.cpp:1565 +msgid "" +"An error occurred while copying.\n" +msgstr "" +"Koplayanırken hata oluÅŸtu.\n" + +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 +msgid "Merge Error" +msgstr "BirleÅŸtirme Hatası" + +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 +msgid "Error." +msgstr "Hata." + +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 +msgid "Done." +msgstr "Tamamlandı." + +#: directorymergewindow.cpp:1599 +msgid "Not saved." +msgstr "Kaydedilmedi." + +#: directorymergewindow.cpp:1634 +msgid "Unknown merge operation. (This must never happen!)" +msgstr "Bilinmeyen birleÅŸtirme iÅŸlemi. (Bu, hiçbir zaman oluÅŸmamalı!)" + +#: directorymergewindow.cpp:1666 +msgid "Unknown merge operation." +msgstr "Bilinmeyen birleÅŸtirme iÅŸlemi." + +#: directorymergewindow.cpp:1681 +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 "" +"BirleÅŸtirme baÅŸlamak üzere.\n" +"\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 +msgid "Starting Merge" +msgstr "BirleÅŸtirme BaÅŸlıyor" + +#: directorymergewindow.cpp:1686 +msgid "Do It" +msgstr "Yap" + +#: directorymergewindow.cpp:1686 +msgid "Simulate It" +msgstr "Dene" + +#: directorymergewindow.cpp:1712 +msgid "" +"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 +msgid "" +"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 +#, fuzzy +msgid "" +"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 +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 "" +"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 +msgid "Continue merge after an error" +msgstr "Bir hatadan sonra birleÅŸtirmeye devam et" + +#: directorymergewindow.cpp:1840 +msgid "Continue With Last Item" +msgstr "Son Nesne ile Devam Et" + +#: directorymergewindow.cpp:1840 +msgid "Skip Item" +msgstr "Nesneyi Atla" + +#: directorymergewindow.cpp:1874 +msgid "Skipped." +msgstr "Atlandı" + +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 +msgid "In progress..." +msgstr "uygulanıyor..." + +#: directorymergewindow.cpp:1929 +msgid "Merge operation complete." +msgstr "BirleÅŸtirme iÅŸlemi tamamlandı." + +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 +msgid "Merge Complete" +msgstr "BirleÅŸtirme Tamamlandı" + +#: directorymergewindow.cpp:1941 +msgid "Simulated merge complete: Check if you agree with the proposed operations." +msgstr "" + +#: directorymergewindow.cpp:1977 +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 +msgid "Error: While deleting %1: Creating backup failed." +msgstr "Hata: %1 silinirken oluÅŸtu: Yedek alınamadı." + +#: directorymergewindow.cpp:2027 +msgid "delete directory recursively( %1 )" +msgstr "" + +#: directorymergewindow.cpp:2029 +msgid "delete( %1 )" +msgstr "sil( %1 )" + +#: directorymergewindow.cpp:2044 +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 +msgid "Error: rmdir( %1 ) operation failed." +msgstr "Hata: rmdir( %1 ) iÅŸlemi baÅŸarısız oldu." + +#: directorymergewindow.cpp:2073 +msgid "Error: delete operation failed." +msgstr "Hata: silme iÅŸlemi baÅŸarısız oldu." + +#: directorymergewindow.cpp:2099 +msgid "manual merge( %1, %2, %3 -> %4)" +msgstr "el ile birleÅŸtir( %1, %2, %3 -> %4)" + +#: directorymergewindow.cpp:2102 +#, 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 "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 +msgid "copyLink( %1 -> %2 )" +msgstr "" + +#: directorymergewindow.cpp:2146 +msgid "Error: copyLink failed: Remote links are not yet supported." +msgstr "" + +#: directorymergewindow.cpp:2152 +msgid "Error: copyLink failed." +msgstr "" + +#: directorymergewindow.cpp:2172 +msgid "copy( %1 -> %2 )" +msgstr "kopyala( %1 -> %2 )" + +#: directorymergewindow.cpp:2198 +msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." +msgstr "" +"Yeniden isimlendirilirken ( %1 -> %2 ) hata oluÅŸtu: Mevcut hedef " +"silinemiyor." + +#: directorymergewindow.cpp:2204 +msgid "rename( %1 -> %2 )" +msgstr "yeniden isimlendir( %1 -> %2 )" + +#: directorymergewindow.cpp:2213 +msgid "Error: Rename failed." +msgstr "Hata: Yeniden isimlendirme baÅŸarısız oldu." + +#: directorymergewindow.cpp:2231 +msgid "Error during makeDir of %1. Cannot delete existing file." +msgstr "" + +#: directorymergewindow.cpp:2247 +msgid "makeDir( %1 )" +msgstr "dizin oluÅŸtur( %1 )" + +#: directorymergewindow.cpp:2257 +msgid "Error while creating directory." +msgstr "Dizin oluÅŸturulması sırasında hata oluÅŸtu." + +#: directorymergewindow.cpp:2280 directorymergewindow.cpp:2388 +msgid "Dest" +msgstr "Hedef" + +#: directorymergewindow.cpp:2284 directorymergewindow.cpp:2313 +msgid "Dir" +msgstr "Dizin" + +#: directorymergewindow.cpp:2285 +msgid "Type" +msgstr "Tür" + +#: directorymergewindow.cpp:2286 +msgid "Size" +msgstr "Boyut" + +#: directorymergewindow.cpp:2287 +msgid "Attr" +msgstr "Özellikler" + +#: directorymergewindow.cpp:2288 +msgid "Last Modification" +msgstr "Son DeÄŸiÅŸtirme" + +#: directorymergewindow.cpp:2289 +msgid "Link-Destination" +msgstr "BaÄŸ-Hedefi" + +#: directorymergewindow.cpp:2330 +msgid "not available" +msgstr "mümkün deÄŸil" + +#: directorymergewindow.cpp:2350 +msgid "A (Dest): " +msgstr "A (Hedef):" + +#: directorymergewindow.cpp:2353 +msgid "A (Base): " +msgstr "" + +#: directorymergewindow.cpp:2359 +msgid "B (Dest): " +msgstr "B (Hedef):" + +#: directorymergewindow.cpp:2367 +msgid "C (Dest): " +msgstr "C (Hedef):" + +#: directorymergewindow.cpp:2373 +msgid "Dest: " +msgstr "Hedef: " + +#: directorymergewindow.cpp:2398 +msgid "Start/Continue Directory Merge" +msgstr "" + +#: directorymergewindow.cpp:2399 +msgid "Run Operation for Current Item" +msgstr "Mevcut Nesne için İşlem BaÅŸlat" + +#: directorymergewindow.cpp:2400 +msgid "Compare Selected File" +msgstr "Seçili Dosyayı KarşılaÅŸtır" + +#: directorymergewindow.cpp:2401 +msgid "Merge Current File" +msgstr "Mevcut Dosyayı BirleÅŸtir" + +#: 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 "Tüm Nesneler için A'yı Seç" + +#: directorymergewindow.cpp:2406 +msgid "Choose B for All Items" +msgstr "Tüm Nesneler için B'yi Seç" + +#: directorymergewindow.cpp:2407 +msgid "Choose C for All Items" +msgstr "Tüm Nesneler için C'yi Seç" + +#: directorymergewindow.cpp:2408 +msgid "Auto-Choose Operation for All Items" +msgstr "Tüm Nesneler için Atomatik-Seçim İşlemi" + +#: directorymergewindow.cpp:2409 +msgid "No Operation for All Items" +msgstr "" + +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 +msgid "Do Nothing" +msgstr "Bir Åžey Yapma" + +#: directorymergewindow.cpp:2412 +msgid "A" +msgstr "A" + +#: directorymergewindow.cpp:2413 +msgid "B" +msgstr "B" + +#: directorymergewindow.cpp:2414 +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 +msgid "" +"While trying to make a backup, deleting an older backup failed. \n" +"Filename: " +msgstr "" +"Yedekleme yapılırken, eski bir yedeÄŸin silinmesi baÅŸarısız oldu.\n" +"Dosya adı: " + +#: fileaccess.cpp:547 +msgid "" +"While trying to make a backup, renaming failed. \n" +"Filenames: " +msgstr "" +"Yedekleme yapılırken, yeniden isimlendirme baÅŸarısız oldu.\n" +"Dosya adları: " + +#: fileaccess.cpp:569 +#, c-format +msgid "Getting file status: %1" +msgstr "Dosya durumu okunuyor: %1" + +#: fileaccess.cpp:612 +#, c-format +msgid "Reading file: %1" +msgstr "Dosya okunuyor: %1" + +#: fileaccess.cpp:648 +#, c-format +msgid "Writing file: %1" +msgstr "Dosya yazılıyor: %1" + +#: fileaccess.cpp:676 +msgid "Out of memory" +msgstr "Hafıza dışı" + +#: fileaccess.cpp:711 +#, c-format +msgid "Making directory: %1" +msgstr "Dizin oluÅŸturuluyor: %1" + +#: fileaccess.cpp:731 +#, c-format +msgid "Removing directory: %1" +msgstr "Dizin siliniyor: %1" + +#: fileaccess.cpp:746 +#, c-format +msgid "Removing file: %1" +msgstr "Dosya siliniyor: %1" + +#: fileaccess.cpp:762 +msgid "Creating symbolic link: %1 -> %2" +msgstr "Sembolik baÄŸ oluÅŸturuluyor: %1 -> %2" + +#: fileaccess.cpp:788 +msgid "Renaming file: %1 -> %2" +msgstr "Dosya yeniden isimlendiriliyor: %1 -> %2" + +#: fileaccess.cpp:824 +msgid "Copying file: %1 -> %2" +msgstr "Dosya kopyalanıyor: %1 -> %2" + +#: fileaccess.cpp:838 +#, c-format +msgid "" +"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 +#, c-format +msgid "" +"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 +#, 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 +#, 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 +msgid "Reading directory: " +msgstr "Okuma dizini: " + +#: fileaccess.cpp:1297 +#, c-format +msgid "Listing directory: %1" +msgstr "Listeleme dizini: %1" + +#: kdiff3.cpp:135 +msgid "Option --auto used, but no output file specified." +msgstr "--auto seçeneÄŸi kullanıldı, fakat çıktı dosyası belirtilmedi." + +#: kdiff3.cpp:241 +msgid "Option --auto ignored for directory comparison." +msgstr "" + +#: kdiff3.cpp:277 +msgid "Saving failed." +msgstr "Kaydetme baÅŸarısız oldu." + +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 +msgid "Opening of these files failed:" +msgstr "Åžu dosyaların açılması baÅŸarısız oldu:" + +#: kdiff3.cpp:310 +msgid "File Open Error" +msgstr "Dosya Açma Hatası" + +#: kdiff3.cpp:329 +msgid "Opens documents for comparison..." +msgstr "KarşılaÅŸtırmak için belge açar..." + +#: kdiff3.cpp:331 +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 +msgid "Saves the current document as..." +msgstr "Mevcut belgeyi farklı kaydeder..." + +#: kdiff3.cpp:335 +msgid "Quits the application" +msgstr "Uygulamadan çıkar" + +#: kdiff3.cpp:337 +msgid "Cuts the selected section and puts it to the clipboard" +msgstr "Seçili bölümü keser ve panoya koyar" + +#: kdiff3.cpp:339 +msgid "Copies the selected section to the clipboard" +msgstr "Seçili bölümü panoya kopyalar" + +#: kdiff3.cpp:341 +msgid "Pastes the clipboard contents to actual position" +msgstr "Pano içeriklerini mevcut alana yapıştırır" + +#: kdiff3.cpp:343 +msgid "Search for a string" +msgstr "Bir satırı ara" + +#: kdiff3.cpp:345 +msgid "Search again for the string" +msgstr "Satırı tekrar ara" + +#: kdiff3.cpp:347 +msgid "Enables/disables the toolbar" +msgstr "Araç çubuÄŸunu açar/kapatır" + +#: kdiff3.cpp:349 +msgid "Enables/disables the statusbar" +msgstr "Durum çubuÄŸunu açar/kapatır" + +#: kdiff3.cpp:353 +msgid "Configure KDiff3..." +msgstr "KDiff3 Uygulamasını Yapılandır..." + +#: 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 +msgid "Go to Previous Delta" +msgstr "" + +#: kdiff3.cpp:378 +msgid "Go to Next Delta" +msgstr "" + +#: kdiff3.cpp:379 +msgid "Go to Previous Conflict" +msgstr "Bir Önceki Çakışmaya Git" + +#: kdiff3.cpp:380 +msgid "Go to Next Conflict" +msgstr "Bir Sonraki Çakışmaya Git" + +#: kdiff3.cpp:381 +msgid "Go to Previous Unsolved Conflict" +msgstr "Bir Önceki Çözülmeyen Çakışmaya Git" + +#: kdiff3.cpp:382 +msgid "Go to Next Unsolved Conflict" +msgstr "Bir Sonraki Çözülmeyen Çakışmaya Git" + +#: kdiff3.cpp:383 +msgid "Select Line(s) From A" +msgstr "A'dan Satır(lar) Seç" + +#: kdiff3.cpp:384 +msgid "Select Line(s) From B" +msgstr "B'den Satır(lar) Seç" + +#: kdiff3.cpp:385 +msgid "Select Line(s) From C" +msgstr "C'den Satır(lar) Seç" + +#: kdiff3.cpp:386 +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 +msgid "Show Space && Tabulator Characters for Differences" +msgstr "" + +#: kdiff3.cpp:389 +msgid "Show White Space" +msgstr "BoÅŸluÄŸu Göster" + +#: kdiff3.cpp:391 +msgid "Show Line Numbers" +msgstr "Satır Numaralarını Göster" + +#: kdiff3.cpp:392 +msgid "Choose A Everywhere" +msgstr "A'yı Heryerde Seç" + +#: kdiff3.cpp:393 +msgid "Choose B Everywhere" +msgstr "B'yi Heryerde Seç" + +#: kdiff3.cpp:394 +msgid "Choose C Everywhere" +msgstr "C'yi Heryerde Seç" + +#: kdiff3.cpp:395 +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" +msgstr "B'yi Tüm ÇözülmemiÅŸ Çakışmalar için Seç" + +#: kdiff3.cpp:397 +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 +msgid "Automatically Solve Simple Conflicts" +msgstr "Basit Çakışmaları Otomatik Olarak Çöz" + +#: kdiff3.cpp:402 +msgid "Set Deltas to Conflicts" +msgstr "" + +#: kdiff3.cpp:404 +msgid "Show Window A" +msgstr "A Penceresini Göster" + +#: kdiff3.cpp:405 +msgid "Show Window B" +msgstr "B Penceresini Göster" + +#: kdiff3.cpp:406 +msgid "Show Window C" +msgstr "C Penceresini Göster" + +#: kdiff3.cpp:407 kdiff3.cpp:416 +msgid "Focus Next Window" +msgstr "Bir Sonraki Pencereye Odaklan" + +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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 "Bir Önceki Pencereye Odaklan" + +#: kdiff3.cpp:419 +msgid "Toggle Split Orientation" +msgstr "" + +#: 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 "BirleÅŸtirme sonucu kaydedilmedi." + +#: kdiff3.cpp:505 +msgid "Save && Quit" +msgstr "Kaydet ve Çık" + +#: kdiff3.cpp:505 +msgid "Quit Without Saving" +msgstr "Kaydetmeden Çık" + +#: kdiff3.cpp:513 pdiff.cpp:1763 +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?" +msgstr "" +"Åžu anda bir dizin birleÅŸtirmesi gerçekleÅŸtiriyorsunuz. Çıkmak " +"istediÄŸinizden emin misiniz?" + +#: kdiff3.cpp:547 +msgid "Saving file..." +msgstr "Dosya kaydediliyor..." + +#: kdiff3.cpp:563 +msgid "Saving file with a new filename..." +msgstr "Dosya yeni bir isimle kaydediliyor..." + +#: kdiff3.cpp:587 +msgid "Exiting..." +msgstr "Çıkılıyor..." + +#: kdiff3.cpp:599 +msgid "Toggling toolbar..." +msgstr "" + +#: kdiff3.cpp:619 +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 +msgid "Couldn't find files for comparison." +msgstr "KarşılaÅŸtırılacak dosya bulunamadı." + +#: kdiff3_part.cpp:266 +msgid "KDiff3Part" +msgstr "KDiff3Part" + +#: kdiff3_shell.cpp:63 +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 "Merge the input." +msgstr "Girdiyi birleÅŸtir." + +#: main.cpp:37 +msgid "Explicit base file. For compatibility with certain tools." +msgstr "" + +#: main.cpp:39 +msgid "Output file. Implies -m. E.g.: -o newfile.txt" +msgstr "" + +#: main.cpp:40 +msgid "Output file, again. (For compatibility with certain tools.)" +msgstr "" + +#: main.cpp:41 +msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" +msgstr "" + +#: main.cpp:42 +msgid "Don't solve conflicts automatically. (For compatibility...)" +msgstr "Çakışmaları otomatik çözme. (Uyumluluk için...)" + +#: main.cpp:43 +msgid "Visible name replacement for input file 1 (base)." +msgstr "" + +#: main.cpp:44 +msgid "Visible name replacement for input file 2." +msgstr "" + +#: main.cpp:45 +msgid "Visible name replacement for input file 3." +msgstr "" + +#: main.cpp:47 +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 "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 "file1 to open (base, if not specified via --base)" +msgstr "" + +#: main.cpp:53 +msgid "file2 to open" +msgstr "" + +#: main.cpp:54 +msgid "file3 to open" +msgstr "" + +#: main.cpp:108 rc.cpp:3 +msgid "KDiff3" +msgstr "KDiff3" + +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 +msgid "" +"The output has been modified.\n" +"If you continue your changes will be lost." +msgstr "" +"Çıktı üzerinde deÄŸiÅŸiklik yapıldı.\n" +"Devam ederseniz deÄŸiÅŸiklikleri kaybedeceksiniz." + +#: mergeresultwindow.cpp:726 pdiff.cpp:483 +msgid "All input files are binary equal." +msgstr "" + +#: mergeresultwindow.cpp:728 pdiff.cpp:485 +msgid "All input files contain the same text." +msgstr "Tüm girdi dosyaları aynı metni içeriyor." + +#: mergeresultwindow.cpp:730 pdiff.cpp:487 +msgid "" +"Files A and B are binary equal.\n" +msgstr "" + +#: mergeresultwindow.cpp:731 pdiff.cpp:488 +msgid "" +"Files A and B have equal text. \n" +msgstr "" +"A ve B dosyaları aynı metne sahip. \n" + +#: mergeresultwindow.cpp:732 pdiff.cpp:489 +msgid "" +"Files A and C are binary equal.\n" +msgstr "" + +#: mergeresultwindow.cpp:733 pdiff.cpp:490 +msgid "" +"Files A and C have equal text. \n" +msgstr "" +"A ve C dosyaları aynı metne sahip. \n" + +#: mergeresultwindow.cpp:734 pdiff.cpp:491 +msgid "" +"Files B and C are binary equal.\n" +msgstr "" + +#: mergeresultwindow.cpp:735 pdiff.cpp:492 +msgid "" +"Files B and C have equal text. \n" +msgstr "" +"B ve C dosyaları aynı metne sahip. \n" + +#: mergeresultwindow.cpp:738 +msgid "Total number of conflicts: " +msgstr "Toplam çakışma sayısı: " + +#: mergeresultwindow.cpp:739 +msgid "" +"\n" +"Nr of automatically solved conflicts: " +msgstr "" +"\n" +"Otomatik çözülen çakışmaların sayısı: " + +#: mergeresultwindow.cpp:740 +msgid "" +"\n" +"Nr of unsolved conflicts: " +msgstr "" +"\n" +"Çözülmeyen çakışmaların sayısı: " + +#: mergeresultwindow.cpp:742 +msgid "Conflicts" +msgstr "Çakışmalar" + +#: mergeresultwindow.cpp:1081 +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 +msgid "" +msgstr "" + +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 +msgid "[Modified]" +msgstr "[DeÄŸiÅŸiklik Yapıldı]" + +#: mergeresultwindow.cpp:2067 +msgid "" +"Not all conflicts are solved yet.\n" +"File not saved.\n" +msgstr "" +"Daha tüm çakışmalar çözülmedi.\n" +"Dosya kaydedilmedi.\n" + +#: mergeresultwindow.cpp:2069 +msgid "Conflicts Left" +msgstr "Çakışmalar Var" + +#: mergeresultwindow.cpp:2081 +msgid "" +"\n" +"\n" +"File not saved." +msgstr "" +"\n" +"\n" +"Dosya kaydedilmedi." + +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 +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 +msgid "Error while writing." +msgstr "Yazılırken hata oluÅŸtu." + +#: optiondialog.cpp:330 +msgid "Editor & Diff Output Font" +msgstr "Düzenleyici ve KarşılaÅŸtırıcı Çıktısı Yazıtipi" + +#: optiondialog.cpp:342 +msgid "Italic font for deltas" +msgstr "" + +#: optiondialog.cpp:345 +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 +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 +msgid "Foreground color:" +msgstr "" + +#: optiondialog.cpp:373 +msgid "Background color:" +msgstr "Arka alan rengi:" + +#: optiondialog.cpp:380 +msgid "Diff background color:" +msgstr "KarşılaÅŸtırıcı arka alanı rengi:" + +#: optiondialog.cpp:387 +msgid "Color A:" +msgstr "A'nın rengi:" + +#: optiondialog.cpp:394 +msgid "Color B:" +msgstr "B'nin rengi:" + +#: optiondialog.cpp:401 +msgid "Color C:" +msgstr "C'nin rengi:" + +#: optiondialog.cpp:407 +msgid "Conflict color:" +msgstr "Çakışma rengi:" + +#: optiondialog.cpp:414 +msgid "Current range background color:" +msgstr "" + +#: optiondialog.cpp:421 +msgid "Current range diff background color:" +msgstr "" + +#: optiondialog.cpp:432 +msgid "Editor" +msgstr "Düzenleyici" + +#: optiondialog.cpp:432 +msgid "Editor Behaviour" +msgstr "Düzenleyici Davranışı" + +#: optiondialog.cpp:441 +msgid "Tab inserts spaces" +msgstr "Tab tuÅŸu boÅŸluk yerleÅŸtirir" + +#: optiondialog.cpp:444 +msgid "" +"On: Pressing tab generates the appropriate number of spaces.\n" +"Off: A Tab-character will be inserted." +msgstr "" + +#: optiondialog.cpp:450 +msgid "Tab size:" +msgstr "Tab boyutu:" + +#: optiondialog.cpp:455 +msgid "Auto indentation" +msgstr "" + +#: optiondialog.cpp:458 +msgid "" +"On: The indentation of the previous line is used for a new line.\n" +msgstr "" + +#: optiondialog.cpp:462 +msgid "Auto copy selection" +msgstr "" + +#: optiondialog.cpp:465 +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:" +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" +msgstr "KarşılaÅŸtırma ve BirleÅŸtirme" + +#: optiondialog.cpp:500 +msgid "Diff & Merge Settings" +msgstr "KarşılaÅŸtırma ve BirleÅŸtirme Ayarları" + +#: optiondialog.cpp:510 +msgid "Preserve carriage return" +msgstr "" + +#: optiondialog.cpp:513 +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 +msgid "Ignore numbers" +msgstr "" + +#: optiondialog.cpp:521 +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:526 +msgid "Ignore C/C++ Comments" +msgstr "C/C++ Yorumlarını Yoksay" + +#: optiondialog.cpp:528 +msgid "Treat C/C++ comments like white space." +msgstr "C/C++ yorumlarına boÅŸluk olarak davran." + +#: optiondialog.cpp:532 +msgid "Ignore case" +msgstr "" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" + +#: optiondialog.cpp:539 +msgid "Preprocessor command:" +msgstr "" + +#: optiondialog.cpp:543 +msgid "User defined pre-processing. (See the docs for details.)" +msgstr "" + +#: optiondialog.cpp:546 +msgid "Line-matching preprocessor command:" +msgstr "" + +#: optiondialog.cpp:550 +msgid "" +"This pre-processor is only used during line matching.\n" +"(See the docs for details.)" +msgstr "" + +#: optiondialog.cpp:553 +msgid "Try hard (slower)" +msgstr "" + +#: optiondialog.cpp:556 +msgid "" +"Enables the --minimal option for the external diff.\n" +"The analysis of big files will be much slower." +msgstr "" + +#: optiondialog.cpp:561 +msgid "Auto advance delay (ms):" +msgstr "" + +#: optiondialog.cpp:566 +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 +msgid "White space 2-file merge default:" +msgstr "" + +#: optiondialog.cpp:575 optiondialog.cpp:588 +msgid "Manual choice" +msgstr "El ile seçim" + +#: optiondialog.cpp:579 optiondialog.cpp:593 +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 "" + +#: optiondialog.cpp:603 +msgid "Directory Merge" +msgstr "Dizin BirleÅŸtirmesi" + +#: optiondialog.cpp:611 +msgid "Recursive directories" +msgstr "" + +#: optiondialog.cpp:613 +msgid "Whether to analyze subdirectories or not." +msgstr "Altdizinlerin analiz edilip edilmeyeceÄŸi." + +#: optiondialog.cpp:615 +msgid "File pattern(s):" +msgstr "Dosya Türleri:" + +#: optiondialog.cpp:620 +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 +msgid "File-anti-pattern(s):" +msgstr "" + +#: optiondialog.cpp:631 +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 +msgid "Dir-anti-pattern(s):" +msgstr "" + +#: optiondialog.cpp:642 +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 +msgid "Use .cvsignore" +msgstr ".cvsignore kullan" + +#: optiondialog.cpp:651 +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 +msgid "Find hidden files and directories" +msgstr "Gizli dosya ve dizinleri bul" + +#: optiondialog.cpp:659 +msgid "Finds files and directories with the hidden attribute." +msgstr "Gizli özelliÄŸine sahip tüm dosya ve dizinleri bulur." + +#: optiondialog.cpp:661 +msgid "Finds files and directories starting with '.'." +msgstr "'.' ile baÅŸlayan dosya ve dizinleri bulur." + +#: optiondialog.cpp:665 +msgid "Follow file links" +msgstr "Dosya baÄŸlarını takip et" + +#: optiondialog.cpp:668 +msgid "" +"On: Compare the file the link points to.\n" +"Off: Compare the links." +msgstr "" +"Açık: Bağın iÅŸaret ettiÄŸi dosyayı karşılaÅŸtır.\n" +"Kapalı: BaÄŸları karşılaÅŸtır." + +#: optiondialog.cpp:673 +msgid "Follow directory links" +msgstr "Dizin baÄŸlarını takip et" + +#: optiondialog.cpp:676 +msgid "" +"On: Compare the directory the link points to.\n" +"Off: Compare the links." +msgstr "" +"Açık: Bağın iÅŸaret ettiÄŸin dizini karşılaÅŸtır.\n" +"Kapalı: BaÄŸları karşılaÅŸtır." + +#: optiondialog.cpp:681 +msgid "List only deltas" +msgstr "" + +#: optiondialog.cpp:684 +msgid "Files and directories without change will not appear in the list." +msgstr "" + +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "Dizin KarşılaÅŸtırması Durumu" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 +msgid "Trust the modification date (unsafe)" +msgstr "DeÄŸiÅŸtirme tarihine güven (güvenilir deÄŸil)" + +#: optiondialog.cpp:699 +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" +"Büyük dizinler ve yavaÅŸ aÄŸlar için kullanışlıdır." + +#: optiondialog.cpp:702 +msgid "Trust the size (unsafe)" +msgstr "Boyuta güven (güvenilir deÄŸil)" + +#: optiondialog.cpp:703 +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 +msgid "Synchronize directories" +msgstr "" + +#: optiondialog.cpp:710 +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 +msgid "Copy newer instead of merging (unsafe)" +msgstr "BirleÅŸtirmek yerine daha yeni olanı kopyala (güvenli deÄŸil)" + +#: optiondialog.cpp:718 +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 "" +"İçeriÄŸe bakma, sadece daha yeni olan dosyayı al.\n" +"(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 +msgid "Backup files (.orig)" +msgstr "Dosyaları yedekle (.orig)" + +#: optiondialog.cpp:726 +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 "" +"Bir dosya eski bir dosyanın üzerine kaydedileceÄŸi zaman,\n" +"eski dosya silinmek yerine '.orig' uzantısıyla kaydedilir." + +#: optiondialog.cpp:753 +msgid "Regional Settings" +msgstr "" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 +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:829 +msgid "Incompatible Font" +msgstr "Uyumsuz Yazıtipi" + +#: optiondialog.cpp:830 +msgid "Continue at Own Risk" +msgstr "Riski Göze Alarak Devam Et" + +#: optiondialog.cpp:830 +msgid "Select Another Font" +msgstr "BaÅŸka Bir Yazıtipi Seç" + +#: optiondialog.cpp:858 +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 +msgid "PreprocessorCmd: " +msgstr "" + +#: pdiff.cpp:262 +msgid "" +"The following option(s) you selected might change data:\n" +msgstr "" + +#: pdiff.cpp:263 +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 "" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "" + +#: pdiff.cpp:293 +msgid "Loading A" +msgstr "" + +#: pdiff.cpp:297 +msgid "Loading B" +msgstr "" + +#: pdiff.cpp:306 pdiff.cpp:329 +msgid "Diff: A <-> B" +msgstr "" + +#: pdiff.cpp:312 pdiff.cpp:349 +msgid "Linediff: A <-> B" +msgstr "" + +#: pdiff.cpp:321 +msgid "Loading C" +msgstr "" + +#: pdiff.cpp:332 +msgid "Diff: B <-> C" +msgstr "" + +#: pdiff.cpp:335 +msgid "Diff: A <-> C" +msgstr "" + +#: pdiff.cpp:352 +msgid "Linediff: B <-> C" +msgstr "" + +#: pdiff.cpp:355 +msgid "Linediff: A <-> C" +msgstr "" + +#: pdiff.cpp:502 +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 +msgid "A (Base):" +msgstr "" + +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 +msgid "File..." +msgstr "Dosya..." + +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 +msgid "Dir..." +msgstr "Dizin..." + +#: pdiff.cpp:962 +msgid "C (Optional):" +msgstr "C (İsteÄŸe BaÄŸlı):" + +#: pdiff.cpp:981 +msgid "Output (optional):" +msgstr "Çıktı (İsteÄŸe BaÄŸlı):" + +#: pdiff.cpp:1010 +msgid "Configure..." +msgstr "Yapılandır..." + +#: pdiff.cpp:1151 +msgid "Abort" +msgstr "Çık" + +#: pdiff.cpp:1157 pdiff.cpp:1236 +msgid "Opening files..." +msgstr "" + +#: pdiff.cpp:1219 pdiff.cpp:1283 +msgid "File open error" +msgstr "Dosya açma hatası" + +#: 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 "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" +msgstr "" + +#: rc.cpp:7 +msgid "Current Item Sync Operation" +msgstr "" + +#: rc.cpp:8 +msgid "&Movement" +msgstr "&Hareket" + +#: rc.cpp:9 +#, fuzzy +msgid "D&iffview" +msgstr "KDiff3" + +#: rc.cpp:10 +msgid "&Merge" +msgstr "&BirleÅŸtir" + +#: rc.cpp:11 +msgid "&Window" +msgstr "&Pencere" + +#, 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" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/po/zh_CN.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/po/zh_CN.po Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,1968 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2004 Free Software Foundation, Inc. +# zhu-zhy \n" +"Language-Team: zh_CN \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 "å¼€æºè½¯ä»¶å›½é™…化简体中文组(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 +msgid "Writing clipboard data to temp file failed." +msgstr "" + +#: diff.cpp:245 +msgid "From Clipboard" +msgstr "从粘贴æ¿" + +#: diff.cpp:404 +msgid "" +"Preprocessing possibly failed. Check this command:\n" +"\n" +" %1\n" +"\n" +"The preprocessing command will be disabled now." +msgstr "" + +#: diff.cpp:425 +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:1268 diff.cpp:1282 +msgid "" +"Data loss error:\n" +"If it is reproducable please contact the author.\n" +msgstr "" +"æ•°æ®ä¸¢å¤±é”™è¯¯ï¼š\n" +"如果它是å¯å¤åˆ¶çš„请è”系作者。\n" + +#: diff.cpp:1270 diff.cpp:1284 +msgid "Severe Internal Error" +msgstr "严é‡å†…部错误" + +#: difftextwindow.cpp:829 +#, fuzzy, c-format +msgid "Top line %1" +msgstr "顶端行数 %1" + +#: difftextwindow.cpp:831 +msgid "End" +msgstr "末尾" + +#: directorymergewindow.cpp:114 +msgid "Mix of links and normal files." +msgstr "链结和普通文件混åˆ" + +#: directorymergewindow.cpp:121 +msgid "Link: " +msgstr "链结:" + +#: directorymergewindow.cpp:129 +msgid "Size. " +msgstr "大å°ï¼š" + +#: directorymergewindow.cpp:142 +msgid "Date & Size: " +msgstr "日期和大å°ï¼š" + +#: directorymergewindow.cpp:151 directorymergewindow.cpp:157 +msgid "Creating temp copy of %1 failed." +msgstr "创建临时 %1 夿œ¬å¤±è´¥ã€‚" + +#: directorymergewindow.cpp:168 directorymergewindow.cpp:176 +msgid "Opening %1 failed." +msgstr "打开 %1 失败。" + +#: directorymergewindow.cpp:180 +#, fuzzy +msgid "Comparing file ..." +msgstr "ä¿å­˜æ–‡ä»¶..." + +#: directorymergewindow.cpp:194 directorymergewindow.cpp:200 +#, c-format +msgid "Error reading from %1" +msgstr "è¯»å– %1 时错误" + +#: directorymergewindow.cpp:252 +msgid "Name" +msgstr "åç§°" + +#: directorymergewindow.cpp:256 +msgid "Operation" +msgstr "æ“作" + +#: 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 +msgid "Rescan" +msgstr "釿–°æ‰«æ" + +#: directorymergewindow.cpp:290 kdiff3.cpp:525 pdiff.cpp:1151 +msgid "Continue Merging" +msgstr "ç»§ç»­åˆå¹¶" + +#: directorymergewindow.cpp:421 +msgid "Opening of directories failed:" +msgstr "打开目录失败" + +#: directorymergewindow.cpp:424 +msgid "" +"Dir A \"%1\" does not exist or is not a directory.\n" +msgstr "" +"目录 A “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n" + +#: directorymergewindow.cpp:427 +msgid "" +"Dir B \"%1\" does not exist or is not a directory.\n" +msgstr "" +"目录 B “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n" + +#: directorymergewindow.cpp:430 +msgid "" +"Dir C \"%1\" does not exist or is not a directory.\n" +msgstr "" +"目录 C “%1â€ä¸å­˜åœ¨æˆ–è€…ä¸æ˜¯ç›®å½•。\n" + +#: directorymergewindow.cpp:432 +msgid "Directory Open Error" +msgstr "目录打开错误" + +#: directorymergewindow.cpp:440 +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:442 +msgid "Parameter Warning" +msgstr "傿•°è­¦å‘Š" + +#: directorymergewindow.cpp:447 +#, fuzzy +msgid "Scanning directories ..." +msgstr "åŒæ­¥ç›®å½•" + +#: directorymergewindow.cpp:496 +msgid "Reading Directory A" +msgstr "读å–目录 A" + +#: directorymergewindow.cpp:518 +msgid "Reading Directory B" +msgstr "读å–目录 B" + +#: directorymergewindow.cpp:540 +msgid "Reading Directory C" +msgstr "读å–目录 C" + +#: directorymergewindow.cpp:566 +msgid "Some subdirectories were not readable in" +msgstr "一些å­ç›®å½•ä¸èƒ½è¿›å…¥è¯»å–" + +#: directorymergewindow.cpp:571 +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 +msgid "Ready." +msgstr "就绪" + +#: directorymergewindow.cpp:619 +msgid "Directory Comparison Status" +msgstr "目录比较状æ€" + +#: directorymergewindow.cpp:620 +msgid "Number of subdirectories:" +msgstr "å­ç›®å½•数:" + +#: directorymergewindow.cpp:621 +msgid "Number of equal files:" +msgstr "ç›¸åŒæ–‡ä»¶æ•°ï¼š" + +#: directorymergewindow.cpp:622 +msgid "Number of different files:" +msgstr "ä¸åŒæ–‡ä»¶æ•°ï¼š" + +#: directorymergewindow.cpp:625 +msgid "Number of manual merges:" +msgstr "手动åˆå¹¶æ•°ï¼š" + +#: directorymergewindow.cpp:761 +msgid "This affects all merge operations." +msgstr "è¿™å°†å½±å“æ‰€æœ‰åˆå¹¶æ“作。" + +#: directorymergewindow.cpp:762 +msgid "Changing All Merge Operations" +msgstr "æ”¹å˜æ‰€æœ‰åˆå¹¶æ“作" + +#: directorymergewindow.cpp:762 mergeresultwindow.cpp:256 +msgid "C&ontinue" +msgstr "ç»§ç»­(&O)" + +#: directorymergewindow.cpp:1057 +msgid "Processing " +msgstr "å¤„ç† " + +#: directorymergewindow.cpp:1405 directorymergewindow.cpp:1411 +msgid "To do." +msgstr "执行。" + +#: directorymergewindow.cpp:1472 directorymergewindow.cpp:2419 +msgid "Copy A to B" +msgstr "å¤åˆ¶ A 到 B" + +#: directorymergewindow.cpp:1473 directorymergewindow.cpp:2420 +msgid "Copy B to A" +msgstr "å¤åˆ¶ B 到 A" + +#: directorymergewindow.cpp:1474 directorymergewindow.cpp:2421 +msgid "Delete A" +msgstr "删除 A" + +#: directorymergewindow.cpp:1475 directorymergewindow.cpp:2422 +msgid "Delete B" +msgstr "删除 B" + +#: directorymergewindow.cpp:1476 +msgid "Delete A & B" +msgstr "删除 A å’Œ B" + +#: directorymergewindow.cpp:1477 directorymergewindow.cpp:2424 +msgid "Merge to A" +msgstr "åˆå¹¶åˆ° A" + +#: directorymergewindow.cpp:1478 directorymergewindow.cpp:2425 +msgid "Merge to B" +msgstr "åˆå¹¶åˆ° B" + +#: directorymergewindow.cpp:1479 +msgid "Merge to A & B" +msgstr "åˆå¹¶åˆ° A å’Œ B" + +#: directorymergewindow.cpp:1483 +msgid "Delete (if exists)" +msgstr "删除(如果存在)" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +#: directorymergewindow.cpp:2415 pdiff.cpp:978 +msgid "Merge" +msgstr "åˆå¹¶" + +#: directorymergewindow.cpp:1484 directorymergewindow.cpp:1485 +msgid "Merge (manual)" +msgstr "åˆå¹¶(手动)" + +#: directorymergewindow.cpp:1486 +msgid "Error: Conflicting File Types" +msgstr "错误:文件类型冲çª" + +#: directorymergewindow.cpp:1487 +msgid "Error: Dates are equal but files are not." +msgstr "错误:日期相åŒä½†æ˜¯æ–‡ä»¶ä¸åŒã€‚" + +#: directorymergewindow.cpp:1511 +msgid "This operation is currently not possible." +msgstr "æ­¤æ“作当å‰ä¸å¯è¡Œã€‚" + +#: directorymergewindow.cpp:1511 directorymergewindow.cpp:1778 +msgid "Operation Not Possible" +msgstr "æ“作ä¸å¯è¡Œ" + +#: directorymergewindow.cpp:1554 +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" +"åˆå¹¶ç»“æžœä¿å­˜ï¼šm_pMFI=0\n" +"\n" +"如果您知é“如何å¤åˆ¶æ­¤ç¨‹åºï¼Œè¯·è”系程åºä½œè€…。" + +#: directorymergewindow.cpp:1554 +msgid "Program Error" +msgstr "程åºé”™è¯¯" + +#: directorymergewindow.cpp:1565 +msgid "" +"An error occurred while copying.\n" +msgstr "" +"å¤åˆ¶æ—¶å‘生错误。\n" + +#: directorymergewindow.cpp:1566 directorymergewindow.cpp:1978 +msgid "Merge Error" +msgstr "åˆå¹¶é”™è¯¯" + +#: directorymergewindow.cpp:1571 directorymergewindow.cpp:1983 +msgid "Error." +msgstr "错误。" + +#: directorymergewindow.cpp:1576 directorymergewindow.cpp:1874 +#: directorymergewindow.cpp:1914 +msgid "Done." +msgstr "完æˆã€‚" + +#: directorymergewindow.cpp:1599 +msgid "Not saved." +msgstr "未ä¿å­˜ã€‚" + +#: directorymergewindow.cpp:1634 +msgid "Unknown merge operation. (This must never happen!)" +msgstr "未知åˆå¹¶æ“作。(ç»ä¸å¯ä»¥å†å‘生ï¼)" + +#: directorymergewindow.cpp:1666 +msgid "Unknown merge operation." +msgstr "未知åˆå¹¶æ“作。" + +#: directorymergewindow.cpp:1681 +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:1686 +msgid "Starting Merge" +msgstr "开始åˆå¹¶" + +#: directorymergewindow.cpp:1686 +msgid "Do It" +msgstr "执行" + +#: directorymergewindow.cpp:1686 +msgid "Simulate It" +msgstr "模拟" + +#: directorymergewindow.cpp:1712 +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 " +"what to do." +msgstr "文件的修改日期相åŒä½†æ˜¯æ–‡ä»¶ä¸åŒã€‚选择åšä»€ä¹ˆã€‚" + +#: directorymergewindow.cpp:1778 +#, fuzzy +msgid "" +"This operation is currently not possible because directory merge is " +"currently running." +msgstr "æ­¤æ“作当å‰ä¸å¯è¡Œï¼Œå› ä¸ºç›®å½•åˆå¹¶æ­£åœ¨è¿è¡Œã€‚" + +#: directorymergewindow.cpp:1838 +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:1840 +msgid "Continue merge after an error" +msgstr "出错åŽç»§ç»­åˆå¹¶" + +#: directorymergewindow.cpp:1840 +msgid "Continue With Last Item" +msgstr "继续进行上一项" + +#: directorymergewindow.cpp:1840 +msgid "Skip Item" +msgstr "跳过项目" + +#: directorymergewindow.cpp:1874 +msgid "Skipped." +msgstr "已跳过。" + +#: directorymergewindow.cpp:1881 directorymergewindow.cpp:2107 +msgid "In progress..." +msgstr "进行中..." + +#: directorymergewindow.cpp:1929 +msgid "Merge operation complete." +msgstr "åˆå¹¶æ“作完æˆã€‚" + +#: directorymergewindow.cpp:1929 directorymergewindow.cpp:1932 +msgid "Merge Complete" +msgstr "åˆå¹¶å®Œæˆ" + +#: directorymergewindow.cpp:1941 +msgid "Simulated merge complete: Check if you agree with the proposed operations." +msgstr "模拟åˆå¹¶å®Œæˆï¼šæ ¸å¯¹æ‚¨æ˜¯å¦èµžåŒè¢«æè®®çš„æ“ä½œã€‚" + +#: directorymergewindow.cpp:1977 +msgid "" +"An error occurred. Press OK to see detailed information.\n" +msgstr "" +"错误å‘生。按 OK 看详细信æ¯ã€‚\n" + +#: directorymergewindow.cpp:2020 +msgid "Error: While deleting %1: Creating backup failed." +msgstr "错误:在删除 %1 时:创建备份失败。" + +#: directorymergewindow.cpp:2027 +msgid "delete directory recursively( %1 )" +msgstr "递归删除目录( %1 )" + +#: directorymergewindow.cpp:2029 +msgid "delete( %1 )" +msgstr "删除( %1 )" + +#: directorymergewindow.cpp:2044 +msgid "Error: delete dir operation failed while trying to read the directory." +msgstr "错误:在试图读å–目录时删除目录æ“作失败。" + +#: directorymergewindow.cpp:2063 +msgid "Error: rmdir( %1 ) operation failed." +msgstr "错误:rmdir( %1 )æ“作失败。" + +#: directorymergewindow.cpp:2073 +msgid "Error: delete operation failed." +msgstr "错误:删除æ“作失败。" + +#: directorymergewindow.cpp:2099 +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." +msgstr " 注æ„:在手动åˆå¹¶ä¹‹åŽç”¨æˆ·åº”该按 F7 继续。" + +#: directorymergewindow.cpp:2125 +msgid "Error: copy( %1 -> %2 ) failed.Deleting existing destination failed." +msgstr "错误:å¤åˆ¶( %1 -> %2 )失败。删除现存目标失败。" + +#: directorymergewindow.cpp:2135 +msgid "copyLink( %1 -> %2 )" +msgstr "å¤åˆ¶é“¾ç»“( %1 -> %2 )" + +#: directorymergewindow.cpp:2146 +msgid "Error: copyLink failed: Remote links are not yet supported." +msgstr "错误:å¤åˆ¶é“¾ç»“失败:远程链结尚未支æŒã€‚" + +#: directorymergewindow.cpp:2152 +msgid "Error: copyLink failed." +msgstr "错误:å¤åˆ¶é“¾ç»“失败。" + +#: directorymergewindow.cpp:2172 +msgid "copy( %1 -> %2 )" +msgstr "å¤åˆ¶( %1 -> %2 )" + +#: directorymergewindow.cpp:2198 +msgid "Error during rename( %1 -> %2 ): Cannot delete existing destination." +msgstr "é‡å‘½å( %1 -> %2 )错误:无法删除现存目标。" + +#: directorymergewindow.cpp:2204 +msgid "rename( %1 -> %2 )" +msgstr "é‡å‘½å( %1 -> %2 )" + +#: directorymergewindow.cpp:2213 +msgid "Error: Rename failed." +msgstr "错误:é‡å‘½å失败。" + +#: directorymergewindow.cpp:2231 +msgid "Error during makeDir of %1. Cannot delete existing file." +msgstr "建立目录 %1 出错。无法删除现存文件。" + +#: directorymergewindow.cpp:2247 +msgid "makeDir( %1 )" +msgstr "建立目录( %1 )" + +#: 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 +msgid "Last Modification" +msgstr "上次修改" + +#: directorymergewindow.cpp:2289 +msgid "Link-Destination" +msgstr "链接目标" + +#: directorymergewindow.cpp:2330 +msgid "not available" +msgstr "ä¸å¯ç”¨" + +#: directorymergewindow.cpp:2350 +msgid "A (Dest): " +msgstr "A (目标):" + +#: directorymergewindow.cpp:2353 +msgid "A (Base): " +msgstr "A 基准" + +#: directorymergewindow.cpp:2359 +msgid "B (Dest): " +msgstr "B (目标):" + +#: directorymergewindow.cpp:2367 +msgid "C (Dest): " +msgstr "C (目标):" + +#: directorymergewindow.cpp:2373 +msgid "Dest: " +msgstr "目标:" + +#: directorymergewindow.cpp:2398 +msgid "Start/Continue Directory Merge" +msgstr "开始/ç»§ç»­ 目录åˆå¹¶" + +#: 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 "选择 A 的所有项目" + +#: directorymergewindow.cpp:2406 +msgid "Choose B for All Items" +msgstr "选择 B 的所有项目" + +#: directorymergewindow.cpp:2407 +msgid "Choose C for All Items" +msgstr "选择 C 的所有项目" + +#: directorymergewindow.cpp:2408 +msgid "Auto-Choose Operation for All Items" +msgstr "为所有项目自动选择æ“作" + +#: directorymergewindow.cpp:2409 +msgid "No Operation for All Items" +msgstr "所有项目无æ“作" + +#: directorymergewindow.cpp:2411 directorymergewindow.cpp:2418 +msgid "Do Nothing" +msgstr "什么也ä¸åš" + +#: directorymergewindow.cpp:2412 +msgid "A" +msgstr "A" + +#: directorymergewindow.cpp:2413 +msgid "B" +msgstr "B" + +#: directorymergewindow.cpp:2414 +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 +msgid "" +"While trying to make a backup, deleting an older backup failed. \n" +"Filename: " +msgstr "" +"试图åšå¤‡ä»½æ—¶ï¼Œåˆ é™¤æ—§å¤‡ä»½å¤±è´¥ã€‚\n" +"文件å:" + +#: fileaccess.cpp:547 +msgid "" +"While trying to make a backup, renaming failed. \n" +"Filenames: " +msgstr "" +"试图备份时,é‡å‘½å失败。\n" +"文件å:" + +#: fileaccess.cpp:569 +#, c-format +msgid "Getting file status: %1" +msgstr "èŽ·å–æ–‡ä»¶çжæ€ï¼š %1" + +#: fileaccess.cpp:612 +#, c-format +msgid "Reading file: %1" +msgstr "è¯»å–æ–‡ä»¶ï¼š %1" + +#: fileaccess.cpp:648 +#, c-format +msgid "Writing file: %1" +msgstr "正在写文件: %1" + +#: fileaccess.cpp:676 +msgid "Out of memory" +msgstr "内存溢出" + +#: fileaccess.cpp:711 +#, c-format +msgid "Making directory: %1" +msgstr "建立目录: %1" + +#: fileaccess.cpp:731 +#, c-format +msgid "Removing directory: %1" +msgstr "删除目录: %1" + +#: fileaccess.cpp:746 +#, c-format +msgid "Removing file: %1" +msgstr "删除文件: %1" + +#: fileaccess.cpp:762 +msgid "Creating symbolic link: %1 -> %2" +msgstr "创建符å·é“¾æŽ¥ï¼š %1 -> %2" + +#: fileaccess.cpp:788 +msgid "Renaming file: %1 -> %2" +msgstr "é‡å‘½å文件: %1 -> %2" + +#: fileaccess.cpp:824 +msgid "Copying file: %1 -> %2" +msgstr "å¤åˆ¶æ–‡ä»¶ï¼š %1 -> %2" + +#: fileaccess.cpp:838 +#, c-format +msgid "" +"Error during file copy operation: Opening file for reading failed. Filename: " +"%1" +msgstr "文件å¤åˆ¶æ“作出错:打开文件读å–失败。文件å:%1" + +#: fileaccess.cpp:844 +#, c-format +msgid "" +"Error during file copy operation: Opening file for writing failed. Filename: " +"%1" +msgstr "文件å¤åˆ¶æ“作出错:打开文件写入失败。文件å:%1" + +#: fileaccess.cpp:859 +#, c-format +msgid "Error during file copy operation: Reading failed. Filename: %1" +msgstr "文件å¤åˆ¶æ“作出错:读å–失败。文件å: %1" + +#: fileaccess.cpp:868 +#, c-format +msgid "Error during file copy operation: Writing failed. Filename: %1" +msgstr "文件å¤åˆ¶æ“作出错:写入失败。文件å: %1" + +#: fileaccess.cpp:1171 +msgid "Reading directory: " +msgstr "读å–目录:" + +#: fileaccess.cpp:1297 +#, c-format +msgid "Listing directory: %1" +msgstr "目录列表: %1" + +#: kdiff3.cpp:135 +msgid "Option --auto used, but no output file specified." +msgstr "选项 -- 自动使用,但没有指定输出文件。" + +#: kdiff3.cpp:241 +msgid "Option --auto ignored for directory comparison." +msgstr "选项 -- 自动忽略目录比较。" + +#: kdiff3.cpp:277 +msgid "Saving failed." +msgstr "ä¿å­˜å¤±è´¥ã€‚" + +#: kdiff3.cpp:301 pdiff.cpp:1210 pdiff.cpp:1274 +msgid "Opening of these files failed:" +msgstr "打开以下文件失败:" + +#: kdiff3.cpp:310 +msgid "File Open Error" +msgstr "文件打开出错" + +#: kdiff3.cpp:329 +msgid "Opens documents for comparison..." +msgstr "打开文档比较..." + +#: kdiff3.cpp:331 +msgid "Saves the merge result. All conflicts must be solved!" +msgstr "ä¿å­˜åˆå¹¶ç»“果。所有冲çªå¿…须解决ï¼" + +#: kdiff3.cpp:333 +msgid "Saves the current document as..." +msgstr "ä¿å­˜å½“剿–‡æ¡£ä¸º..." + +#: kdiff3.cpp:335 +msgid "Quits the application" +msgstr "退出程åº" + +#: kdiff3.cpp:337 +msgid "Cuts the selected section and puts it to the clipboard" +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 +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..." + +#: kdiff3.cpp:374 +msgid "Go to Current Delta" +msgstr "åˆ°å½“å‰ Delta" + +#: kdiff3.cpp:375 +msgid "Go to First Delta" +msgstr "到第一个 Delta" + +#: kdiff3.cpp:376 +msgid "Go to Last Delta" +msgstr "到最åŽä¸€ä¸ª Delta" + +#: kdiff3.cpp:377 +msgid "Go to Previous Delta" +msgstr "到å‰ä¸€ä¸ª Delta" + +#: kdiff3.cpp:378 +msgid "Go to Next Delta" +msgstr "到下一个 Delta" + +#: kdiff3.cpp:379 +msgid "Go to Previous Conflict" +msgstr "到å‰ä¸€ä¸ªå†²çª" + +#: kdiff3.cpp:380 +msgid "Go to Next Conflict" +msgstr "到下一个冲çª" + +#: kdiff3.cpp:381 +msgid "Go to Previous Unsolved Conflict" +msgstr "到å‰ä¸€ä¸ªæœªè§£å†³å†²çª" + +#: kdiff3.cpp:382 +msgid "Go to Next Unsolved Conflict" +msgstr "到下一个未解决冲çª" + +#: kdiff3.cpp:383 +msgid "Select Line(s) From A" +msgstr "从 A 选择 行" + +#: kdiff3.cpp:384 +msgid "Select Line(s) From B" +msgstr "从 B 选择行" + +#: kdiff3.cpp:385 +msgid "Select Line(s) From C" +msgstr "从 C 选择行" + +#: kdiff3.cpp:386 +msgid "Automatically Go to Next Unsolved Conflict After Source Selection" +msgstr "æºç é€‰æ‹©åŽè‡ªåŠ¨åˆ°ä¸‹ä¸€ä¸ªæœªè§£å†³å†²çª" + +#: kdiff3.cpp:388 +msgid "Show Space && Tabulator Characters for Differences" +msgstr "显示间è·å’Œåˆ¶è¡¨ç¬¦çš„ä¸åŒ" + +#: kdiff3.cpp:389 +msgid "Show White Space" +msgstr "显示空白间è·" + +#: kdiff3.cpp:391 +msgid "Show Line Numbers" +msgstr "显示行数" + +#: kdiff3.cpp:392 +msgid "Choose A Everywhere" +msgstr "选择 A 所有" + +#: kdiff3.cpp:393 +msgid "Choose B Everywhere" +msgstr "选择 B 所有" + +#: kdiff3.cpp:394 +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 +msgid "Automatically Solve Simple Conflicts" +msgstr "自动解决简å•冲çª" + +#: kdiff3.cpp:402 +msgid "Set Deltas to Conflicts" +msgstr "设置 Delta 为冲çª" + +#: kdiff3.cpp:404 +msgid "Show Window A" +msgstr "æ˜¾ç¤ºçª—å£ A" + +#: kdiff3.cpp:405 +msgid "Show Window B" +msgstr "æ˜¾ç¤ºçª—å£ B" + +#: kdiff3.cpp:406 +msgid "Show Window C" +msgstr "æ˜¾ç¤ºçª—å£ C" + +#: kdiff3.cpp:407 kdiff3.cpp:416 +msgid "Focus Next Window" +msgstr "èšç„¦äºŽä¸‹ä¸€ä¸ªçª—å£" + +#: kdiff3.cpp:409 +msgid "Normal Overview" +msgstr "" + +#: 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 +msgid "Toggle Split Orientation" +msgstr "切æ¢åˆ†é𔿖¹å‘" + +#: 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 +msgid "Saving file..." +msgstr "ä¿å­˜æ–‡ä»¶..." + +#: kdiff3.cpp:563 +msgid "Saving file with a new filename..." +msgstr "用新文件åä¿å­˜æ–‡ä»¶..." + +#: kdiff3.cpp:587 +msgid "Exiting..." +msgstr "退出..." + +#: kdiff3.cpp:599 +msgid "Toggling toolbar..." +msgstr "切æ¢å·¥å…·æ ..." + +#: kdiff3.cpp:619 +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 +msgid "Couldn't find files for comparison." +msgstr "无法找到文件比较。" + +#: kdiff3_part.cpp:266 +msgid "KDiff3Part" +msgstr "KDiff3Part" + +#: kdiff3_shell.cpp:63 +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 "文本比较åŠåˆå¹¶å·¥å…·" + +#: main.cpp:35 +msgid "Merge the input." +msgstr "åˆå¹¶è¾“å…¥" + +#: main.cpp:37 +msgid "Explicit base file. For compatibility with certain tools." +msgstr "明确基准文件,以便与æŸäº›å·¥å…·å…¼å®¹ã€‚" + +#: main.cpp:39 +msgid "Output file. Implies -m. E.g.: -o newfile.txt" +msgstr "输出文件。Implies -m。例如:-o newfile.txt" + +#: main.cpp:40 +msgid "Output file, again. (For compatibility with certain tools.)" +msgstr "冿¬¡è¾“出文件。(为与æŸäº›å·¥å…·å…¼å®¹ã€‚)" + +#: main.cpp:41 +msgid "No GUI if all conflicts are auto-solvable. (Needs -o file)" +msgstr "如果所有冲çªè‡ªåŠ¨è§£å†³æ— å›¾å½¢ç”¨æˆ·ç•Œé¢ã€‚(éœ€è¦ -o file)" + +#: main.cpp:42 +msgid "Don't solve conflicts automatically. (For compatibility...)" +msgstr "ä¸è‡ªåŠ¨è§£å†³å†²çªã€‚(为了兼容性...)" + +#: main.cpp:43 +#, 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 "file1 to open (base, if not specified via --base)" +msgstr "è¦æ‰“开的文件(基准文件,如果未通过 --base 指定)" + +#: main.cpp:53 +msgid "file2 to open" +msgstr "è¦æ‰“开的文件 2" + +#: main.cpp:54 +msgid "file3 to open" +msgstr "è¦æ‰“开的文件 3" + +#: main.cpp:108 rc.cpp:3 +msgid "KDiff3" +msgstr "KDiff3" + +#: main.cpp:120 +msgid "+ Many thanks to those who reported bugs and contributed ideas!" +msgstr "" + +#: mergeresultwindow.cpp:254 +msgid "" +"The output has been modified.\n" +"If you continue your changes will be lost." +msgstr "" +"输出已被修改。\n" +"如果您继续您的改å˜å°†ä¸¢å¤±ã€‚" + +#: mergeresultwindow.cpp:726 pdiff.cpp:483 +msgid "All input files are binary equal." +msgstr "所有输入文件二进制数æ®ç›¸åŒã€‚" + +#: mergeresultwindow.cpp:728 pdiff.cpp:485 +msgid "All input files contain the same text." +msgstr "所有输入文件包å«ç›¸åŒæ–‡æœ¬ã€‚" + +#: mergeresultwindow.cpp:730 pdiff.cpp:487 +msgid "" +"Files A and B are binary equal.\n" +msgstr "" +"文件 A å’Œ B 二进制数æ®ç›¸åŒã€‚\n" + +#: mergeresultwindow.cpp:731 pdiff.cpp:488 +msgid "" +"Files A and B have equal text. \n" +msgstr "" +"文件 A å’Œ B 文本相åŒã€‚\n" + +#: mergeresultwindow.cpp:732 pdiff.cpp:489 +msgid "" +"Files A and C are binary equal.\n" +msgstr "" +"文件 A å’Œ C 二进制数æ®ç›¸åŒã€‚\n" + +#: mergeresultwindow.cpp:733 pdiff.cpp:490 +msgid "" +"Files A and C have equal text. \n" +msgstr "" +"文件 A å’Œ C 文本相åŒã€‚\n" + +#: mergeresultwindow.cpp:734 pdiff.cpp:491 +msgid "" +"Files B and C are binary equal.\n" +msgstr "" +"文件 B å’Œ C 二进制数æ®ç›¸åŒã€‚\n" + +#: mergeresultwindow.cpp:735 pdiff.cpp:492 +msgid "" +"Files B and C have equal text. \n" +msgstr "" +"文件 B å’Œ C 文本相åŒã€‚\n" + +#: mergeresultwindow.cpp:738 +msgid "Total number of conflicts: " +msgstr "å†²çªæ€»æ•°ï¼š" + +#: mergeresultwindow.cpp:739 +msgid "" +"\n" +"Nr of automatically solved conflicts: " +msgstr "" +"\n" +"è‡ªåŠ¨è§£å†³å†²çªæ•°ç›®ï¼š" + +#: mergeresultwindow.cpp:740 +msgid "" +"\n" +"Nr of unsolved conflicts: " +msgstr "" +"\n" +"æœªè§£å†³å†²çªæ•°ç›®ï¼š" + +#: mergeresultwindow.cpp:742 +msgid "Conflicts" +msgstr "冲çª" + +#: mergeresultwindow.cpp:1081 +msgid "" +msgstr "<æ— æºè¡Œ>" + +#: mergeresultwindow.cpp:1088 mergeresultwindow.cpp:1853 +msgid "" +msgstr "<åˆå¹¶å†²çª>" + +#: mergeresultwindow.cpp:1155 +msgid "Output" +msgstr "" + +#: mergeresultwindow.cpp:1157 +msgid "[Modified]" +msgstr "[已修改]" + +#: mergeresultwindow.cpp:2067 +msgid "" +"Not all conflicts are solved yet.\n" +"File not saved.\n" +msgstr "" +"尚未解决所有冲çªã€‚\n" +"文件未ä¿å­˜ã€‚\n" + +#: mergeresultwindow.cpp:2069 +msgid "Conflicts Left" +msgstr "冲çªé—ç•™" + +#: mergeresultwindow.cpp:2081 +msgid "" +"\n" +"\n" +"File not saved." +msgstr "" +"\n" +"\n" +"文件未ä¿å­˜ã€‚" + +#: mergeresultwindow.cpp:2081 mergeresultwindow.cpp:2142 +msgid "File Save Error" +msgstr "文件ä¿å­˜é”™è¯¯" + +#: mergeresultwindow.cpp:2097 +msgid "Out of memory while preparing to save." +msgstr "准备ä¿å­˜æ—¶å†…存溢出。" + +#: mergeresultwindow.cpp:2142 +msgid "Error while writing." +msgstr "写入时出错。" + +#: optiondialog.cpp:330 +msgid "Editor & Diff Output Font" +msgstr "编辑器和差别输出字体" + +#: optiondialog.cpp:342 +msgid "Italic font for deltas" +msgstr "delta 使用斜体字" + +#: optiondialog.cpp:345 +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 +msgid "Color" +msgstr "颜色" + +#: optiondialog.cpp:353 +msgid "Colors in Editor & Diff Output" +msgstr "编辑器和差别输出颜色" + +#: optiondialog.cpp:367 +msgid "Foreground color:" +msgstr "剿™¯é¢œè‰²ï¼š" + +#: optiondialog.cpp:373 +msgid "Background color:" +msgstr "背景颜色:" + +#: optiondialog.cpp:380 +msgid "Diff background color:" +msgstr "差别背景颜色:" + +#: optiondialog.cpp:387 +msgid "Color A:" +msgstr "颜色 A:" + +#: optiondialog.cpp:394 +msgid "Color B:" +msgstr "颜色 B:" + +#: optiondialog.cpp:401 +msgid "Color C:" +msgstr "颜色 C:" + +#: optiondialog.cpp:407 +msgid "Conflict color:" +msgstr "冲çªé¢œè‰²ï¼š" + +#: optiondialog.cpp:414 +msgid "Current range background color:" +msgstr "当å‰èŒƒå›´èƒŒæ™¯é¢œè‰²ï¼š" + +#: optiondialog.cpp:421 +msgid "Current range diff background color:" +msgstr "当å‰èŒƒå›´å·®åˆ«èƒŒæ™¯é¢œè‰²ï¼š" + +#: optiondialog.cpp:432 +msgid "Editor" +msgstr "编辑器" + +#: optiondialog.cpp:432 +msgid "Editor Behaviour" +msgstr "编辑器行为" + +#: optiondialog.cpp:441 +msgid "Tab inserts spaces" +msgstr "标签æ’入间è·" + +#: optiondialog.cpp:444 +msgid "" +"On: Pressing tab generates the appropriate number of spaces.\n" +"Off: A Tab-character will be inserted." +msgstr "" +"打开:按动标签则生æˆåˆé€‚çš„é—´è·æ•°ã€‚\n" +"关闭:一个标签字符将被æ’入。" + +#: optiondialog.cpp:450 +msgid "Tab size:" +msgstr "标签大å°ï¼š" + +#: optiondialog.cpp:455 +msgid "Auto indentation" +msgstr "自动缩进" + +#: optiondialog.cpp:458 +msgid "" +"On: The indentation of the previous line is used for a new line.\n" +msgstr "" +"打开:使用å‰ä¸€è¡Œçš„缩进于新一行。\n" + +#: optiondialog.cpp:462 +msgid "Auto copy selection" +msgstr "自动å¤åˆ¶é€‰æ‹©" + +#: optiondialog.cpp:465 +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:" +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 +#, 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 "Preserve carriage return" +msgstr "ä¿ç•™å›žè½¦" + +#: optiondialog.cpp:513 +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 +msgid "Ignore numbers" +msgstr "忽略数字" + +#: optiondialog.cpp:521 +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:526 +msgid "Ignore C/C++ Comments" +msgstr "忽略 C/C++ 注解" + +#: optiondialog.cpp:528 +msgid "Treat C/C++ comments like white space." +msgstr "按空白间è·å¤„ç† C/C++ 注解" + +#: optiondialog.cpp:532 +#, fuzzy +msgid "Ignore case" +msgstr "忽略数字" + +#: optiondialog.cpp:535 +msgid "Treat case differences like white space changes. ('a'<=>'A')" +msgstr "" + +#: optiondialog.cpp:539 +msgid "Preprocessor command:" +msgstr "预处ç†ç¨‹åºå‘½ä»¤ï¼š" + +#: optiondialog.cpp:543 +msgid "User defined pre-processing. (See the docs for details.)" +msgstr "用户定义预处ç†ã€‚(è¯¦ç»†å†…å®¹è§ docs。)" + +#: optiondialog.cpp:546 +msgid "Line-matching preprocessor command:" +msgstr "行匹é…预处ç†å‘½ä»¤ï¼š" + +#: optiondialog.cpp:550 +msgid "" +"This pre-processor is only used during line matching.\n" +"(See the docs for details.)" +msgstr "" +"此预处ç†ä»…åœ¨è¡ŒåŒ¹é…æ—¶ä½¿ç”¨ã€‚\n" +"(è¯¦ç»†å†…å®¹è§ docs。)" + +#: optiondialog.cpp:553 +msgid "Try hard (slower)" +msgstr "å°½é‡ä»”细(较慢)" + +#: optiondialog.cpp:556 +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 +msgid "Auto advance delay (ms):" +msgstr "自动å‰è¿›å»¶è¿Ÿ(毫秒):" + +#: optiondialog.cpp:566 +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: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 +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 +msgid "Directory Merge" +msgstr "目录åˆå¹¶" + +#: optiondialog.cpp:611 +msgid "Recursive directories" +msgstr "递归目录" + +#: optiondialog.cpp:613 +msgid "Whether to analyze subdirectories or not." +msgstr "是å¦åˆ†æžå­ç›®å½•。" + +#: optiondialog.cpp:615 +msgid "File pattern(s):" +msgstr "文件模æ¿ï¼š" + +#: optiondialog.cpp:620 +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:626 +msgid "File-anti-pattern(s):" +msgstr "排除文件模æ¿ï¼š" + +#: optiondialog.cpp:631 +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:637 +msgid "Dir-anti-pattern(s):" +msgstr "排除目录模æ¿ï¼š" + +#: optiondialog.cpp:642 +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:648 +msgid "Use .cvsignore" +msgstr "使用 .cvsignore" + +#: optiondialog.cpp:651 +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 +msgid "Find hidden files and directories" +msgstr "查找éšè—目录和文件" + +#: optiondialog.cpp:659 +msgid "Finds files and directories with the hidden attribute." +msgstr "查找具有éšè—属性的文件和目录。" + +#: optiondialog.cpp:661 +msgid "Finds files and directories starting with '.'." +msgstr "查找以“.â€å¼€å¤´çš„æ–‡ä»¶å’Œç›®å½•。" + +#: optiondialog.cpp:665 +msgid "Follow file links" +msgstr "追踪文件链接" + +#: optiondialog.cpp:668 +msgid "" +"On: Compare the file the link points to.\n" +"Off: Compare the links." +msgstr "" +"打开:比较链接指å‘的文件。\n" +"关闭:比较链接。" + +#: optiondialog.cpp:673 +msgid "Follow directory links" +msgstr "追踪目录链接" + +#: optiondialog.cpp:676 +msgid "" +"On: Compare the directory the link points to.\n" +"Off: Compare the links." +msgstr "" +"打开:比较链接指å‘的目录。\n" +"关闭:比较链接。" + +#: optiondialog.cpp:681 +msgid "List only deltas" +msgstr "仅列表 delta" + +#: optiondialog.cpp:684 +msgid "Files and directories without change will not appear in the list." +msgstr "未改å˜çš„æ–‡ä»¶å’Œç›®å½•ä¸ä¼šåœ¨åˆ—表显示。" + +#: optiondialog.cpp:687 +msgid "File Comparison Mode" +msgstr "" + +#: optiondialog.cpp:691 +#, fuzzy +msgid "Binary Comparison" +msgstr "目录比较状æ€" + +#: optiondialog.cpp:692 +msgid "Binary comparison of each file. (Default)" +msgstr "" + +#: optiondialog.cpp:694 +msgid "Full Analysis" +msgstr "" + +#: optiondialog.cpp:695 +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 +msgid "Trust the modification date (unsafe)" +msgstr "信任修改日期(ä¸å®‰å…¨)" + +#: optiondialog.cpp:699 +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 +msgid "Trust the size (unsafe)" +msgstr "信任大å°(ä¸å®‰å…¨)" + +#: optiondialog.cpp:703 +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 +msgid "Synchronize directories" +msgstr "åŒæ­¥ç›®å½•" + +#: optiondialog.cpp:710 +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:715 +msgid "Copy newer instead of merging (unsafe)" +msgstr "å¤åˆ¶è¾ƒæ–°è€Œä¸åˆå¹¶(ä¸å®‰å…¨)" + +#: optiondialog.cpp:718 +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 +msgid "Backup files (.orig)" +msgstr "备份文件(.orig)" + +#: optiondialog.cpp:726 +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 +msgid "Regional Settings" +msgstr "" + +#: optiondialog.cpp:762 +msgid "Language (restart required)" +msgstr "" + +#: optiondialog.cpp:766 +msgid "Auto" +msgstr "" + +#: optiondialog.cpp:783 +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 +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:829 +msgid "Incompatible Font" +msgstr "ä¸å…¼å®¹å­—体" + +#: optiondialog.cpp:830 +msgid "Continue at Own Risk" +msgstr "自愿冒险继续" + +#: optiondialog.cpp:830 +msgid "Select Another Font" +msgstr "选择å¦ä¸€ç§å­—体" + +#: optiondialog.cpp:858 +msgid "This resets all options. Not only those of the current topic." +msgstr "这将é‡ç½®æ‰€æœ‰é€‰é¡¹ï¼Œä¸ä»…是当å‰å†…容。" + +#: pdiff.cpp:257 +#, fuzzy +msgid "PreprocessorCmd: " +msgstr "预处ç†ç¨‹åºå‘½ä»¤ï¼š" + +#: pdiff.cpp:262 +msgid "" +"The following option(s) you selected might change data:\n" +msgstr "" + +#: pdiff.cpp:263 +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 "" + +#: pdiff.cpp:266 +msgid "Use these options during the merge" +msgstr "" + +#: pdiff.cpp:266 +msgid "Disable unsafe options" +msgstr "" + +#: pdiff.cpp:293 +msgid "Loading A" +msgstr "加载 A" + +#: pdiff.cpp:297 +msgid "Loading B" +msgstr "加载 B" + +#: pdiff.cpp:306 pdiff.cpp:329 +msgid "Diff: A <-> B" +msgstr "差别: A <-> B" + +#: pdiff.cpp:312 pdiff.cpp:349 +msgid "Linediff: A <-> B" +msgstr "行差别: A <-> B" + +#: pdiff.cpp:321 +msgid "Loading C" +msgstr "加载 C" + +#: pdiff.cpp:332 +msgid "Diff: B <-> C" +msgstr "差别: B <-> C" + +#: pdiff.cpp:335 +msgid "Diff: A <-> C" +msgstr "差别: A <-> C" + +#: pdiff.cpp:352 +msgid "Linediff: B <-> C" +msgstr "行差别: B <-> C" + +#: pdiff.cpp:355 +msgid "Linediff: A <-> C" +msgstr "行差别: A <-> C" + +#: pdiff.cpp:502 +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:929 +msgid "A (Base):" +msgstr "A (基文件):" + +#: pdiff.cpp:935 pdiff.cpp:951 pdiff.cpp:967 pdiff.cpp:986 +msgid "File..." +msgstr "文件..." + +#: pdiff.cpp:937 pdiff.cpp:953 pdiff.cpp:969 pdiff.cpp:988 +msgid "Dir..." +msgstr "目录..." + +#: pdiff.cpp:962 +msgid "C (Optional):" +msgstr "C (å¯é€‰):" + +#: pdiff.cpp:981 +msgid "Output (optional):" +msgstr "输出(å¯é€‰):" + +#: pdiff.cpp:1010 +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" +msgstr "" + +#: rc.cpp:10 +msgid "&Merge" +msgstr "åˆå¹¶(&M)" + +#: rc.cpp:11 +msgid "&Window" +msgstr "窗å£(&W)" + +#, 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" +#~ "外部比较选项暂时ç¦ç”¨ï¼Œä½¿ç”¨å†…部比较。" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/Makefile.qt --- a/kdiff3/src/Makefile.qt Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/Makefile.qt Thu Sep 16 02:40:08 2004 +0000 @@ -12,8 +12,8 @@ CXX = g++ LEX = flex YACC = yacc -CFLAGS = -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -Wall -W -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -CXXFLAGS = -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -Wall -W -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT +CFLAGS = -pipe -O2 -march=i586 -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 -march=i586 -Wall -W -fmessage-length=0 -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 diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/common.h --- a/kdiff3/src/common.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/common.h Thu Sep 16 02:40:08 2004 +0000 @@ -18,6 +18,8 @@ #ifndef _COMMON_H #define _COMMON_H +#include + template< class T > T min2( T x, T y ) { diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/diff.cpp --- a/kdiff3/src/diff.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/diff.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -162,6 +162,7 @@ void SourceData::reset() { + m_fileAccess = FileAccess(); m_normalData.reset(); m_lmppData.reset(); if ( !m_tempInputFileName.isEmpty() ) @@ -194,6 +195,11 @@ return m_normalData.m_pBuf != 0; } +bool SourceData::isValid() +{ + return isEmpty() || hasData(); +} + void SourceData::setOptionDialog( OptionDialog* pOptionDialog ) { m_pOptionDialog = pOptionDialog; @@ -283,7 +289,8 @@ bool SourceData::isBinaryEqualWith( const SourceData& other ) const { - return getSizeBytes() == other.getSizeBytes() && memcmp( getBuf(), other.getBuf(), getSizeBytes() )==0; + return getSizeBytes() == other.getSizeBytes() && + ( getSizeBytes()==0 || memcmp( getBuf(), other.getBuf(), getSizeBytes() )==0 ); } void SourceData::FileData::reset() @@ -373,7 +380,7 @@ FileAccess faIn(fileNameIn1); int fileInSize = faIn.size(); - if ( fileInSize > 0 ) + if ( faIn.exists() ) // fileInSize > 0 ) { #ifdef _WIN32 @@ -406,44 +413,11 @@ m_normalData.readFile( fileNameIn1 ); } } - - // Internal Preprocessing: Uppercase-conversion - bool bInternalPreprocessing = false; - if ( m_pOptionDialog->m_bUpCase ) - { - int i; - char* pBuf = const_cast(m_normalData.m_pBuf); - for(i=0; im_LineMatchingPreProcessorCmd.isEmpty() ) { - if ( bInternalPreprocessing ) - { - // write data to file after internal preprocessing before running the external LMPP-cmd. - if ( !fileNameOut1.isEmpty() ) - { - FileAccess::removeFile( fileNameOut1 ); - fileNameOut1=""; - } - - fileNameIn2 = FileAccess::tempFileName(); - bool bSuccess = m_normalData.writeFile( fileNameIn2 ); - if ( !bSuccess ) - { - KMessageBox::error(m_pOptionDialog, i18n("Error writing temporary file: %1").arg(fileNameIn2) ); - } - } - else - { - fileNameIn2 = fileNameOut1.isEmpty() ? fileNameIn1 : fileNameOut1; - } + fileNameIn2 = fileNameOut1.isEmpty() ? fileNameIn1 : fileNameOut1; QString ppCmd = m_pOptionDialog->m_LineMatchingPreProcessorCmd; fileNameOut2 = FileAccess::tempFileName(); @@ -460,14 +434,8 @@ m_lmppData.readFile( fileNameIn2 ); } FileAccess::removeFile( fileNameOut2 ); - - if ( bInternalPreprocessing && !fileNameIn2.isEmpty() ) - { - FileAccess::removeFile( fileNameIn2 ); - fileNameIn2=""; - } } - else if ( m_pOptionDialog->m_bIgnoreComments ) + else if ( m_pOptionDialog->m_bIgnoreComments || m_pOptionDialog->m_bIgnoreCase ) { // We need a copy of the normal data. m_lmppData.copyBufFrom( m_normalData ); @@ -492,7 +460,18 @@ m_lmppData.m_vSize = m_normalData.m_vSize; } - + + // Internal Preprocessing: Uppercase-conversion + if ( m_pOptionDialog->m_bIgnoreCase ) + { + int i; + char* pBuf = const_cast(m_lmppData.m_pBuf); + for(i=0; im_bIgnoreComments ) { @@ -1498,6 +1477,7 @@ ) { // Finetuning: Diff each line with deltas + ProgressProxy pp; int maxSearchLength=500; Diff3LineList::iterator i; int k1=0; @@ -1560,16 +1540,16 @@ } } ++listIdx; - g_pProgressDialog->setSubCurrent(double(listIdx)/listSize); + pp.setCurrent(double(listIdx)/listSize); } } // Convert the list to a vector of pointers -void calcDiff3LineVector( const Diff3LineList& d3ll, Diff3LineVector& d3lv ) +void calcDiff3LineVector( Diff3LineList& d3ll, Diff3LineVector& d3lv ) { d3lv.resize( d3ll.size() ); - Diff3LineList::const_iterator i; + Diff3LineList::iterator i; int j=0; for( i= d3ll.begin(); i!= d3ll.end(); ++i, ++j) { diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/diff.h --- a/kdiff3/src/diff.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/diff.h Thu Sep 16 02:40:08 2004 +0000 @@ -62,11 +62,15 @@ bool bWhiteLineB; bool bWhiteLineC; + int linesNeededForDisplay; // Due to wordwrap + int sumLinesNeededForDisplay; // For fast conversion to m_diff3WrapLineVector + Diff3Line() { lineA=-1; lineB=-1; lineC=-1; bAEqC=false; bAEqB=false; bBEqC=false; pFineAB=0; pFineBC=0; pFineCA=0; + linesNeededForDisplay=1; } ~Diff3Line() @@ -84,14 +88,31 @@ } }; + typedef std::list Diff3LineList; -typedef std::vector Diff3LineVector; +typedef std::vector Diff3LineVector; + +class Diff3WrapLine +{ +public: + Diff3Line* pD3L; + int diff3LineIndex; + int wrapLineOffset; + int wrapLineLength; +}; + +typedef std::vector Diff3WrapLineVector; + class TotalDiffStatus { public: + TotalDiffStatus(){ reset(); } void reset() {bBinaryAEqC=false; bBinaryBEqC=false; bBinaryAEqB=false; - bTextAEqC=false; bTextBEqC=false; bTextAEqB=false;} + bTextAEqC=false; bTextBEqC=false; bTextAEqB=false; + nofUnsolvedConflicts=0; nofSolvedConflicts=0; + nofWhitespaceConflicts=0; + } bool bBinaryAEqC; bool bBinaryBEqC; bool bBinaryAEqB; @@ -99,6 +120,10 @@ bool bTextAEqC; bool bTextBEqC; bool bTextAEqB; + + int nofUnsolvedConflicts; + int nofSolvedConflicts; + int nofWhitespaceConflicts; }; void calcDiff3LineListUsingAB( @@ -155,6 +180,7 @@ bool isText(); // is it pure text (vs. binary data) bool isFromBuffer(); // was it set via setData() (vs. setFileAccess() or setFilename()) void setData( const QString& data ); + bool isValid(); // Either no file is specified or reading was successful void readAndPreprocess(); bool saveNormalDataAs( const QString& fileName ); @@ -192,7 +218,7 @@ void calcDiff3LineListTrim( Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC ); void calcWhiteDiff3Lines( Diff3LineList& d3ll, const LineData* pldA, const LineData* pldB, const LineData* pldC ); -void calcDiff3LineVector( const Diff3LineList& d3ll, Diff3LineVector& d3lv ); +void calcDiff3LineVector( Diff3LineList& d3ll, Diff3LineVector& d3lv ); void debugLineCheck( Diff3LineList& d3ll, int size, int idx ); @@ -268,6 +294,7 @@ virtual void paintEvent( QPaintEvent* ); virtual void dragEnterEvent( QDragEnterEvent* e ); + virtual void focusInEvent( QFocusEvent* e ); //void setData( const char* pText); virtual void resizeEvent( QResizeEvent* ); @@ -279,17 +306,27 @@ 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 QCString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive ); - void setSelection( int firstLine, int startPos, int lastLine, int endPos ); + 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 ); @@ -302,8 +339,10 @@ 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; @@ -328,12 +367,14 @@ DiffList*& pFineDiff1, DiffList*& pFineDiff2, // return values int& changed, int& changed2 ); - QCString getString( int line ); + QCString getString( int d3lIdx ); + QCString getLineString( int line ); void writeLine( QPainter& p, const LineData* pld, const DiffList* pLineDiff1, const DiffList* pLineDiff2, int line, - int whatChanged, int whatChanged2, int srcLineNr ); + int whatChanged, int whatChanged2, int srcLineNr, + int wrapLineOffset, int wrapLineLength, bool bWrapLine ); QStatusBar* m_pStatusBar; @@ -344,7 +385,9 @@ virtual void timerEvent(QTimerEvent*); bool m_bMyUpdate; void myUpdate(int afterMilliSecs ); - + + void showStatusLine( int line ); + QRect m_invalidRect; }; @@ -359,6 +402,10 @@ 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); @@ -373,10 +420,13 @@ 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 ); }; @@ -415,7 +465,8 @@ public: MergeResultWindow( QWidget* pParent, - OptionDialog* pOptionDialog + OptionDialog* pOptionDialog, + QStatusBar* pStatusBar ); void init( @@ -423,7 +474,7 @@ const LineData* pLineDataB, const LineData* pLineDataC, const Diff3LineList* pDiff3LineList, - const TotalDiffStatus* pTotalDiffStatus, + TotalDiffStatus* pTotalDiffStatus, QString fileName ); @@ -436,9 +487,6 @@ int getNofLines(); int getNofVisibleColumns(); int getNofVisibleLines(); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent* e ); - virtual void wheelEvent( QWheelEvent* e ); QString getSelection(); void resetSelection(); void showNrOfConflicts(); @@ -467,12 +515,13 @@ 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 sourceMask( int srcMask, int enabledMask ); void resizeSignal(); void selectionEnd(); void newSelection(); @@ -490,7 +539,7 @@ const LineData* m_pldC; const Diff3LineList* m_pDiff3LineList; - const TotalDiffStatus* m_pTotalDiffStatus; + TotalDiffStatus* m_pTotalDiffStatus; bool m_bPaintingAllowed; @@ -608,6 +657,10 @@ 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; @@ -628,14 +681,15 @@ int m_cursorOldXPos; bool m_bCursorOn; // blinking on and off each second QTimer m_cursorTimer; - + QStatusBar* m_pStatusBar; + Selection m_selection; bool deleteSelection2( const char*& ps, int& stringLength, int& x, int& y, MergeLineList::iterator& mlIt, MergeEditLineList::iterator& melIt ); public slots: void deleteSelection(); - void pasteClipboard(); + void pasteClipboard(bool bFromSelection); private slots: void slotCursorUpdate(); }; @@ -679,7 +733,7 @@ // Cursor conversions that consider g_tabSize. int convertToPosInText( const char* p, int size, int posOnScreen ); -int convertToPosOnScreen( const char* p, int posInText ); +int convertToPosOnScreen( const QString& p, int posInText ); void calcTokenPos( const char* p, int size, int posOnScreen, int& pos1, int& pos2 ); #endif diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/difftextwindow.cpp --- a/kdiff3/src/difftextwindow.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/difftextwindow.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -52,6 +53,7 @@ m_pStatusBar = pStatusBar; m_bPaintingAllowed = true; + m_bWordWrap = false; setFont(m_pOptionDialog->m_font); } @@ -70,6 +72,7 @@ m_pLineData = pLineData; m_size = size; m_pDiff3LineVector = pDiff3LineVector; + m_diff3WrapLineVector.clear(); m_winIdx = winIdx; m_firstLine = 0; @@ -110,30 +113,89 @@ void DiffTextWindow::setFirstLine(int firstLine) { - m_firstLine = max2(0,firstLine); - myUpdate(0); // Immediately + 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 ) + { + update( 0, height()-fontHeight*3, width(), fontHeight*3 ); + } + else if ( m_scrollDeltaY<0 ) + { + update( 0, 0, width(), topLineYOffset+fontHeight*2 ); + } + else + { + update( 0, 0, width(), topLineYOffset ); + } + + QRect r( 0, topLineYOffset, width(), height()-topLineYOffset ); + QWidget::scroll( 0, deltaY, r ); } void DiffTextWindow::setFirstColumn(int firstCol) { - m_firstColumn = max2(0,firstCol); - myUpdate(0); // Immediately + int fontHeight = fontMetrics().height(); + int fontWidth = fontMetrics().width('W'); + int topLineYOffset = fontHeight + 3; + int xOffset = leftInfoWidth * fontWidth; + + int newFirstColumn = max2(0,firstCol); + + int deltaX = fontWidth * ( m_firstColumn - newFirstColumn ); + + m_firstColumn = newFirstColumn; + + QRect r( xOffset, topLineYOffset, width()-xOffset, height()-topLineYOffset ); + + QWidget::scroll( deltaX, 0, r ); } int DiffTextWindow::getNofColumns() { - int nofColumns = 0; - for( int i = 0; i< m_size; ++i ) + if (m_bWordWrap) { - if ( m_pLineData[i].width() > nofColumns ) - nofColumns = m_pLineData[i].width(); + return getNofVisibleColumns(); } - return nofColumns; + else + { + int nofColumns = 0; + for( int i = 0; i< m_size; ++i ) + { + if ( m_pLineData[i].width() > nofColumns ) + nofColumns = m_pLineData[i].width(); + } + return nofColumns; + } } int DiffTextWindow::getNofLines() { - return m_pDiff3LineVector->size(); + return m_bWordWrap ? m_diff3WrapLineVector.size() : + 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; + 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; + else + return d3lIdx; } /** Returns a line number where the linerange [line, line+nofLines] can @@ -156,13 +218,17 @@ void DiffTextWindow::setFastSelectorRange( int line1, int nofLines ) -{ +{ m_fastSelectorLine1 = line1; m_fastSelectorNofLines = nofLines; - if ( isVisible() ) { - int newFirstLine = getBestFirstLine( line1, nofLines, m_firstLine, getNofVisibleLines() ); + int newFirstLine = getBestFirstLine( + convertDiff3LineIdxToLine(m_fastSelectorLine1), + convertDiff3LineIdxToLine(m_fastSelectorLine1+m_fastSelectorNofLines)-convertDiff3LineIdxToLine(m_fastSelectorLine1), + m_firstLine, + getNofVisibleLines() + ); if ( newFirstLine != m_firstLine ) { scroll( 0, newFirstLine - m_firstLine ); @@ -173,26 +239,32 @@ } -static void showStatusLine(int line, int winIdx, const QString& filename, const Diff3LineVector& d3lv, QStatusBar* sb) +void DiffTextWindow::showStatusLine(int line ) { + int d3lIdx = convertLineToDiff3LineIdx( line ); int l=0; - const Diff3Line* pD3l = d3lv[line]; - if(line >= 0 && line<(int)d3lv.size() && pD3l != 0 ) + const Diff3Line* pD3l = (*m_pDiff3LineVector)[d3lIdx]; + if(d3lIdx >= 0 && d3lIdx<(int)m_pDiff3LineVector->size() && pD3l != 0 ) { - if ( winIdx==1 ) l = pD3l->lineA; - else if ( winIdx==2 ) l = pD3l->lineB; - else if ( winIdx==3 ) l = pD3l->lineC; + 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); QString s; if ( l!=-1 ) - s.sprintf("File %s: Line %d", filename.ascii(), l+1 ); + s.sprintf("File %s: Line %d", m_filename.ascii(), l+1 ); else - s.sprintf("File %s: Line not available", filename.ascii() ); - if (sb!=0) sb->message(s); + s.sprintf("File %s: Line not available", m_filename.ascii() ); + if (m_pStatusBar!=0) m_pStatusBar->message(s); } } +void DiffTextWindow::focusInEvent(QFocusEvent* e) +{ + emit gotFocus(); + QWidget::focusInEvent(e); +} void DiffTextWindow::mousePressEvent ( QMouseEvent* e ) { @@ -203,7 +275,7 @@ convertToLinePos( e->x(), e->y(), line, pos ); if ( pos < m_firstColumn ) { - emit setFastSelectorLine( line ); + emit setFastSelectorLine( convertLineToDiff3LineIdx(line) ); selection.firstLine = -1; // Disable current selection } else @@ -212,7 +284,7 @@ selection.start( line, pos ); selection.end( line, pos ); - showStatusLine( line, m_winIdx, m_filename, *m_pDiff3LineVector, m_pStatusBar ); + showStatusLine( line ); } } } @@ -259,8 +331,17 @@ convertToLinePos( e->x(), e->y(), line, pos ); // Get the string data of the current line - QCString s = getString( line ); - + QCString s; + if ( m_bWordWrap ) + { + const Diff3WrapLine& d = m_diff3WrapLineVector[line]; + s = getString( d.diff3LineIndex ).mid( d.wrapLineOffset, d.wrapLineLength ); + } + else + { + s = getString( line ); + } + if ( ! s.isEmpty() ) { int pos1, pos2; @@ -271,7 +352,7 @@ selection.end( line, convertToPosOnScreen( s, pos2 ) ); update(); // emit selectionEnd() happens in the mouseReleaseEvent. - showStatusLine( line, m_winIdx, m_filename, *m_pDiff3LineVector, m_pStatusBar ); + showStatusLine( line ); } } } @@ -298,9 +379,8 @@ if (selection.firstLine != -1 ) { selection.end( line, pos ); - myUpdate(0); - showStatusLine( line, m_winIdx, m_filename, *m_pDiff3LineVector, m_pStatusBar ); + showStatusLine( line ); // Scroll because mouse moved out of the window const QFontMetrics& fm = fontMetrics(); @@ -313,11 +393,18 @@ if ( e->x() > width() ) deltaX=+1; if ( e->y() < topLineYOffset ) deltaY=-1; if ( e->y() > height() ) deltaY=+1; - m_scrollDeltaX = deltaX; - m_scrollDeltaY = deltaY; - if ( deltaX != 0 || deltaY!= 0) + if ( deltaX != 0 && m_scrollDeltaX!=deltaX || deltaY!= 0 && m_scrollDeltaY!=deltaY ) { + m_scrollDeltaX = deltaX; + m_scrollDeltaY = deltaY; emit scroll( deltaX, deltaY ); + startTimer(50); + } + else + { + m_scrollDeltaX = deltaX; + m_scrollDeltaY = deltaY; + myUpdate(0); } } } @@ -444,7 +531,10 @@ int line, int whatChanged, int whatChanged2, - int srcLineNr + int srcLineNr, + int wrapLineOffset, + int wrapLineLength, + bool bWrapLine ) { QFont normalFont = font(); @@ -464,8 +554,10 @@ if ( ! m_invalidRect.intersects( lineRect ) ) return; - int fastSelectorLine2 = m_fastSelectorLine1+m_fastSelectorNofLines - 1; - bool bFastSelectionRange = (line>=m_fastSelectorLine1 && line<= fastSelectorLine2 ); + int fastSelectorLine1 = convertDiff3LineIdxToLine(m_fastSelectorLine1); + int fastSelectorLine2 = convertDiff3LineIdxToLine(m_fastSelectorLine1+m_fastSelectorNofLines)-1; + + bool bFastSelectionRange = (line>=fastSelectorLine1 && line<= fastSelectorLine2 ); QColor bgColor = m_pOptionDialog->m_bgColor; QColor diffBgColor = m_pOptionDialog->m_diffBgColor; @@ -516,7 +608,9 @@ QCString s=" "; // Convert tabs int outPos = 0; - for( i=0; isize; ++i ) + + int lineLength = m_bWordWrap ? wrapLineOffset+wrapLineLength : pld->size; + for( i=wrapLineOffset; im_fgColor ); if ( pld!=0 ) { - if ( m_pOptionDialog->m_bShowLineNumbers ) + if ( m_pOptionDialog->m_bShowLineNumbers && !bWrapLine ) { QString num; num.sprintf( "%0*d", m_lineNumberWidth, srcLineNr); p.drawText( 0, yOffset + fontAscent, num ); //p.drawLine( xLeft -1, yOffset, xLeft -1, yOffset+fontHeight-1 ); } - p.drawLine( xOffset +1, yOffset, xOffset +1, yOffset+fontHeight-1 ); + if ( !bWrapLine || wrapLineLength>0 ) + { + p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, bWrapLine ? DotLine : SolidLine) ); + p.drawLine( xOffset +1, yOffset, xOffset +1, yOffset+fontHeight-1 ); + p.setPen( QPen( m_pOptionDialog->m_fgColor, 0, SolidLine) ); + } } if ( c!=m_pOptionDialog->m_fgColor && whatChanged2==0 )//&& whatChanged==0 ) { @@ -631,21 +729,14 @@ if ( bFastSelectionRange ) { p.fillRect( xOffset + fontWidth-1, yOffset, 3, fontHeight, m_pOptionDialog->m_fgColor ); -/* p.drawLine( xOffset + fontWidth-1, yOffset, xOffset + fontWidth-1, yOffset+fontHeight-1 ); - if ( line == m_fastSelectorLine1 ) - { - p.drawLine( xOffset + fontWidth-1, yOffset, xOffset + fontWidth+2, yOffset ); - } - if ( line == fastSelectorLine2 ) - { - p.drawLine( xOffset + fontWidth-1, yOffset+fontHeight-1, xOffset + fontWidth+2, yOffset+fontHeight-1 ); - }*/ } } void DiffTextWindow::paintEvent( QPaintEvent* e ) { - if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed ) return; + if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed || + ( m_diff3WrapLineVector.empty() && m_bWordWrap ) ) + return; m_lineNumberWidth = m_pOptionDialog->m_bShowLineNumbers ? (int)log10((double)m_size)+1 : 0; @@ -680,52 +771,8 @@ int fontHeight = fontMetrics().height(); int fontAscent = fontMetrics().ascent(); // int fontDescent = fontMetrics().descent(); - int fontWidth = fontMetrics().width('W'); int topLineYOffset = fontHeight + 3; - int xOffset = leftInfoWidth * fontWidth; - - int firstLineToDraw = 0; - int lastLineToDraw = (height() - topLineYOffset ) / fontHeight; - if ( abs(m_oldFirstLine - m_firstLine)>=lastLineToDraw ) - { - m_oldFirstLine = -1; - m_invalidRect |= QRect( 0, topLineYOffset, width(), height() ); - } - - if ( m_oldFirstLine != -1 && m_oldFirstLine != m_firstLine ) - { - int deltaY = fontHeight * ( m_oldFirstLine - m_firstLine ); - if ( deltaY > 0 ) - { // Move down - bitBlt( this, 0, deltaY + topLineYOffset /*dy*/, this, 0, topLineYOffset /*sy*/, width(), height()- (deltaY + topLineYOffset), CopyROP, true); - lastLineToDraw = firstLineToDraw + ( m_oldFirstLine - m_firstLine); - m_invalidRect |= QRect( 0, topLineYOffset, width(), deltaY ); - } - else - { // Move up - bitBlt( this, 0, topLineYOffset /*dy*/, this, 0, -deltaY+topLineYOffset /*sy*/, width(), height()-(-deltaY+topLineYOffset), CopyROP, true); - firstLineToDraw = lastLineToDraw + ( m_oldFirstLine - m_firstLine); - m_invalidRect |= QRect( 0, height()+deltaY, width(), -deltaY ); - } - } - - if ( m_oldFirstColumn != -1 && m_oldFirstColumn != m_firstColumn ) - { - int deltaX = fontWidth * ( m_oldFirstColumn - m_firstColumn ); - if ( deltaX > 0 ) - { // Move right, scroll left - bitBlt( this, deltaX+xOffset, topLineYOffset, this, xOffset, topLineYOffset, width(), height(), CopyROP, true); - m_invalidRect |= - QRect( xOffset, topLineYOffset, deltaX, height() - topLineYOffset ); - } - else - { // Move left, scroll right - bitBlt( this, xOffset, topLineYOffset, this, xOffset-deltaX, topLineYOffset, width()-(xOffset-deltaX), height()-topLineYOffset, CopyROP, true); - m_invalidRect |= - QRect( width() + deltaX, topLineYOffset, -deltaX, height() - topLineYOffset ); - } - } if ( selection.oldLastLine != -1 ) { @@ -741,9 +788,9 @@ firstLine = min2( selection.lastLine, selection.oldLastLine ); lastLine = max2( selection.lastLine, selection.oldLastLine ); } - int y1 = topLineYOffset + ( firstLine - m_firstLine ) * fontHeight; + int y1 = topLineYOffset + ( firstLine - m_firstLine ) * fontHeight; int y2 = min2( height(), - topLineYOffset + ( lastLine - m_firstLine +1 ) * fontHeight ); + topLineYOffset + ( lastLine - m_firstLine + 1 ) * fontHeight ); if ( y1topLineYOffset ) { @@ -762,9 +809,6 @@ p.fillRect( m_invalidRect, m_pOptionDialog->m_bgColor ); - firstLineToDraw += m_firstLine; - lastLineToDraw += m_firstLine; - p.setFont( font() ); p.setPen( m_cThis ); @@ -772,7 +816,7 @@ || m_firstLine != m_oldFirstLine ) { int l=-1; - for ( int i = m_firstLine; i<(int)m_pDiff3LineVector->size(); ++i ) + 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; @@ -787,7 +831,7 @@ QString s = QString(" ")+ winId + " : " + m_filename + " : "; if ( l!=-1 ) - s += i18n("Topline %1").arg( l+1 ); + s += i18n("Top line %1").arg( l+1 ); else s += i18n("End"); @@ -806,11 +850,27 @@ } } - int lastVisibleLine = min2( m_firstLine + getNofVisibleLines()+2, (int)m_pDiff3LineVector->size() ); + int lastVisibleLine = min2( m_firstLine + getNofVisibleLines()+2, + (int)(m_bWordWrap ? m_diff3WrapLineVector.size() : m_pDiff3LineVector->size()) ); for ( int line = m_firstLine; line 0 && m_diff3WrapLineVector[line-1].pD3L == d3l; + } + else + { + d3l = (*m_pDiff3LineVector)[line]; + } DiffList* pFineDiff1; DiffList* pFineDiff2; int changed=0; @@ -827,7 +887,10 @@ line, // Line on the screen changed, changed2, - lineIdx+1 + lineIdx+1, + wrapLineOffset, + wrapLineLength, + bWrapLine ); } @@ -849,9 +912,9 @@ } -QCString DiffTextWindow::getString( int line ) +QCString DiffTextWindow::getString( int d3lIdx ) { - const Diff3Line* d3l = (*m_pDiff3LineVector)[line]; + const Diff3Line* d3l = (*m_pDiff3LineVector)[d3lIdx]; DiffList* pFineDiff1; DiffList* pFineDiff2; int changed=0; @@ -868,6 +931,18 @@ return QCString(); } +QCString DiffTextWindow::getLineString( int line ) +{ + if ( m_bWordWrap ) + { + int d3LIdx = convertLineToDiff3LineIdx(line); + return getString( d3LIdx ).mid( m_diff3WrapLineVector[line].wrapLineOffset, m_diff3WrapLineVector[line].wrapLineLength ); + } + else + { + return getString( line ); + } +} void DiffTextWindow::getLineInfo( const Diff3Line& d, @@ -942,9 +1017,10 @@ int lineIdx=0; int it; - for( it=0; it<(int)m_pDiff3LineVector->size(); ++it ) + int vectorSize = m_bWordWrap ? m_diff3WrapLineVector.size() : m_pDiff3LineVector->size(); + for( it=0; itlineA; } else if ( m_winIdx == 2 ) { lineIdx=d->lineB; } else if ( m_winIdx == 3 ) { lineIdx=d->lineC; } @@ -954,6 +1030,12 @@ { const char* pLine = m_pLineData[lineIdx].pLine; int size = m_pLineData[lineIdx].size; + + if ( m_bWordWrap ) + { + pLine += m_diff3WrapLineVector[it].wrapLineOffset; + size = m_diff3WrapLineVector[it].wrapLineLength; + } // Consider tabs int outPos = 0; @@ -976,7 +1058,11 @@ outPos += spaces; } - if( selection.within( line, outPos ) ) + + + if( selection.within( line, outPos ) && + !( m_bWordWrap && it+1 m_diff3WrapLineVector[wrapLine].wrapLineLength ) + { + wrapPos -= m_diff3WrapLineVector[wrapLine].wrapLineLength; + ++wrapLine; + } + pos = wrapPos; + line = wrapLine; + } + else + { + pos = d3LPos; + line = d3LIdx; + } +} + +void DiffTextWindow::convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos ) +{ + if( 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; + ++wrapLine; + } + } + else + { + d3LPos = pos; + d3LIdx = line; + } +} + + +void DiffTextWindow::setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p ) { selection.reset(); - selection.start( firstLine, convertToPosOnScreen( getString(firstLine), startPos ) ); - selection.end( lastLine, convertToPosOnScreen( getString(lastLine), endPos ) ); + if ( m_bWordWrap && m_pDiff3LineVector!=0 ) + { + QString s1 = getString(firstLine); + int firstWrapLine = convertDiff3LineIdxToLine(firstLine); + int wrapStartPos = startPos; + while ( wrapStartPos > m_diff3WrapLineVector[firstWrapLine].wrapLineLength ) + { + wrapStartPos -= m_diff3WrapLineVector[firstWrapLine].wrapLineLength; + s1 = s1.mid(m_diff3WrapLineVector[firstWrapLine].wrapLineLength); + ++firstWrapLine; + } + + QString s2 = getString(lastLine); + int lastWrapLine = convertDiff3LineIdxToLine(lastLine); + int wrapEndPos = endPos; + while ( wrapEndPos > m_diff3WrapLineVector[lastWrapLine].wrapLineLength ) + { + wrapEndPos -= m_diff3WrapLineVector[lastWrapLine].wrapLineLength; + s2 = s2.mid(m_diff3WrapLineVector[lastWrapLine].wrapLineLength); + ++lastWrapLine; + } + + selection.start( firstWrapLine, convertToPosOnScreen( s1, wrapStartPos ) ); + selection.end( lastWrapLine, convertToPosOnScreen( s2, wrapEndPos ) ); + l=firstWrapLine; + p=wrapStartPos; + } + else + { + selection.start( firstLine, convertToPosOnScreen( getString(firstLine), startPos ) ); + selection.end( lastLine, convertToPosOnScreen( getString(lastLine), endPos ) ); + l=firstLine; + p=startPos; + } update(); } +// 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; + if( pDiff3WrapLine ) + { + pDiff3WrapLine->wrapLineOffset=0; + pDiff3WrapLine->wrapLineLength=0; + } + } + 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; +} + +void DiffTextWindow::convertSelectionToD3LCoords() +{ + if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed || !isVisible() || selection.isEmpty() ) + { + return; + } + + // convert the selection to unwrapped coordinates: Later restore to new coords + int firstD3LIdx, firstD3LPos; + QCString s = getLineString( selection.beginLine() ); + int firstPosInText = convertToPosInText( s, s.length(), selection.beginPos() ); + convertLineCoordsToD3LCoords( selection.beginLine(), firstPosInText, firstD3LIdx, firstD3LPos ); + + int lastD3LIdx, lastD3LPos; + s = getLineString( selection.endLine() ); + int lastPosInText = convertToPosInText( s, s.length(), selection.endPos() ); + convertLineCoordsToD3LCoords( selection.endLine(), lastPosInText, lastD3LIdx, lastD3LPos ); + + //selection.reset(); + selection.start( firstD3LIdx, firstD3LPos ); + selection.end( lastD3LIdx, lastD3LPos ); +} + +void DiffTextWindow::recalcWordWrap( bool bWordWrap, int wrapLineVectorSize ) +{ + if ( m_pDiff3LineVector==0 || ! m_bPaintingAllowed || !isVisible() ) + { + m_bWordWrap = bWordWrap; + if (!bWordWrap) m_diff3WrapLineVector.resize( 0 ); + return; + } + + m_bWordWrap = bWordWrap; + + if ( bWordWrap ) + { + m_diff3WrapLineVector.resize( wrapLineVectorSize ); + + int nofVisibleColumns = getNofVisibleColumns(); + int i; + int wrapLineIdx = 0; + int size = m_pDiff3LineVector->size(); + for( i=0; i0 ) + { + int j; + for( j=0; j=linesNeeded ) + { + d3wl.wrapLineOffset=0; + d3wl.wrapLineLength=0; + } + } + } + } + + if ( wrapLineVectorSize>0 ) + { + m_firstLine = min2( m_firstLine, wrapLineVectorSize-1 ); + m_firstColumn = 0; + } + } + else + { + m_diff3WrapLineVector.resize( 0 ); + } + + if ( !selection.isEmpty() && ( !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. + int firstLine, firstPos; + convertD3LCoordsToLineCoords( selection.beginLine(), 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 ) ); + } +} + + + + #include QString decodeString( const char*s , OptionDialog* pOptions ) diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/directorymergewindow.cpp --- a/kdiff3/src/directorymergewindow.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/directorymergewindow.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -102,6 +102,7 @@ FileAccess& fi1, FileAccess& fi2, bool& bEqual, bool& bError, QString& status ) { + ProgressProxy pp; status = ""; bEqual = false; bError = true; @@ -176,16 +177,18 @@ return; } + pp.setInformation( i18n("Comparing file ..."), 0, false ); #if QT_VERSION==230 typedef int t_FileSize; #else typedef QFile::Offset t_FileSize; #endif - t_FileSize size = file1.size(); + t_FileSize fullSize = file1.size(); + t_FileSize sizeLeft = fullSize; - while( size>0 ) + while( sizeLeft>0 && ! pp.wasCancelled() ) { - int len = min2( size, (t_FileSize)buf1.size() ); + int len = min2( sizeLeft, (t_FileSize)buf1.size() ); if( len != file1.readBlock( &buf1[0], len ) ) { status = i18n("Error reading from %1").arg(fileName1); @@ -203,7 +206,8 @@ bError = false; return; } - size-=len; + sizeLeft-=len; + pp.setCurrent(double(fullSize-sizeLeft)/fullSize, false ); } // If the program really arrives here, then the files are really equal. @@ -221,6 +225,10 @@ static int s_CCol = 3; static int s_OpCol = 4; static int s_OpStatusCol = 5; +static int s_UnsolvedCol = 6; // Nr of unsolved conflicts (for 3 input files) +static int s_SolvedCol = 7; // Nr of auto-solvable conflicts (for 3 input files) +static int s_NonWhiteCol = 8; // Nr of nonwhite deltas (for 2 input files) +static int s_WhiteCol = 9; // Nr of white deltas (for 2 input files) DirectoryMergeWindow::DirectoryMergeWindow( QWidget* pParent, OptionDialog* pOptions, KIconLoader* pIconLoader ) : QListView( pParent ) { @@ -239,6 +247,7 @@ m_bSyncMode = false; m_pStatusInfo = new StatusInfo(0); m_pStatusInfo->hide(); + m_bScanning = false; addColumn(i18n("Name")); addColumn("A"); @@ -246,6 +255,15 @@ addColumn("C"); addColumn(i18n("Operation")); addColumn(i18n("Status")); + addColumn(i18n("Unsolved")); + addColumn(i18n("Solved")); + addColumn(i18n("Nonwhite")); + addColumn(i18n("White")); + + setColumnAlignment( s_UnsolvedCol, Qt::AlignRight ); + setColumnAlignment( s_SolvedCol, Qt::AlignRight ); + setColumnAlignment( s_NonWhiteCol, Qt::AlignRight ); + setColumnAlignment( s_WhiteCol, Qt::AlignRight ); } DirectoryMergeWindow::~DirectoryMergeWindow() @@ -365,6 +383,19 @@ bool bDirectoryMerge ) { + if ( m_pOptions->m_bDmFullAnalysis ) + { + // A full analysis uses the same ressources that a normal text-diff/merge uses. + // So make sure that the user saves his data first. + bool bCanContinue=false; + checkIfCanContinue( &bCanContinue ); + if ( !bCanContinue ) + return false; + } + + show(); + + ProgressProxy pp; m_bFollowDirLinks = m_pOptions->m_bDmFollowDirLinks; m_bFollowFileLinks = m_pOptions->m_bDmFollowFileLinks; m_bSimulatedMergeStarted=false; @@ -411,6 +442,9 @@ i18n("Parameter Warning")); return false; } + + m_bScanning = true; + statusBarMessage(i18n("Scanning directories ...")); m_bSyncMode = m_pOptions->m_bDmSyncMode && !m_dirC.isValid() && !m_dirDest.isValid(); @@ -421,8 +455,6 @@ QString origCurrentDirectory = QDir::currentDirPath(); - g_pProgressDialog->start(); - m_fileMergeMap.clear(); t_DirectoryList::iterator i; @@ -430,13 +462,39 @@ double nofScans = ( m_dirA.isValid() ? 1 : 0 )+( m_dirB.isValid() ? 1 : 0 )+( m_dirC.isValid() ? 1 : 0 ); int currentScan = 0; + setColumnWidthMode(s_UnsolvedCol, QListView::Manual); + setColumnWidthMode(s_SolvedCol, QListView::Manual); + setColumnWidthMode(s_WhiteCol, QListView::Manual); + setColumnWidthMode(s_NonWhiteCol, QListView::Manual); + if ( !m_pOptions->m_bDmFullAnalysis ) + { + setColumnWidth( s_WhiteCol, 0 ); + setColumnWidth( s_NonWhiteCol, 0 ); + setColumnWidth( s_UnsolvedCol, 0 ); + setColumnWidth( s_SolvedCol, 0 ); + } + else if ( m_dirC.isValid() ) + { + setColumnWidth(s_WhiteCol, 50 ); + setColumnWidth(s_NonWhiteCol, 50 ); + setColumnWidth(s_UnsolvedCol, 50 ); + setColumnWidth(s_SolvedCol, 50 ); + } + else + { + setColumnWidth(s_WhiteCol, 50 ); + setColumnWidth(s_NonWhiteCol, 50 ); + setColumnWidth(s_UnsolvedCol, 50 ); + setColumnWidth(s_SolvedCol, 0 ); + } + bool bListDirSuccessA = true; bool bListDirSuccessB = true; bool bListDirSuccessC = true; if ( m_dirA.isValid() ) { - g_pProgressDialog->setInformation(i18n("Reading Directory A")); - g_pProgressDialog->setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); + pp.setInformation(i18n("Reading Directory A")); + pp.setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); ++currentScan; t_DirectoryList dirListA; @@ -457,8 +515,8 @@ if ( m_dirB.isValid() ) { - g_pProgressDialog->setInformation(i18n("Reading Directory B")); - g_pProgressDialog->setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); + pp.setInformation(i18n("Reading Directory B")); + pp.setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); ++currentScan; t_DirectoryList dirListB; @@ -479,8 +537,8 @@ e_MergeOperation eDefaultMergeOp; if ( m_dirC.isValid() ) { - g_pProgressDialog->setInformation(i18n("Reading Directory C")); - g_pProgressDialog->setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); + pp.setInformation(i18n("Reading Directory C")); + pp.setSubRangeTransformation(currentScan/nofScans, (currentScan+1)/nofScans); ++currentScan; t_DirectoryList dirListC; @@ -516,8 +574,7 @@ if ( bContinue ) { - prepareListView(); - g_pProgressDialog->hide(); + prepareListView(pp); for( QListViewItem* p = firstChild(); p!=0; p = p->nextSibling() ) { @@ -527,7 +584,6 @@ } else { - g_pProgressDialog->hide(); setSelected( 0, true ); } @@ -544,6 +600,9 @@ sizes[1]=total - sizes[0]; pSplitter->setSizes( sizes ); } + + m_bScanning = false; + statusBarMessage(i18n("Ready.")); if ( bContinue ) { @@ -567,7 +626,7 @@ KMessageBox::information( this, s ); setSelected( firstChild(), true ); } - + return true; } @@ -734,26 +793,52 @@ dateMap[ mfi.m_fileInfoC.lastModified() ] = 2; } - bool bError; - QString eqStatus; - if( mfi.m_bExistsInA && mfi.m_bExistsInB ) + if ( m_pOptions->m_bDmFullAnalysis ) { - if( mfi.m_bDirA ) mfi.m_bEqualAB=true; - else fastFileComparison( mfi.m_fileInfoA, mfi.m_fileInfoB, mfi.m_bEqualAB, bError, eqStatus ); - } - if( mfi.m_bExistsInA && mfi.m_bExistsInC ) - { - if( mfi.m_bDirA ) mfi.m_bEqualAC=true; - else fastFileComparison( mfi.m_fileInfoA, mfi.m_fileInfoC, mfi.m_bEqualAC, bError, eqStatus ); - } - if( mfi.m_bExistsInB && mfi.m_bExistsInC ) - { - if (mfi.m_bEqualAB && mfi.m_bEqualAC) - mfi.m_bEqualBC = true; + if( mfi.m_bExistsInA && mfi.m_bDirA || mfi.m_bExistsInB && mfi.m_bDirB || mfi.m_bExistsInC && mfi.m_bDirC ) + { + // If any input is a directory, don't start any comparison. + mfi.m_bEqualAB=mfi.m_bExistsInA && mfi.m_bExistsInB; + mfi.m_bEqualAC=mfi.m_bExistsInA && mfi.m_bExistsInC; + mfi.m_bEqualBC=mfi.m_bExistsInB && mfi.m_bExistsInC; + } else { - if( mfi.m_bDirB ) mfi.m_bEqualBC=true; - else fastFileComparison( mfi.m_fileInfoB, mfi.m_fileInfoC, mfi.m_bEqualBC, bError, eqStatus ); + emit startDiffMerge( + mfi.m_bExistsInA ? mfi.m_fileInfoA.absFilePath() : QString(""), + mfi.m_bExistsInB ? mfi.m_fileInfoB.absFilePath() : QString(""), + mfi.m_bExistsInC ? mfi.m_fileInfoC.absFilePath() : QString(""), + "", + "","","",&mfi.m_totalDiffStatus + ); + mfi.m_bEqualAB = mfi.m_totalDiffStatus.bBinaryAEqB; + mfi.m_bEqualBC = mfi.m_totalDiffStatus.bBinaryBEqC; + mfi.m_bEqualAC = mfi.m_totalDiffStatus.bBinaryAEqC; + } + } + else + { + bool bError; + QString eqStatus; + if( mfi.m_bExistsInA && mfi.m_bExistsInB ) + { + if( mfi.m_bDirA ) mfi.m_bEqualAB=true; + else fastFileComparison( mfi.m_fileInfoA, mfi.m_fileInfoB, mfi.m_bEqualAB, bError, eqStatus ); + } + if( mfi.m_bExistsInA && mfi.m_bExistsInC ) + { + if( mfi.m_bDirA ) mfi.m_bEqualAC=true; + else fastFileComparison( mfi.m_fileInfoA, mfi.m_fileInfoC, mfi.m_bEqualAC, bError, eqStatus ); + } + if( mfi.m_bExistsInB && mfi.m_bExistsInC ) + { + if (mfi.m_bEqualAB && mfi.m_bEqualAC) + mfi.m_bEqualBC = true; + else + { + if( mfi.m_bDirB ) mfi.m_bEqualBC=true; + else fastFileComparison( mfi.m_fileInfoB, mfi.m_fileInfoC, mfi.m_bEqualBC, bError, eqStatus ); + } } } @@ -928,7 +1013,7 @@ return p; } -void DirectoryMergeWindow::prepareListView() +void DirectoryMergeWindow::prepareListView( ProgressProxy& pp ) { static bool bFirstTime = true; if (bFirstTime) @@ -968,10 +1053,10 @@ // const QString& fileName = j->first; const QString& fileName = mfi.m_subPath; - g_pProgressDialog->setInformation( + pp.setInformation( i18n("Processing ") + QString::number(currentIdx) +" / "+ QString::number(nrOfFiles) +"\n" + fileName, double(currentIdx) / nrOfFiles, false ); - if ( g_pProgressDialog->wasCancelled() ) break; + if ( pp.wasCancelled() ) break; ++currentIdx; @@ -1317,19 +1402,52 @@ #endif DirMergeItem::DirMergeItem( QListView* pParent, const QString& fileName, MergeFileInfos* pMFI ) -: QListViewItem( pParent, DIRSORT( fileName ), "","","", i18n("To do.") ) +: QListViewItem( pParent, DIRSORT( fileName ), "","","", i18n("To do."), "" ) +{ + init(pMFI); +} + +DirMergeItem::DirMergeItem( DirMergeItem* pParent, const QString& fileName, MergeFileInfos* pMFI ) +: QListViewItem( pParent, DIRSORT( fileName ), "","","", i18n("To do."), "" ) +{ + init(pMFI); +} + + +void DirMergeItem::init(MergeFileInfos* pMFI) { pMFI->m_pDMI = this; m_pMFI = pMFI; + TotalDiffStatus& tds = pMFI->m_totalDiffStatus; + if ( m_pMFI->m_bDirA || m_pMFI->m_bDirB || m_pMFI->m_bDirC ) + { + } + else + { + setText( s_UnsolvedCol, QString::number( tds.nofUnsolvedConflicts ) ); + setText( s_SolvedCol, QString::number( tds.nofSolvedConflicts ) ); + setText( s_NonWhiteCol, QString::number( tds.nofUnsolvedConflicts + tds.nofSolvedConflicts - tds.nofWhitespaceConflicts ) ); + setText( s_WhiteCol, QString::number( tds.nofWhitespaceConflicts ) ); + } } -DirMergeItem::DirMergeItem( DirMergeItem* pParent, const QString& fileName, MergeFileInfos* pMFI ) -: QListViewItem( pParent, DIRSORT( fileName ), "","","", i18n("To do.") ) +int DirMergeItem::compare(QListViewItem *i, int col, bool ascending) const { - pMFI->m_pDMI = this; - m_pMFI = pMFI; + DirMergeItem* pDMI = static_cast(i); + bool bDir1 = m_pMFI->m_bDirA || m_pMFI->m_bDirB || m_pMFI->m_bDirC; + bool bDir2 = pDMI->m_pMFI->m_bDirA || pDMI->m_pMFI->m_bDirB || pDMI->m_pMFI->m_bDirC; + if ( m_pMFI==0 || pDMI->m_pMFI==0 || bDir1 == bDir2 ) + { + if(col==s_UnsolvedCol || col==s_SolvedCol || col==s_NonWhiteCol || col==s_WhiteCol) + return key(col,ascending).toInt() > i->key(col,ascending).toInt() ? -1 : 1; + else + return QListViewItem::compare( i, col, ascending ); + } + else + return bDir1 ? -1 : 1; } + DirMergeItem::~DirMergeItem() { m_pMFI->m_pDMI = 0; @@ -1405,7 +1523,7 @@ mfi.m_bExistsInB ? mfi.m_fileInfoB.absFilePath() : QString(""), mfi.m_bExistsInC ? mfi.m_fileInfoC.absFilePath() : QString(""), "", - "","","" + "","","",0 ); } } @@ -1657,7 +1775,7 @@ if ( m_bRealMergeStarted ) { - KMessageBox::sorry(this,i18n("This operation is currently not possible because dir merge currently runs."),i18n("Operation Not Possible")); + KMessageBox::sorry(this,i18n("This operation is currently not possible because directory merge is currently running."),i18n("Operation Not Possible")); return; } @@ -1688,6 +1806,7 @@ // When bVerbose is true then a messagebox will tell when the merge is complete. void DirectoryMergeWindow::mergeContinue(bool bStart, bool bVerbose) { + ProgressProxy pp; if ( m_mergeItemList.empty() ) return; @@ -1725,8 +1844,6 @@ m_bError = false; } - g_pProgressDialog->start(); - bool bSuccess = true; bool bSingleFileMerge = false; bool bSim = m_bSimulatedMergeStarted; @@ -1824,7 +1941,7 @@ m_pStatusInfo->setCaption(i18n("Simulated merge complete: Check if you agree with the proposed operations.")); m_pStatusInfo->show(); } - g_pProgressDialog->hide(); + //g_pProgressDialog->hide(); m_mergeItemList.clear(); m_bRealMergeStarted=false; return; @@ -1832,11 +1949,11 @@ MergeFileInfos& mfi = *pCurrentItemForOperation->m_pMFI; - g_pProgressDialog->setInformation( mfi.m_subPath, + pp.setInformation( mfi.m_subPath, bSim ? double(nrOfCompletedSimItems)/nrOfItems : double(nrOfCompletedItems)/nrOfItems, false // bRedrawUpdate ); - g_pProgressDialog->show(); + //g_pProgressDialog->show(); bSuccess = executeMergeOperation( mfi, bSingleFileMerge ); // Here the real operation happens. @@ -1847,11 +1964,11 @@ bContinueWithCurrentItem = false; } - if( g_pProgressDialog->wasCancelled() ) + if( pp.wasCancelled() ) break; } // end while - g_pProgressDialog->hide(); + //g_pProgressDialog->hide(); setCurrentItem( pCurrentItemForOperation ); ensureItemVisible( pCurrentItemForOperation ); @@ -1982,7 +2099,7 @@ m_pStatusInfo->addText(i18n("manual merge( %1, %2, %3 -> %4)").arg(nameA).arg(nameB).arg(nameC).arg(nameDest)); if ( m_bSimulatedMergeStarted ) { - m_pStatusInfo->addText(i18n(" Note: After a manual merge the user should continue via F7.") ); + m_pStatusInfo->addText(i18n(" Note: After a manual merge the user should continue by pressing F7.") ); return true; } @@ -1990,7 +2107,7 @@ (*m_currentItemForOperation)->setText( s_OpStatusCol, i18n("In progress...") ); ensureItemVisible( *m_currentItemForOperation ); - emit startDiffMerge( nameA, nameB, nameC, nameDest, "","","" ); + emit startDiffMerge( nameA, nameB, nameC, nameDest, "","","",0 ); return false; } @@ -2171,6 +2288,15 @@ m_pInfoList->addColumn(i18n("Last Modification")); m_pInfoList->addColumn(i18n("Link-Destination")); setMinimumSize( 100,100 ); + + m_pInfoList->installEventFilter(this); +} + +bool DirectoryMergeInfo::eventFilter(QObject*o, QEvent* e) +{ + if ( e->type()==QEvent::FocusIn && o==m_pInfoList ) + emit gotFocus(); + return false; } static void addListViewItem( QListView* pListView, const QString& dir, diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/directorymergewindow.h --- a/kdiff3/src/directorymergewindow.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/directorymergewindow.h Thu Sep 16 02:40:08 2004 +0000 @@ -26,6 +26,7 @@ #include #include "common.h" #include "fileaccess.h" +#include "diff.h" //TotalDiffStatus class OptionDialog; class KIconLoader; @@ -37,6 +38,7 @@ class KAction; class KToggleAction; class KActionCollection; +class TotalDiffStatus; enum e_MergeOperation { @@ -97,6 +99,8 @@ FileAccess m_fileInfoA; FileAccess m_fileInfoB; FileAccess m_fileInfoC; + + TotalDiffStatus m_totalDiffStatus; }; class DirMergeItem : public QListViewItem @@ -107,17 +111,9 @@ ~DirMergeItem(); MergeFileInfos* m_pMFI; #if QT_VERSION!=230 - virtual int compare(QListViewItem *i, int col, bool ascending) const - { - DirMergeItem* pDMI = static_cast(i); - bool bDir1 = m_pMFI->m_bDirA || m_pMFI->m_bDirB || m_pMFI->m_bDirC; - bool bDir2 = pDMI->m_pMFI->m_bDirA || pDMI->m_pMFI->m_bDirB || pDMI->m_pMFI->m_bDirC; - if ( m_pMFI==0 || pDMI->m_pMFI==0 || bDir1 == bDir2 ) - return QListViewItem::compare( i, col, ascending ); - else - return bDir1 ? -1 : 1; - } + virtual int compare(QListViewItem *i, int col, bool ascending) const; #endif + void init(MergeFileInfos* pMFI); }; class DirectoryMergeWindow : public QListView @@ -139,6 +135,7 @@ bool isDirectoryMergeInProgress() { return m_bRealMergeStarted; } int totalColumnWidth(); bool isSyncMode() { return m_bSyncMode; } + bool isScanning() { return m_bScanning; } void initDirectoryMergeActions( QObject* pKDiff3App, KActionCollection* ac ); void updateAvailabilities( bool bDirCompare, bool bDiffWindowVisible, KToggleAction* chooseA, KToggleAction* chooseB, KToggleAction* chooseC ); @@ -183,7 +180,7 @@ void resizeEvent(QResizeEvent* e); bool m_bAllowResizeEvents; - void prepareListView(); + void prepareListView(ProgressProxy& pp); void calcSuggestedOperation( MergeFileInfos& mfi, e_MergeOperation eDefaultOperation ); void setAllMergeOperations( e_MergeOperation eDefaultOperation ); friend class MergeFileInfos; @@ -229,6 +226,8 @@ bool m_bError; bool m_bSyncMode; bool m_bDirectoryMerge; // if true, then merge is the default operation, otherwise it's diff. + + bool m_bScanning; // true while in init() OptionDialog* m_pOptions; KIconLoader* m_pIconLoader; @@ -270,9 +269,10 @@ KAction* dirCurrentSyncMergeToB; KAction* dirCurrentSyncMergeToAAndB; signals: - void startDiffMerge(QString fn1,QString fn2, QString fn3, QString ofn, QString,QString,QString); + void startDiffMerge(QString fn1,QString fn2, QString fn3, QString ofn, QString,QString,QString,TotalDiffStatus*); void checkIfCanContinue( bool* pbContinue ); void updateAvailabilities(); + void statusBarMessage( const QString& msg ); protected slots: void onDoubleClick( QListViewItem* lvi ); void onClick( QListViewItem* lvi, const QPoint&, int c ); @@ -291,6 +291,9 @@ const FileAccess& DestPath, MergeFileInfos& mfi ); QListView* getInfoList() {return m_pInfoList;} + virtual bool eventFilter( QObject* o, QEvent* e ); +signals: + void gotFocus(); private: QLabel* m_pInfoA; QLabel* m_pInfoB; diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/fileaccess.cpp --- a/kdiff3/src/fileaccess.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/fileaccess.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -304,6 +304,7 @@ static bool interruptableReadFile( QFile& f, void* pDestBuffer, unsigned long maxLength ) { + ProgressProxy pp; const unsigned long maxChunkSize = 100000; unsigned long i=0; while( isetSubCurrent( double(i)/maxLength ); - if ( g_pProgressDialog->wasCancelled() ) return false; + pp.setCurrent( double(i)/maxLength ); + if ( pp.wasCancelled() ) return false; } return true; } @@ -347,6 +348,7 @@ bool FileAccess::writeFile( const void* pSrcBuffer, unsigned long length ) { + ProgressProxy pp; if (m_bLocal) { QFile f( filePath() ); @@ -364,8 +366,8 @@ } i+=reallyWritten; - g_pProgressDialog->setSubCurrent( double(i)/length ); - if ( g_pProgressDialog->wasCancelled() ) return false; + pp.setCurrent( double(i)/length ); + if ( pp.wasCancelled() ) return false; } return true; } @@ -593,7 +595,8 @@ bool FileAccessJobHandler::get(void* pDestBuffer, long maxLength ) { - if ( maxLength>0 ) + ProgressProxy pp; // Implicitly used in slotPercent() + if ( maxLength>0 && !pp.wasCancelled() ) { KIO::TransferJob* pJob = KIO::get( m_pFileAccess->m_url, false /*reload*/, false ); m_transferredBytes = 0; @@ -804,6 +807,7 @@ // Copy local or remote files. bool FileAccessJobHandler::copyFile( const QString& dest ) { + ProgressProxy pp; KURL destUrl = KURL::fromPathOrURL( dest ); m_pFileAccess->m_statusText = QString(); if ( ! m_pFileAccess->isLocal() || ! destUrl.isLocalFile() ) // if either url is nonlocal @@ -847,7 +851,7 @@ std::vector buffer(100000); Q_LONG bufSize = buffer.size(); Q_LONG srcSize = srcFile.size(); - while ( srcSize > 0 && !g_pProgressDialog->wasCancelled() ) + while ( srcSize > 0 && !pp.wasCancelled() ) { Q_LONG readSize = srcFile.readBlock( &buffer[0], min2( srcSize, bufSize ) ); if ( readSize==-1 || readSize==0 ) @@ -867,7 +871,7 @@ readSize -= writeSize; } destFile.flush(); - g_pProgressDialog->setSubCurrent( (double)(srcFile.size()-srcSize)/srcFile.size(), false ); + pp.setCurrent( (double)(srcFile.size()-srcSize)/srcFile.size(), false ); } srcFile.close(); destFile.close(); @@ -925,14 +929,14 @@ // class CvsIgnoreList from Cervisia cvsdir.cpp // Copyright (C) 1999-2002 Bernd Gehrmann // with elements from class StringMatcher -// Copyright (c) 2003 André Wöbbeking +// Copyright (c) 2003 Andr�W�beking // Modifications for KDiff3 by Joachim Eibl class CvsIgnoreList { public: CvsIgnoreList(){} void init(FileAccess& dir, bool bUseLocalCvsIgnore ); - bool matches(const QString& fileName) const; + bool matches(const QString& fileName, bool bCaseSensitive ) const; private: void addEntriesFromString(const QString& str); @@ -1073,7 +1077,7 @@ } } -bool CvsIgnoreList::matches(const QString& text) const +bool CvsIgnoreList::matches(const QString& text, bool bCaseSensitive ) const { if (m_exactPatterns.find(text) != m_exactPatterns.end()) { @@ -1113,7 +1117,7 @@ for ( it = m_generalPatterns.begin(); it != m_generalPatterns.end(); ++it ) { - QRegExp pattern( *it, true /*CaseSensitive*/, true /*wildcard mode*/); + QRegExp pattern( *it, bCaseSensitive, true /*wildcard mode*/); #if QT_VERSION==230 int len=0; if ( pattern.match( text, 0, &len )!=-1 && len==text.length()) @@ -1151,6 +1155,7 @@ bool FileAccessJobHandler::listDir( t_DirectoryList* pDirList, bool bRecursive, bool bFindHidden, const QString& filePattern, const QString& fileAntiPattern, const QString& dirAntiPattern, bool bFollowDirLinks, bool bUseCvsIgnore ) { + ProgressProxy pp; m_pDirList = pDirList; m_pDirList->clear(); m_bFindHidden = bFindHidden; @@ -1160,13 +1165,14 @@ m_filePattern = filePattern; m_dirAntiPattern = dirAntiPattern; - if ( g_pProgressDialog->wasCancelled() ) + if ( pp.wasCancelled() ) return true; // Cancelled is not an error. - g_pProgressDialog->setSubInformation( i18n("Reading directory: ") + m_pFileAccess->absFilePath(), 0, false ); + pp.setInformation( i18n("Reading directory: ") + m_pFileAccess->absFilePath(), 0, false ); if( m_pFileAccess->isLocal() ) { + QString currentPath = QDir::currentDirPath(); m_bSuccess = QDir::setCurrent( m_pFileAccess->absFilePath() ); if ( m_bSuccess ) { @@ -1211,7 +1217,7 @@ QString absPath = m_pFileAccess->absFilePath(); QString relPath = m_pFileAccess->filePath(); bool bFirst=true; - while( ! g_pProgressDialog->wasCancelled() ) + while( ! pp.wasCancelled() ) { if (!bFirst) { @@ -1262,10 +1268,12 @@ } else { + QDir::setCurrent( currentPath ); // restore current path return false; } #endif } + QDir::setCurrent( currentPath ); // restore current path } else { @@ -1298,6 +1306,11 @@ { cvsIgnoreList.init( *m_pFileAccess, cvsIgnoreExists(pDirList) ); } +#ifdef _WIN32 + bool bCaseSensitive = false; +#else + bool bCaseSensitive = true; +#endif // Now remove all entries that don't match: t_DirectoryList::iterator i; @@ -1309,12 +1322,12 @@ if ( (!bFindHidden && i->isHidden() ) || (i->isFile() && - ( !wildcardMultiMatch( filePattern, i->fileName(), true ) || - wildcardMultiMatch( fileAntiPattern, i->fileName(), true ) ) ) + ( !wildcardMultiMatch( filePattern, i->fileName(), bCaseSensitive ) || + wildcardMultiMatch( fileAntiPattern, i->fileName(), bCaseSensitive ) ) ) || - (i->isDir() && wildcardMultiMatch( dirAntiPattern, i->fileName(), true ) ) + (i->isDir() && wildcardMultiMatch( dirAntiPattern, i->fileName(), bCaseSensitive ) ) || - cvsIgnoreList.matches(i->fileName()) + cvsIgnoreList.matches( i->fileName(), bCaseSensitive ) ) { // Remove it @@ -1381,12 +1394,12 @@ void FileAccessJobHandler::slotListDirInfoMessage( KIO::Job*, const QString& msg ) { - g_pProgressDialog->setSubInformation( msg, 0 ); + g_pProgressDialog->setInformation( msg, 0.0 ); } void FileAccessJobHandler::slotPercent( KIO::Job*, unsigned long percent ) { - g_pProgressDialog->setSubCurrent( percent/100.0 ); + g_pProgressDialog->setCurrent( percent/100.0 ); } @@ -1415,10 +1428,6 @@ hlayout->addWidget( m_pAbortButton ); connect( m_pAbortButton, SIGNAL(clicked()), this, SLOT(slotAbort()) ); - m_dCurrent = 0.0; - m_dSubMax = 1.0; - m_dSubMin = 0.0; - m_dSubCurrent = 0.0; resize( 400, 100 ); m_t1.start(); m_t2.start(); @@ -1426,54 +1435,123 @@ m_pJob = 0; } +void ProgressDialog::push() +{ + ProgressLevelData pld; + if ( !m_progressStack.empty() ) + { + pld.m_dRangeMax = m_progressStack.back().m_dSubRangeMax; + pld.m_dRangeMin = m_progressStack.back().m_dSubRangeMin; + } + else + { + m_bWasCancelled = false; + m_t1.restart(); + m_t2.restart(); + show(); + } + + m_progressStack.push_back( pld ); +} + +void ProgressDialog::pop( bool bRedrawUpdate ) +{ + if ( !m_progressStack.empty() ) + { + m_progressStack.pop_back(); + if ( m_progressStack.empty() ) + hide(); + else + recalc(bRedrawUpdate); + } +} void ProgressDialog::setInformation(const QString& info, double dCurrent, bool bRedrawUpdate ) { - m_pInformation->setText( info ); - m_dCurrent = dCurrent; - m_dSubCurrent=0; - m_dSubMin = 0; - m_dSubMax = 1; - m_pSubInformation->setText(""); + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_dCurrent = dCurrent; + int level = m_progressStack.size(); + if ( level==1 ) + { + m_pInformation->setText( info ); + m_pSubInformation->setText(""); + } + else if ( level==2 ) + { + m_pSubInformation->setText( info ); + } recalc(bRedrawUpdate); } void ProgressDialog::setInformation(const QString& info, bool bRedrawUpdate ) { - m_pInformation->setText( info ); - m_dSubCurrent = 0; - m_dSubMin = 0; - m_dSubMax = 1; - m_pSubInformation->setText(""); + if ( m_progressStack.empty() ) + return; + //ProgressLevelData& pld = m_progressStack.back(); + int level = m_progressStack.size(); + if ( level==1 ) + { + m_pInformation->setText( info ); + m_pSubInformation->setText( "" ); + } + else if ( level==2 ) + { + m_pSubInformation->setText( info ); + } recalc(bRedrawUpdate); } -void ProgressDialog::setMaximum( int maximum ) +void ProgressDialog::setMaxNofSteps( int maxNofSteps ) { - m_maximum = maximum; - m_dCurrent = 0; + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_maxNofSteps = maxNofSteps; + pld.m_dCurrent = 0; } void ProgressDialog::step( bool bRedrawUpdate ) { - m_dCurrent += 1.0/m_maximum; - m_dSubCurrent=0; + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_dCurrent += 1.0/pld.m_maxNofSteps; recalc(bRedrawUpdate); } -void ProgressDialog::setSubInformation(const QString& info, double dSubCurrent, bool bRedrawUpdate ) +void ProgressDialog::setCurrent( double dSubCurrent, bool bRedrawUpdate ) { - m_pSubInformation->setText(info); - m_dSubCurrent = dSubCurrent; - recalc(bRedrawUpdate); -} - -void ProgressDialog::setSubCurrent( double dSubCurrent, bool bRedrawUpdate ) -{ - m_dSubCurrent = dSubCurrent; + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_dCurrent = dSubCurrent; recalc( bRedrawUpdate ); } +// The progressbar goes from 0 to 1 usually. +// By supplying a subrange transformation the subCurrent-values +// 0 to 1 will be transformed to dMin to dMax instead. +// Requirement: 0 < dMin < dMax < 1 +void ProgressDialog::setRangeTransformation( double dMin, double dMax ) +{ + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_dRangeMin = dMin; + pld.m_dRangeMax = dMax; + pld.m_dCurrent = 0; +} + +void ProgressDialog::setSubRangeTransformation( double dMin, double dMax ) +{ + if ( m_progressStack.empty() ) + return; + ProgressLevelData& pld = m_progressStack.back(); + pld.m_dSubRangeMin = dMin; + pld.m_dSubRangeMax = dMax; +} void qt_enter_modal(QWidget*); void qt_leave_modal(QWidget*); @@ -1507,10 +1585,25 @@ void ProgressDialog::recalc( bool bUpdate ) { - if( (bUpdate && m_dSubCurrent == 0) || m_t1.elapsed()>200 ) + int level = m_progressStack.size(); + if( ( bUpdate && level==1) || m_t1.elapsed()>200 ) { - m_pProgressBar->setProgress( int( 1000.0 * m_dCurrent ) ); - m_pSubProgressBar->setProgress( int( 1000.0 * ( m_dSubCurrent * (m_dSubMax - m_dSubMin) + m_dSubMin ) ) ); + if (m_progressStack.empty() ) + { + m_pProgressBar->setProgress( 0 ); + m_pSubProgressBar->setProgress( 0 ); + } + else + { + std::list::iterator i = m_progressStack.begin(); + m_pProgressBar->setProgress( int( 1000.0 * ( i->m_dCurrent * (i->m_dRangeMax - i->m_dRangeMin) + i->m_dRangeMin ) ) ); + ++i; + if ( i!=m_progressStack.end() ) + m_pSubProgressBar->setProgress( int( 1000.0 * ( i->m_dCurrent * (i->m_dRangeMax - i->m_dRangeMin) + i->m_dRangeMin ) ) ); + else + m_pSubProgressBar->setProgress( int( 1000.0 * m_progressStack.front().m_dSubRangeMin ) ); + } + if ( !isVisible() ) show(); m_pSlowJobInfo->setText(""); qApp->processEvents(); @@ -1518,15 +1611,6 @@ } } -void ProgressDialog::start() -{ - setInformation("",0, true); - setSubInformation("",0); - m_bWasCancelled = false; - m_t1.restart(); - m_t2.restart(); - show(); -} #include void ProgressDialog::show() @@ -1558,10 +1642,9 @@ } QDialog::hide(); m_pInformation->setText( "" ); - m_dSubCurrent = 0; - m_dSubMin = 0; - m_dSubMax = 1; - m_dCurrent = 0; + + m_progressStack.clear(); + m_pProgressBar->setProgress( 0 ); m_pSubProgressBar->setProgress( 0 ); m_pSubInformation->setText(""); @@ -1589,16 +1672,6 @@ return m_bWasCancelled; } -// The progressbar goes from 0 to 1 usually. -// By supplying a subrange transformation the subCurrent-values -// 0 to 1 will be transformed to dMin to dMax instead. -// Requirement: 0 < dMin < dMax < 1 -void ProgressDialog::setSubRangeTransformation( double dMin, double dMax ) -{ - m_dSubMin = dMin; - m_dSubMax = dMax; - m_dSubCurrent = 0; -} void ProgressDialog::timerEvent(QTimerEvent*) { @@ -1610,4 +1683,58 @@ } +ProgressProxy::ProgressProxy() +{ + g_pProgressDialog->push(); +} + +ProgressProxy::~ProgressProxy() +{ + g_pProgressDialog->pop(false); +} + +void ProgressProxy::setInformation( const QString& info, bool bRedrawUpdate ) +{ + g_pProgressDialog->setInformation( info, bRedrawUpdate ); +} + +void ProgressProxy::setInformation( const QString& info, double dCurrent, bool bRedrawUpdate ) +{ + g_pProgressDialog->setInformation( info, dCurrent, bRedrawUpdate ); +} + +void ProgressProxy::setCurrent( double dCurrent, bool bRedrawUpdate ) +{ + g_pProgressDialog->setCurrent( dCurrent, bRedrawUpdate ); +} + +void ProgressProxy::step( bool bRedrawUpdate ) +{ + g_pProgressDialog->step( bRedrawUpdate ); +} + +void ProgressProxy::setMaxNofSteps( int maxNofSteps ) +{ + g_pProgressDialog->setMaxNofSteps( maxNofSteps ); +} + +bool ProgressProxy::wasCancelled() +{ + return g_pProgressDialog->wasCancelled(); +} + +void ProgressProxy::setRangeTransformation( double dMin, double dMax ) +{ + g_pProgressDialog->setRangeTransformation( dMin, dMax ); +} + +void ProgressProxy::setSubRangeTransformation( double dMin, double dMax ) +{ + g_pProgressDialog->setSubRangeTransformation( dMin, dMax ); +} + + + + + #include "fileaccess.moc" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/fileaccess.h --- a/kdiff3/src/fileaccess.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/fileaccess.h Thu Sep 16 02:40:08 2004 +0000 @@ -174,40 +174,51 @@ void setInformation( const QString& info, bool bRedrawUpdate=true ); void setInformation( const QString& info, double dCurrent, bool bRedrawUpdate=true ); - void step( bool bRedrawUpdate=true); - void setMaximum( int maximum ); - - void setSubInformation(const QString& info, double dSubCurrent, bool bRedrawUpdate=true ); - void setSubCurrent( double dSubCurrent, bool bRedrawUpdate=true ); + void setCurrent( double dCurrent, bool bRedrawUpdate=true ); + void step( bool bRedrawUpdate=true ); + void setMaxNofSteps( int dMaxNofSteps ); + void push(); + void pop(bool bRedrawUpdate=true); // The progressbar goes from 0 to 1 usually. // By supplying a subrange transformation the subCurrent-values // 0 to 1 will be transformed to dMin to dMax instead. // Requirement: 0 < dMin < dMax < 1 + void setRangeTransformation( double dMin, double dMax ); void setSubRangeTransformation( double dMin, double dMax ); void exitEventLoop(); void enterEventLoop( KIO::Job* pJob, const QString& jobInfo ); - void start(); - bool wasCancelled(); void show(); void hide(); - + virtual void timerEvent(QTimerEvent*); private: + + struct ProgressLevelData + { + ProgressLevelData() + { + m_dCurrent=0; m_maxNofSteps=1; m_dRangeMin=0; m_dRangeMax=1; + m_dSubRangeMin = 0; m_dSubRangeMax = 1; + } + double m_dCurrent; + int m_maxNofSteps; // when step() is used. + double m_dRangeMax; + double m_dRangeMin; + double m_dSubRangeMax; + double m_dSubRangeMin; + }; + std::list m_progressStack; + KProgress* m_pProgressBar; KProgress* m_pSubProgressBar; QLabel* m_pInformation; QLabel* m_pSubInformation; QLabel* m_pSlowJobInfo; QPushButton* m_pAbortButton; - int m_maximum; - double m_dCurrent; - double m_dSubCurrent; - double m_dSubMin; - double m_dSubMax; void recalc(bool bRedrawUpdate); QTime m_t1; QTime m_t2; @@ -221,6 +232,24 @@ void slotAbort(); }; +// When using the ProgressProxy you need not take care of the push and pop, except when explicit. +class ProgressProxy +{ +public: + ProgressProxy(); + ~ProgressProxy(); + + void setInformation( const QString& info, bool bRedrawUpdate=true ); + void setInformation( const QString& info, double dCurrent, bool bRedrawUpdate=true ); + void setCurrent( double dCurrent, bool bRedrawUpdate=true ); + void step( bool bRedrawUpdate=true ); + void setMaxNofSteps( int dMaxNofSteps ); + bool wasCancelled(); + void setRangeTransformation( double dMin, double dMax ); + void setSubRangeTransformation( double dMin, double dMax ); +private: +}; + extern ProgressDialog* g_pProgressDialog; diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/gnudiff_analyze.cpp --- a/kdiff3/src/gnudiff_analyze.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/gnudiff_analyze.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -449,7 +449,7 @@ while ((tem = tem >> 2) > 0) many *= 2; - for (i = 0; i < (int)end; i++) + for (i = 0; i < (lin)end; i++) { lin nmatch; if (equivs[i] == 0) @@ -457,7 +457,7 @@ nmatch = counts[equivs[i]]; if (nmatch == 0) discards[i] = 1; - else if (nmatch > (int)many) + else if (nmatch > (lin)many) discards[i] = 2; } } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/gnudiff_diff.h --- a/kdiff3/src/gnudiff_diff.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/gnudiff_diff.h Thu Sep 16 02:40:08 2004 +0000 @@ -398,9 +398,7 @@ // gnudiff_xmalloc.cpp void *xmalloc (size_t n); - void *xcalloc (size_t n, size_t s); void *xrealloc(void *p, size_t n); - char *xstrdup (const char *str); void xalloc_die (void); inline bool isWhite( char c ) @@ -410,7 +408,6 @@ }; // class GnuDiff # define XMALLOC(Type, N_items) ((Type *) xmalloc (sizeof (Type) * (N_items))) -# define XCALLOC(Type, N_items) ((Type *) xcalloc (sizeof (Type), (N_items))) # define XREALLOC(Ptr, Type, N_items) \ ((Type *) xrealloc ((void *) (Ptr), sizeof (Type) * (N_items))) diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/gnudiff_io.cpp --- a/kdiff3/src/gnudiff_io.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/gnudiff_io.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -269,7 +269,7 @@ i = eqs_index++; if (i == eqs_alloc) { - if ((int)(PTRDIFF_MAX / (2 * sizeof *eqs)) <= eqs_alloc) + if ((lin)(PTRDIFF_MAX / (2 * sizeof *eqs)) <= eqs_alloc) xalloc_die (); eqs_alloc *= 2; eqs = (equivclass*)xrealloc (eqs, eqs_alloc * sizeof *eqs); @@ -308,9 +308,9 @@ if (line == alloc_lines) { /* Double (alloc_lines - linbuf_base) by adding to alloc_lines. */ - if ((int)(PTRDIFF_MAX / 3) <= alloc_lines - || (int)(PTRDIFF_MAX / sizeof *cureqs) <= 2 * alloc_lines - linbuf_base - || (int)(PTRDIFF_MAX / sizeof *linbuf) <= alloc_lines - linbuf_base) + if ((lin)(PTRDIFF_MAX / 3) <= alloc_lines + || (lin)(PTRDIFF_MAX / sizeof *cureqs) <= 2 * alloc_lines - linbuf_base + || (lin)(PTRDIFF_MAX / sizeof *linbuf) <= alloc_lines - linbuf_base) xalloc_die (); alloc_lines = 2 * alloc_lines - linbuf_base; cureqs =(lin*) xrealloc (cureqs, alloc_lines * sizeof *cureqs); @@ -334,9 +334,9 @@ if (line == alloc_lines) { /* Double (alloc_lines - linbuf_base) by adding to alloc_lines. */ - if ((int)(PTRDIFF_MAX / 3) <= alloc_lines - || (int)(PTRDIFF_MAX / sizeof *cureqs) <= 2 * alloc_lines - linbuf_base - || (int)(PTRDIFF_MAX / sizeof *linbuf) <= alloc_lines - linbuf_base) + if ((lin)(PTRDIFF_MAX / 3) <= alloc_lines + || (lin)(PTRDIFF_MAX / sizeof *cureqs) <= 2 * alloc_lines - linbuf_base + || (lin)(PTRDIFF_MAX / sizeof *linbuf) <= alloc_lines - linbuf_base) xalloc_die (); alloc_lines = 2 * alloc_lines - linbuf_base; linbuf += linbuf_base; @@ -417,7 +417,7 @@ { size_t guessed_bytes_per_line = n < 10 ? 32 : s / (n - 1); lin guessed_lines = MAX (1, t / guessed_bytes_per_line); - return MIN (guessed_lines, (int)(PTRDIFF_MAX / (2 * sizeof (char *) + 1) - 5)) + 5; + return MIN (guessed_lines, (lin)(PTRDIFF_MAX / (2 * sizeof (char *) + 1) - 5)) + 5; } /* Given a vector of two file_data objects, find the identical @@ -550,7 +550,7 @@ rounded up to the next power of 2 to speed index computation. */ if (no_diff_means_no_output - && context < int(LIN_MAX / 4) && context < int(n0)) + && context < (lin)(LIN_MAX / 4) && context < (lin)(n0)) { middle_guess = guess_lines (0, 0, p0 - filevec[0].prefix_end); suffix_guess = guess_lines (0, 0, buffer0 + n0 - p0); @@ -581,7 +581,7 @@ lin l = lines++ & prefix_mask; if (l == alloc_lines0) { - if (int(PTRDIFF_MAX / (2 * sizeof *linbuf0)) <= alloc_lines0) + if ((lin)(PTRDIFF_MAX / (2 * sizeof *linbuf0)) <= alloc_lines0) xalloc_die (); alloc_lines0 *= 2; linbuf0 = (const char**) xrealloc (linbuf0, alloc_lines0 * sizeof *linbuf0); @@ -599,7 +599,7 @@ suffix_guess = guess_lines (lines, p0 - buffer0, buffer1 + n1 - p1); alloc_lines1 = buffered_prefix + middle_guess + MIN (context, suffix_guess); if (alloc_lines1 < buffered_prefix - || int(PTRDIFF_MAX / sizeof *linbuf1) <= alloc_lines1) + || (lin)(PTRDIFF_MAX / sizeof *linbuf1) <= alloc_lines1) xalloc_die (); linbuf1 = (const char**)xmalloc (alloc_lines1 * sizeof *linbuf1); @@ -656,7 +656,7 @@ find_identical_ends (filevec); equivs_alloc = filevec[0].alloc_lines + filevec[1].alloc_lines + 1; - if (int(PTRDIFF_MAX / sizeof *equivs) <= equivs_alloc) + if ((lin)(PTRDIFF_MAX / sizeof *equivs) <= equivs_alloc) xalloc_die (); equivs = (equivclass*)xmalloc (equivs_alloc * sizeof *equivs); /* Equivalence class 0 is permanently safe for lines that were not diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/gnudiff_xmalloc.cpp --- a/kdiff3/src/gnudiff_xmalloc.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/gnudiff_xmalloc.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -58,7 +58,7 @@ { void *p; - p = malloc (n); + p = malloc (n == 0 ? 1 : n); // There are systems where malloc returns 0 for n==0. if (p == 0) xalloc_die (); return p; @@ -70,24 +70,12 @@ void * GnuDiff::xrealloc (void *p, size_t n) { - p = realloc (p, n); + p = realloc (p, n==0 ? 1 : n); if (p == 0) xalloc_die (); return p; } -/* Allocate memory for N elements of S bytes, with error checking. */ - -void * -GnuDiff::xcalloc (size_t n, size_t s) -{ - void *p; - - p = calloc (n, s); - if (p == 0) - xalloc_die (); - return p; -} /* Yield a new block of SIZE bytes, initialized to zero. */ diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kdiff3.cpp --- a/kdiff3/src/kdiff3.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kdiff3.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -161,11 +161,21 @@ if ( args->count() > 1 ) m_sd3.setFilename( args->url(1).url() ); } + QCStringList aliasList = args->getOptionList("fname"); QCStringList::Iterator ali = aliasList.begin(); - if ( ali != aliasList.end() ) { m_sd1.setAliasName(*ali); ++ali; } - if ( ali != aliasList.end() ) { m_sd2.setAliasName(*ali); ++ali; } - if ( ali != aliasList.end() ) { m_sd3.setAliasName(*ali); ++ali; } + + QString an1 = args->getOption("L1"); + if ( !an1.isEmpty() ) { m_sd1.setAliasName(an1); } + else if ( ali != aliasList.end() ) { m_sd1.setAliasName(*ali); ++ali; } + + QString an2 = args->getOption("L2"); + if ( !an2.isEmpty() ) { m_sd2.setAliasName(an2); } + else if ( ali != aliasList.end() ) { m_sd2.setAliasName(*ali); ++ali; } + + QString an3 = args->getOption("L3"); + if ( !an3.isEmpty() ) { m_sd3.setAliasName(an3); } + else if ( ali != aliasList.end() ) { m_sd3.setAliasName(*ali); ++ali; } } /////////////////////////////////////////////////////////////////// // call inits to invoke all other construction parts @@ -182,6 +192,7 @@ showWhiteSpace->setChecked( m_pOptionDialog->m_bShowWhiteSpace ); showWhiteSpaceCharacters->setEnabled( m_pOptionDialog->m_bShowWhiteSpace ); showLineNumbers->setChecked( m_pOptionDialog->m_bShowLineNumbers ); + wordWrap->setChecked( m_pOptionDialog->m_bWordWrap ); m_pMainSplitter = this; //new QSplitter(this); m_pMainSplitter->setOrientation( Vertical ); @@ -192,12 +203,13 @@ KApplication::kApplication()->iconLoader() ); m_pDirectoryMergeInfo = new DirectoryMergeInfo( m_pDirectoryMergeSplitter ); m_pDirectoryMergeWindow->setDirectoryMergeInfo( m_pDirectoryMergeInfo ); - connect( m_pDirectoryMergeWindow, SIGNAL(startDiffMerge(QString,QString,QString,QString,QString,QString,QString)), - this, SLOT( slotFileOpen2(QString,QString,QString,QString,QString,QString,QString))); + connect( m_pDirectoryMergeWindow, SIGNAL(startDiffMerge(QString,QString,QString,QString,QString,QString,QString,TotalDiffStatus*)), + this, SLOT( slotFileOpen2(QString,QString,QString,QString,QString,QString,QString,TotalDiffStatus*))); connect( m_pDirectoryMergeWindow, SIGNAL(selectionChanged()), this, SLOT(slotUpdateAvailabilities())); connect( m_pDirectoryMergeWindow, SIGNAL(currentChanged(QListViewItem*)), this, SLOT(slotUpdateAvailabilities())); connect( m_pDirectoryMergeWindow, SIGNAL(checkIfCanContinue(bool*)), this, SLOT(slotCheckIfCanContinue(bool*))); connect( m_pDirectoryMergeWindow, SIGNAL(updateAvailabilities()), this, SLOT(slotUpdateAvailabilities())); + connect( m_pDirectoryMergeWindow, SIGNAL(statusBarMessage(const QString&)), this, SLOT(slotStatusMsg(const QString&))); m_pDirectoryMergeWindow->initDirectoryMergeActions( this, actionCollection() ); @@ -223,7 +235,8 @@ } } - m_bDirCompare = improveFilenames(); + bool bSuccess = improveFilenames(); + if ( m_bAuto && m_bDirCompare ) { std::cerr << i18n("Option --auto ignored for directory comparison.").ascii()< #include #include + +#include "version.h" + KDiff3Part::KDiff3Part( QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name ) : KParts::ReadOnlyPart(parent, name) @@ -137,7 +140,7 @@ if ( f1.exists() && f2.exists() && fileName1!=fileName2 ) { - m_widget->slotFileOpen2( fileName1, fileName2, "", "", "", "", "" ); + m_widget->slotFileOpen2( fileName1, fileName2, "", "", "", "", "", 0 ); return true; } else if ( version1.isEmpty() && f1.exists() ) @@ -151,7 +154,7 @@ ::system( cmd.ascii() ); m_widget->slotFileOpen2( fileName1, tempFileName, "", "", - "", version2.isEmpty() ? fileName2 : "REV:"+version2+":"+fileName2, "" ); // alias names + "", version2.isEmpty() ? fileName2 : "REV:"+version2+":"+fileName2, "", 0 ); // alias names FileAccess::removeFile( tempFileName ); } else if ( version2.isEmpty() && f2.exists() ) @@ -165,7 +168,7 @@ ::system( cmd.ascii() ); m_widget->slotFileOpen2( tempFileName, fileName2, "", "", - version1.isEmpty() ? fileName1 : "REV:"+version1+":"+fileName1, "", "" ); // alias name + version1.isEmpty() ? fileName1 : "REV:"+version1+":"+fileName1, "", "", 0 ); // alias name FileAccess::removeFile( tempFileName ); } else if ( !version1.isEmpty() && !version2.isEmpty() ) @@ -184,7 +187,7 @@ m_widget->slotFileOpen2( tempFileName1, tempFileName2, "", "", "REV:"+version1+":"+fileName1, "REV:"+version2+":"+fileName2, - "" + "", 0 ); FileAccess::removeFile( tempFileName1 ); @@ -260,7 +263,7 @@ { if( !s_instance ) { - s_about = new KAboutData("kdiff3part", I18N_NOOP("KDiff3Part"), "0.9.70"); + s_about = new KAboutData("kdiff3part", I18N_NOOP("KDiff3Part"), VERSION); s_about->addAuthor("Joachim Eibl", 0, "joachim.eibl@gmx.de"); s_instance = new KInstance(s_about); } @@ -275,4 +278,7 @@ } } +// Suppress warning with --enable-final +#undef VERSION + #include "kdiff3_part.moc" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kdiff3_part.rc --- a/kdiff3/src/kdiff3_part.rc Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kdiff3_part.rc Thu Sep 16 02:40:08 2004 +0000 @@ -6,8 +6,9 @@ - - + + + Configure KDiff3 @@ -17,7 +18,7 @@ - - + + diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kdiff3_shell.cpp --- a/kdiff3/src/kdiff3_shell.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kdiff3_shell.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -64,9 +64,13 @@ "This usually happens due to an installation problem. " "Please read the README-file in the source package for details.") ); - kapp->quit(); + //kapp->quit(); + + ::exit(-1); //kapp->quit() doesn't work here yet. + // we return here, cause kapp->quit() only means "exit the // next time we enter the event loop... + return; } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kdiff3_shell.rc --- a/kdiff3/src/kdiff3_shell.rc Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kdiff3_shell.rc Thu Sep 16 02:40:08 2004 +0000 @@ -47,6 +47,16 @@ + D&iffview + + + + + + + + + &Merge @@ -64,9 +74,6 @@ - - - &Window @@ -94,8 +101,8 @@ - - - + + + diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kdiff3part.desktop --- a/kdiff3/src/kdiff3part.desktop Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kdiff3part.desktop Thu Sep 16 02:40:08 2004 +0000 @@ -1,6 +1,7 @@ [Desktop Entry] Encoding=UTF-8 Name=KDiff3Part +Name[fr]=Composant KDiff3 Name[hi]=के-डिफ3पारà¥à¤Ÿ Name[pt_BR]=Componente KDiff3 Name[sv]=Kdiff3-del diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kreplacements/kreplacements.cpp --- a/kdiff3/src/kreplacements/kreplacements.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kreplacements/kreplacements.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -17,6 +17,7 @@ #include "kreplacements.h" +#include "common.h" #include @@ -31,17 +32,21 @@ #include #include #include +#include #include #include #include + static QString s_copyright; static QString s_email; static QString s_description; static QString s_appName; static QString s_version; static QString s_homepage; +static KAboutData* s_pAboutData; + #ifdef _WIN32 #include @@ -275,16 +280,25 @@ KToolBar::BarPosition KToolBar::barPos() { + if ( m_pMainWindow->leftDock()->hasDockWindow(this) ) return Left; + if ( m_pMainWindow->rightDock()->hasDockWindow(this) ) return Right; + if ( m_pMainWindow->topDock()->hasDockWindow(this) ) return Top; + if ( m_pMainWindow->bottomDock()->hasDockWindow(this) ) return Bottom; return Top; } -void KToolBar::setBarPos(BarPosition) +void KToolBar::setBarPos(BarPosition bp) { + if ( bp == Left ) m_pMainWindow->moveDockWindow( this, DockLeft ); + else if ( bp == Right ) m_pMainWindow->moveDockWindow( this, DockRight ); + else if ( bp == Bottom ) m_pMainWindow->moveDockWindow( this, DockBottom ); + else if ( bp == Top ) m_pMainWindow->moveDockWindow( this, DockTop ); } KToolBar::KToolBar( QMainWindow* parent ) : QToolBar( parent ) { + m_pMainWindow = parent; } @@ -301,6 +315,8 @@ dirCurrentSyncItemMenu = 0; movementMenu = new QPopupMenu(); menuBar()->insertItem(i18n("&Movement"), movementMenu); + diffMenu = new QPopupMenu(); + menuBar()->insertItem(i18n("D&iffview"), diffMenu); mergeMenu = new QPopupMenu(); menuBar()->insertItem(i18n("&Merge"), mergeMenu); windowsMenu = new QPopupMenu(); @@ -358,6 +374,52 @@ void KMainWindow::slotAbout() { + QTabDialog d; + d.setCaption("About " + s_appName); + QTextBrowser* tb1 = new QTextBrowser(&d); + tb1->setWordWrap( QTextEdit::NoWrap ); + tb1->setText( + s_appName + " Version " + s_version + + "\n\n" + s_description + + "\n\n" + s_copyright + + "\n\nHomepage: " + s_homepage + + "\n\nLicence: GNU GPL Version 2" + ); + d.addTab(tb1,i18n("&About")); + + std::list::iterator i; + + QString s2; + for( i=s_pAboutData->m_authorList.begin(); i!=s_pAboutData->m_authorList.end(); ++i ) + { + if ( !i->m_name.isEmpty() ) s2 += i->m_name + "\n"; + if ( !i->m_task.isEmpty() ) s2 += " " + i->m_task + "\n"; + if ( !i->m_email.isEmpty() ) s2 += " " + i->m_email + "\n"; + if ( !i->m_weblink.isEmpty() ) s2 += " " + i->m_weblink + "\n"; + s2 += "\n"; + } + QTextBrowser* tb2 = new QTextBrowser(&d); + tb2->setWordWrap( QTextEdit::NoWrap ); + tb2->setText(s2); + d.addTab(tb2,i18n("A&uthor")); + + QString s3; + for( i=s_pAboutData->m_creditList.begin(); i!=s_pAboutData->m_creditList.end(); ++i ) + { + if ( !i->m_name.isEmpty() ) s3 += i->m_name + "\n"; + if ( !i->m_task.isEmpty() ) s3 += " " + i->m_task + "\n"; + if ( !i->m_email.isEmpty() ) s3 += " " + i->m_email + "\n"; + if ( !i->m_weblink.isEmpty() ) s3 += " " + i->m_weblink + "\n"; + s3 += "\n"; + } + QTextBrowser* tb3 = new QTextBrowser(&d); + tb3->setWordWrap( QTextEdit::NoWrap ); + tb3->setText(s3); + d.addTab(tb3,i18n("&Thanks To")); + + d.resize(400,300); + d.exec(); +/* QMessageBox::information( this, "About " + s_appName, @@ -367,6 +429,7 @@ "\n\nHomepage: " + s_homepage + "\n\nLicence: GNU GPL Version 2" ); +*/ } void KMainWindow::slotHelp() @@ -516,8 +579,7 @@ void KConfig::writeEntry(const QString& k, const QFont& v ) { - //m_map[k] = v.toString(); - m_map[k] = v.family() + "," + QString::number(v.pointSize()); + m_map[k] = v.family() + "," + QString::number(v.pointSize()) + "," + (v.bold() ? "bold" : "normal"); } void KConfig::writeEntry(const QString& k, const QColor& v ) @@ -564,6 +626,7 @@ { f.setFamily( subSection( i->second, 0, ',' ) ); f.setPointSize( subSection( i->second, 1, ',' ).toInt() ); + f.setBold( subSection( i->second, 2, ',' )=="bold" ); //f.fromString(i->second); } @@ -705,6 +768,7 @@ } addTo( p->dirCurrentSyncItemMenu ); } + else if( name.left(4)=="diff") addTo( p->diffMenu ); else if( name[0]=='d') addTo( p->directoryMenu ); else if( name[0]=='f') addTo( p->fileMenu ); else if( name[0]=='w') addTo( p->windowsMenu ); @@ -753,6 +817,7 @@ } addTo( p->dirCurrentSyncItemMenu ); } + else if( name.left(4)=="diff") addTo( p->diffMenu ); else if( name[0]=='d') addTo( p->directoryMenu ); else if( name[0]=='f') addTo( p->fileMenu ); else if( name[0]=='w') addTo( p->windowsMenu ); @@ -1035,8 +1100,14 @@ { } -void KAboutData::addAuthor(const QString& /*name*/, int, const QString& /*email*/) +void KAboutData::addAuthor(const char* name, const char* task, const char* email, const char* weblink) { + m_authorList.push_back( AboutDataEntry( name, task, email, weblink) ); +} + +void KAboutData::addCredit(const char* name, const char* task, const char* email, const char* weblink) +{ + m_creditList.push_back( AboutDataEntry( name, task, email, weblink) ); } /* Option structure: e.g.: @@ -1062,10 +1133,11 @@ return &s_cmdLineArgs; } -void KCmdLineArgs::init( int argc, char**argv, KAboutData* ) // static +void KCmdLineArgs::init( int argc, char**argv, KAboutData* pAboutData ) // static { s_argc = argc; s_argv = argv; + s_pAboutData = pAboutData; } void KCmdLineArgs::addCmdLineOptions( KCmdLineOptions* options ) // static @@ -1206,7 +1278,36 @@ s += "If you start without arguments, then a dialog will appear\n"; s += "where you can select your files via a filebrowser.\n"; s += "\n"; - s += "For more documentation, see the help-menu or the subdirectory doc.\n"; + + s += "Options:\n"; + + j=0; + int pos=s.length(); + for( j=0; j1 ) s += "-"; + } + s += s_pOptions[j].shortName; + s += QString().fill(' ', minMaxLimiter( 20 - ((int)s.length()-pos), 3, 20 ) ); + s += s_pOptions[j].longName; + s +="\n"; + pos=s.length(); + } + else + { + s += "-"; + if ( strlen(s_pOptions[j].shortName)>1 ) s += "-"; + s += s_pOptions[j].shortName; + s += ", "; + } + } + + s += "\nFor 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")); diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/kreplacements/kreplacements.h --- a/kdiff3/src/kreplacements/kreplacements.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/kreplacements/kreplacements.h Thu Sep 16 02:40:08 2004 +0000 @@ -33,6 +33,7 @@ #include #include +#include QString getTranslationDir(); @@ -133,9 +134,11 @@ public: KToolBar(QMainWindow* parent); - enum BarPosition {Top}; + enum BarPosition {Top, Bottom, Left, Right}; BarPosition barPos(); void setBarPos(BarPosition); +private: + QMainWindow* m_pMainWindow; }; class KActionCollection @@ -177,6 +180,7 @@ QPopupMenu* dirCurrentSyncItemMenu; QPopupMenu* movementMenu; QPopupMenu* mergeMenu; + QPopupMenu* diffMenu; QPopupMenu* windowsMenu; QPopupMenu* settingsMenu; QPopupMenu* helpMenu; @@ -315,8 +319,23 @@ const QString& description, int licence, const QString& copyright, int w, const QString& homepage, const QString& email); KAboutData( const QString& name, const QString& appName, const QString& version ); - void addAuthor(const QString& name, int, const QString& email); + void addAuthor(const char* name=0, const char* task=0, const char* email=0, const char* weblink=0); + void addCredit(const char* name=0, const char* task=0, const char* email=0, const char* weblink=0); enum { License_GPL }; + + struct AboutDataEntry + { + AboutDataEntry(const QString& name, const QString& task, const QString& email, const QString& weblink) + : m_name(name), m_task(task), m_email(email), m_weblink(weblink) + {} + QString m_name; + QString m_task; + QString m_email; + QString m_weblink; + }; + + std::list m_authorList; + std::list m_creditList; }; typedef QValueList QCStringList; diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/main.cpp --- a/kdiff3/src/main.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/main.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -22,6 +22,9 @@ #include "version.h" #include +#ifdef KREPLACEMENTS_H +#include "optiondialog.h" +#endif static const char *description = I18N_NOOP("Text Diff and Merge Tool"); @@ -37,7 +40,12 @@ { "out file", I18N_NOOP("Output file, again. (For compatibility with certain tools.)"), 0 }, { "auto", I18N_NOOP("No GUI if all conflicts are auto-solvable. (Needs -o file)"), 0 }, { "qall", I18N_NOOP("Don't solve conflicts automatically. (For compatibility...)"), 0 }, - { "fname alias", I18N_NOOP("Visible name replacement. Supply this once for every input."), 0 }, + { "L1 alias1", I18N_NOOP("Visible name replacement for input file 1 (base)."), 0 }, + { "L2 alias2", I18N_NOOP("Visible name replacement for input file 2."), 0 }, + { "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 @@ -101,20 +109,41 @@ VERSION, description, KAboutData::License_GPL, "(c) 2002-2004 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("Stefan Partheymueller", "Clipboard-patch" ); + 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("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. KApplication app; #ifdef KREPLACEMENTS_H - QString translationDir = getTranslationDir(); - QString locale = QTextCodec::locale(); + QString locale; + + locale = app.config()->readEntry("Language", "Auto"); + int spacePos = locale.find(' '); + if (spacePos>0) locale = locale.left(spacePos); QTranslator kdiff3Translator( 0 ); - kdiff3Translator.load( QString("kdiff3_")+locale, translationDir ); - app.installTranslator( &kdiff3Translator ); - QTranslator qtTranslator( 0 ); - qtTranslator.load( QString("qt_")+locale, translationDir ); - app.installTranslator( &qtTranslator ); + if (locale != "en_orig") + { + if ( locale == "Auto" || locale.isEmpty() ) + locale = QTextCodec::locale(); + + QString translationDir = getTranslationDir(); + kdiff3Translator.load( QString("kdiff3_")+locale, translationDir ); + app.installTranslator( &kdiff3Translator ); + + qtTranslator.load( QString("qt_")+locale, translationDir ); + app.installTranslator( &qtTranslator ); + } #endif if (app.isRestored()) diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/mergeresultwindow.cpp --- a/kdiff3/src/mergeresultwindow.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/mergeresultwindow.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -28,6 +28,7 @@ #include #include #include +#include int g_bAutoSolve = true; @@ -36,7 +37,8 @@ MergeResultWindow::MergeResultWindow( QWidget* pParent, - OptionDialog* pOptionDialog + OptionDialog* pOptionDialog, + QStatusBar* pStatusBar ) : QWidget( pParent, 0, WRepaintNoErase ) { @@ -60,6 +62,7 @@ m_pDiff3LineList = 0; m_pTotalDiffStatus = 0; + m_pStatusBar = pStatusBar; m_pOptionDialog = pOptionDialog; m_bPaintingAllowed = false; @@ -81,7 +84,7 @@ const LineData* pLineDataB, const LineData* pLineDataC, const Diff3LineList* pDiff3LineList, - const TotalDiffStatus* pTotalDiffStatus, + TotalDiffStatus* pTotalDiffStatus, QString fileName ) { @@ -111,6 +114,7 @@ merge( g_bAutoSolve, -1 ); g_bAutoSolve = true; update(); + updateSourceMask(); } @@ -407,14 +411,38 @@ } } - m_currentMergeLineIt = m_mergeLineList.begin(); + int nrOfSolvedConflicts = 0; + int nrOfUnsolvedConflicts = 0; + int nrOfWhiteSpaceConflicts = 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->bWhiteSpaceConflict ) + ++nrOfWhiteSpaceConflicts; + } + + m_pTotalDiffStatus->nofUnsolvedConflicts = nrOfUnsolvedConflicts; + m_pTotalDiffStatus->nofSolvedConflicts = nrOfSolvedConflicts; + m_pTotalDiffStatus->nofWhitespaceConflicts = nrOfWhiteSpaceConflicts; + + m_cursorXPos=0; m_cursorOldXPos=0; m_cursorYPos=0; - m_firstLine = 0; - m_firstColumn = 0; + //m_firstLine = 0; // Must not set line/column without scrolling there + //m_firstColumn = 0; m_bModified = false; + + m_currentMergeLineIt = m_mergeLineList.begin(); + slotGoTop(); + updateAvailabilities(); update(); } @@ -504,76 +532,105 @@ while ( i!=m_mergeLineList.end() && ! i->mergeEditLineList.begin()->isConflict() ); } - setFastSelector( i ); - if ( isVisible() ) setFocus(); + + setFastSelector( i ); } bool MergeResultWindow::isDeltaAboveCurrent() { bool bSkipWhiteConflicts = ! m_pOptionDialog->m_bShowWhiteSpace; + if (m_mergeLineList.empty()) return false; MergeLineList::iterator i = m_currentMergeLineIt; - --i; - for( ; i!=m_mergeLineList.end(); --i ) + if (i == m_mergeLineList.begin()) return false; + do { + --i; if ( i->bDelta && !( bSkipWhiteConflicts && i->bWhiteSpaceConflict ) ) return true; - } + } + while (i!=m_mergeLineList.begin()); + return false; } bool MergeResultWindow::isDeltaBelowCurrent() { bool bSkipWhiteConflicts = ! m_pOptionDialog->m_bShowWhiteSpace; + if (m_mergeLineList.empty()) return false; + MergeLineList::iterator i = m_currentMergeLineIt; - ++i; - for( ; i!=m_mergeLineList.end(); ++i ) + if (i!=m_mergeLineList.end()) { - if ( i->bDelta && !( bSkipWhiteConflicts && i->bWhiteSpaceConflict ) ) return true; + ++i; + for( ; i!=m_mergeLineList.end(); ++i ) + { + if ( i->bDelta && !( bSkipWhiteConflicts && i->bWhiteSpaceConflict ) ) return true; + } } return false; } bool MergeResultWindow::isConflictAboveCurrent() { + if (m_mergeLineList.empty()) return false; MergeLineList::iterator i = m_currentMergeLineIt; - --i; - for( ; i!=m_mergeLineList.end(); --i ) + if (i == m_mergeLineList.begin()) return false; + + do { + --i; if ( i->bConflict ) return true; - } + } + while (i!=m_mergeLineList.begin()); + return false; } bool MergeResultWindow::isConflictBelowCurrent() { MergeLineList::iterator i = m_currentMergeLineIt; - ++i; - for( ; i!=m_mergeLineList.end(); ++i ) + if (m_mergeLineList.empty()) return false; + + if (i!=m_mergeLineList.end()) { - if ( i->bConflict ) return true; + ++i; + for( ; i!=m_mergeLineList.end(); ++i ) + { + if ( i->bConflict ) return true; + } } return false; } bool MergeResultWindow::isUnsolvedConflictAboveCurrent() { + if (m_mergeLineList.empty()) return false; MergeLineList::iterator i = m_currentMergeLineIt; - --i; - for( ; i!=m_mergeLineList.end(); --i ) + if (i == m_mergeLineList.begin()) return false; + + do { + --i; if ( i->mergeEditLineList.begin()->isConflict() ) return true; - } + } + while (i!=m_mergeLineList.begin()); + return false; } bool MergeResultWindow::isUnsolvedConflictBelowCurrent() { MergeLineList::iterator i = m_currentMergeLineIt; - ++i; - for( ; i!=m_mergeLineList.end(); ++i ) + if (m_mergeLineList.empty()) return false; + + if (i!=m_mergeLineList.end()) { - if ( i->mergeEditLineList.begin()->isConflict() ) return true; + ++i; + for( ; i!=m_mergeLineList.end(); ++i ) + { + if ( i->mergeEditLineList.begin()->isConflict() ) return true; + } } return false; } @@ -724,11 +781,15 @@ } update(); + updateSourceMask(); emit updateAvailabilities(); } void MergeResultWindow::choose( int selector ) { + if ( m_currentMergeLineIt==m_mergeLineList.end() ) + return; + setModified(); // First find range for which this change works. @@ -803,7 +864,9 @@ } update(); + updateSourceMask(); emit updateAvailabilities(); + m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1").arg(getNrOfUnsolvedConflicts()) ); } // bConflictsOnly: automatically choose for conflicts only (true) or for everywhere (false) @@ -814,6 +877,7 @@ merge( false, selector, bConflictsOnly, bWhiteSpaceOnly ); emit modified(); update(); + m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1").arg(getNrOfUnsolvedConflicts()) ); } void MergeResultWindow::slotAutoSolve() @@ -822,6 +886,7 @@ merge( true, -1 ); emit modified(); update(); + m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1").arg(getNrOfUnsolvedConflicts()) ); } void MergeResultWindow::slotUnsolve() @@ -830,6 +895,7 @@ merge( false, -1 ); emit modified(); update(); + m_pStatusBar->message( i18n("Number of remaining unsolved conflicts: %1").arg(getNrOfUnsolvedConflicts()) ); } void MergeResultWindow::myUpdate(int afterMilliSecs) @@ -915,7 +981,7 @@ /// Converts the index into the text to a cursor-posOnScreen considering tabulators. -int convertToPosOnScreen( const char* p, int posInText ) +int convertToPosOnScreen( const QString& p, int posInText ) { int posOnScreen = 0; for ( int i=0; im_fgColor ); + painter.drawLine( xCursor, yOffset, xCursor, yOffset+fontAscent ); painter.drawLine( xCursor-2, yOffset, xCursor+2, yOffset ); painter.drawLine( xCursor-2, yOffset+fontAscent+1, xCursor+2, yOffset+fontAscent+1 ); @@ -1227,6 +1273,48 @@ emit newSelection(); } +void MergeResultWindow::updateSourceMask() +{ + int srcMask=0; + int enabledMask = 0; + if( !hasFocus() || m_pDiff3LineList==0 || !m_bPaintingAllowed || m_currentMergeLineIt == m_mergeLineList.end() ) + { + srcMask = 0; + enabledMask = 0; + } + else + { + enabledMask = m_pldC==0 ? 3 : 7; + MergeLine& ml = *m_currentMergeLineIt; + + srcMask = 0; + bool bModified = false; + MergeEditLineList::iterator melIt; + for( melIt = ml.mergeEditLineList.begin(); melIt != ml.mergeEditLineList.end(); ++melIt ) + { + MergeEditLine& mel = *melIt; + if ( mel.src()==1 ) srcMask |= 1; + if ( mel.src()==2 ) srcMask |= 2; + if ( mel.src()==3 ) srcMask |= 4; + if ( mel.isModified() || !mel.isEditableText() ) bModified = true; + } + + if ( ml.mergeDetails == eNoChange ) + { + srcMask = 0; + enabledMask = bModified ? 1 : 0; + } + } + + emit sourceMask( srcMask, enabledMask ); +} + +void MergeResultWindow::focusInEvent( QFocusEvent* e ) +{ + updateSourceMask(); + QWidget::focusInEvent(e); +} + void MergeResultWindow::convertToLinePos( int x, int y, int& line, int& pos ) { const QFontMetrics& fm = fontMetrics(); @@ -1313,7 +1401,7 @@ m_cursorOldXPos = pos; m_cursorYPos = line; - pasteClipboard(); + pasteClipboard( true ); } } @@ -1901,7 +1989,7 @@ m_selection.reset(); } -void MergeResultWindow::pasteClipboard() +void MergeResultWindow::pasteClipboard( bool bFromSelection ) { if (m_selection.firstLine != -1 ) deleteSelection(); @@ -1918,7 +2006,13 @@ const char* ps = melIt->getString( this, stringLength ); int x = convertToPosInText( ps, stringLength, m_cursorXPos ); - QCString clipBoard = encodeString( QApplication::clipboard()->text(), m_pOptionDialog ); + if ( !QApplication::clipboard()->supportsSelection() ) + bFromSelection = false; + + QCString clipBoard = encodeString( + QApplication::clipboard()->text( bFromSelection ? QClipboard::Selection : QClipboard::Clipboard ), + m_pOptionDialog + ); QCString currentLine = QCString( ps, x+1 ); QCString endOfLine = QCString( ps+x, stringLength-x+1 ); @@ -2055,7 +2149,6 @@ KMessageBox::error( this, i18n("Error while writing."), i18n("File Save Error") ); return false; } - g_pProgressDialog->hide(); m_bModified = false; update(); @@ -2114,6 +2207,8 @@ m_pDiff3LineList = 0; m_pOptions = pOptions; m_bTripleDiff = false; + m_eOverviewMode = eOMNormal; + m_nofLines = 1; setFixedWidth(20); } @@ -2143,13 +2238,23 @@ update(); } +void Overview::setOverviewMode( e_OverviewMode eOverviewMode ) +{ + m_eOverviewMode = eOverviewMode; + slotRedraw(); +} + +Overview::e_OverviewMode Overview::getOverviewMode() +{ + return m_eOverviewMode; +} + void Overview::mousePressEvent( QMouseEvent* e ) { int h = height()-1; - int nofLines = m_pDiff3LineList->size(); - int h1 = h * m_pageHeight / nofLines+3; + int h1 = h * m_pageHeight / max2(1,m_nofLines)+3; if ( h>0 ) - emit setLine( ( e->y() - h1/2 )*nofLines/h ); + emit setLine( ( e->y() - h1/2 )*m_nofLines/h ); } void Overview::mouseMoveEvent( QMouseEvent* e ) @@ -2166,103 +2271,187 @@ } } +void Overview::drawColumn( QPainter& p, e_OverviewMode eOverviewMode, int x, int w, int h, int nofLines ) +{ + p.setPen(black); + p.drawLine( x, 0, x, h ); + + if (nofLines==0) return; + + int line = 0; + int oldY = 0; + int oldConflictY = -1; + int wrapLineIdx=0; + Diff3LineList::const_iterator i; + for( i = m_pDiff3LineList->begin(); i!= m_pDiff3LineList->end(); ) + { + const Diff3Line& d3l = *i; + int y = h * (line+1) / nofLines; + e_MergeDetails md; + bool bConflict; + bool bLineRemoved; + int src; + mergeOneLine( d3l, md, bConflict, bLineRemoved, src, !m_bTripleDiff ); + + QColor c = m_pOptions->m_bgColor; + bool bWhiteSpaceChange = false; + //if( bConflict ) c=m_pOptions->m_colorForConflict; + //else + if ( eOverviewMode==eOMNormal ) + { + switch( md ) + { + case eDefault: + case eNoChange: + c = m_pOptions->m_bgColor; + break; + + case eBAdded: + case eBDeleted: + case eBChanged: + c = bConflict ? m_pOptions->m_colorForConflict : m_pOptions->m_colorB; + bWhiteSpaceChange = d3l.bAEqB || d3l.bWhiteLineA && d3l.bWhiteLineB; + break; + + case eCAdded: + case eCDeleted: + case eCChanged: + bWhiteSpaceChange = d3l.bAEqC || d3l.bWhiteLineA && d3l.bWhiteLineC; + c = bConflict ? m_pOptions->m_colorForConflict : m_pOptions->m_colorC; + break; + + case eBCChanged: // conflict + case eBCChangedAndEqual: // possible conflict + case eBCDeleted: // possible conflict + case eBChanged_CDeleted: // conflict + case eCChanged_BDeleted: // conflict + case eBCAdded: // conflict + case eBCAddedAndEqual: // possible conflict + c=m_pOptions->m_colorForConflict; + break; + default: assert(false); break; + } + } + else if ( eOverviewMode==eOMAvsB ) + { + switch( md ) + { + case eDefault: + case eNoChange: + case eCAdded: + case eCDeleted: + case eCChanged: break; + default: c = m_pOptions->m_colorForConflict; + bWhiteSpaceChange = d3l.bAEqB || d3l.bWhiteLineA && d3l.bWhiteLineB; + break; + } + } + else if ( eOverviewMode==eOMAvsC ) + { + switch( md ) + { + case eDefault: + case eNoChange: + case eBAdded: + case eBDeleted: + case eBChanged: break; + default: c = m_pOptions->m_colorForConflict; + bWhiteSpaceChange = d3l.bAEqC || d3l.bWhiteLineA && d3l.bWhiteLineC; + break; + } + } + else if ( eOverviewMode==eOMBvsC ) + { + switch( md ) + { + case eDefault: + case eNoChange: + case eBCChangedAndEqual: + case eBCDeleted: + case eBCAddedAndEqual: break; + default: c=m_pOptions->m_colorForConflict; + bWhiteSpaceChange = d3l.bBEqC || d3l.bWhiteLineB && d3l.bWhiteLineC; + break; + } + } + + if (!bWhiteSpaceChange || m_pOptions->m_bShowWhiteSpace ) + { + // 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 ); + 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 ); + } + } + + oldY = y; + + ++line; + if ( m_pOptions->m_bWordWrap ) + { + ++wrapLineIdx; + if(wrapLineIdx>=d3l.linesNeededForDisplay) + { + wrapLineIdx=0; + ++i; + } + } + else + { + ++i; + } + } +} + void Overview::paintEvent( QPaintEvent* ) { if (m_pDiff3LineList==0 || !m_bPaintingAllowed ) return; int h = height()-1; int w = width(); - int nofLines = m_pDiff3LineList->size(); + if ( m_pixmap.size() != size() ) { + if ( m_pOptions->m_bWordWrap ) + { + m_nofLines = 0; + Diff3LineList::const_iterator i; + for( i = m_pDiff3LineList->begin(); i!= m_pDiff3LineList->end(); ++i ) + { + m_nofLines += i->linesNeededForDisplay; + } + } + else + { + m_nofLines = m_pDiff3LineList->size(); + } + m_pixmap.resize( size() ); QPainter p(&m_pixmap); + p.fillRect( rect(), m_pOptions->m_bgColor ); - p.fillRect( rect(), m_pOptions->m_bgColor ); - p.setPen(black); - p.drawLine( 0, 0, 0, h ); - - if (nofLines==0) return; - - int line = 0; - int oldY = 0; - int oldConflictY = -1; - Diff3LineList::const_iterator i; - for( i = m_pDiff3LineList->begin(); i!= m_pDiff3LineList->end(); ++i ) + if ( !m_bTripleDiff || m_eOverviewMode == eOMNormal ) { - const Diff3Line& d3l = *i; - int y = h * (line+1) / nofLines; - e_MergeDetails md; - bool bConflict; - bool bLineRemoved; - int src; - mergeOneLine( d3l, md, bConflict, bLineRemoved, src, !m_bTripleDiff ); - - QColor c; - bool bWhiteSpaceChange = false; - //if( bConflict ) c=m_pOptions->m_colorForConflict; - //else - { - switch( md ) - { - case eDefault: - case eNoChange: - c = m_pOptions->m_bgColor; - break; - - case eBAdded: - case eBDeleted: - case eBChanged: - c = bConflict ? m_pOptions->m_colorForConflict : m_pOptions->m_colorB; - bWhiteSpaceChange = d3l.bAEqB || d3l.bWhiteLineA && d3l.bWhiteLineB; - break; - - case eCAdded: - case eCDeleted: - case eCChanged: - bWhiteSpaceChange = d3l.bAEqC || d3l.bWhiteLineA && d3l.bWhiteLineC; - c = bConflict ? m_pOptions->m_colorForConflict : m_pOptions->m_colorC; - break; - - case eBCChanged: // conflict - case eBCChangedAndEqual: // possible conflict - case eBCDeleted: // possible conflict - case eBChanged_CDeleted: // conflict - case eCChanged_BDeleted: // conflict - case eBCAdded: // conflict - case eBCAddedAndEqual: // possible conflict - c=m_pOptions->m_colorForConflict; - break; - default: assert(false); break; - } - } - - if (!bWhiteSpaceChange || m_pOptions->m_bShowWhiteSpace ) - { - // Make sure that lines with conflict are not overwritten. - if ( c == m_pOptions->m_colorForConflict ) - { - p.fillRect(1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Dense4Pattern) : c ); - oldConflictY = oldY; - } - else if ( c!=m_pOptions->m_bgColor && oldY>oldConflictY ) - { - p.fillRect(1, oldY, w, max2(1,y-oldY), bWhiteSpaceChange ? QBrush(c,Dense4Pattern) : c ); - } - } - - oldY = y; - - ++line; + drawColumn( p, eOMNormal, 0, w, h, m_nofLines ); } + else + { + drawColumn( p, eOMNormal, 0, w/2, h, m_nofLines ); + drawColumn( p, m_eOverviewMode, w/2, w/2, h, m_nofLines ); + } } QPainter painter( this ); painter.drawPixmap( 0,0, m_pixmap ); - int y1 = h * m_firstLine / nofLines-1; - int h1 = h * m_pageHeight / nofLines+3; + int y1 = h * m_firstLine / m_nofLines-1; + int h1 = h * m_pageHeight / m_nofLines+3; painter.setPen(black); painter.drawRect( 1, y1, w-1, h1 ); } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/optiondialog.cpp --- a/kdiff3/src/optiondialog.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/optiondialog.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include #include @@ -43,6 +45,10 @@ #include "optiondialog.h" #include "diff.h" +#ifndef KREPLACEMENTS_H +#include +#endif + void OptionDialog::addOptionItem(OptionItem* p) { m_optionItemList.push_back(p); @@ -88,6 +94,27 @@ bool m_bDefaultVal; }; +class OptionRadioButton : public QRadioButton, public OptionItem +{ +public: + OptionRadioButton( QString text, bool bDefaultVal, const QString& saveName, bool* pbVar, + QWidget* pParent, OptionDialog* pOD ) + : QRadioButton( text, pParent ), OptionItem( pOD, saveName ) + { + m_pbVar = pbVar; + m_bDefaultVal = bDefaultVal; + } + 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 ); } +private: + OptionRadioButton( const OptionRadioButton& ); // private copy constructor without implementation + bool* m_pbVar; + bool m_bDefaultVal; +}; + class OptionToggleAction : public OptionItem { public: @@ -277,7 +304,9 @@ if (bShowDirMergeSettings) setupDirectoryMergePage(); - // setupRegionalPage(); +#ifdef KREPLACEMENTS_H + setupRegionalPage(); +#endif //setupKeysPage(); @@ -297,6 +326,7 @@ new OptionToggleAction( true, "ShowWhiteSpace", &m_bShowWhiteSpace, this ); new OptionToggleAction( false, "ShowLineNumbers", &m_bShowLineNumbers, this ); new OptionToggleAction( true, "HorizDiffWindowSplitting", &m_bHorizDiffWindowSplitting, this ); + new OptionToggleAction( false, "WordWrap", &m_bWordWrap, this ); } void OptionDialog::setupFontPage( void ) @@ -461,7 +491,7 @@ OptionCheckBox* pStringEncoding = new OptionCheckBox( i18n("Use locale encoding"), true, "LocaleEncoding", &m_bStringEncoding, page, this ); gbox->addMultiCellWidget( pStringEncoding, line, line, 0, 1 ); QToolTip::add( pStringEncoding, i18n( - "Change this if non-ascii-characters aren't displayed correctly." + "Change this if non-ASCII characters are not displayed correctly." )); ++line; @@ -503,10 +533,10 @@ ); ++line; - OptionCheckBox* pUpCase = new OptionCheckBox( i18n("Convert to upper case"), false, "UpCase", &m_bUpCase, page, this ); - gbox->addMultiCellWidget( pUpCase, line, line, 0, 1 ); - QToolTip::add( pUpCase, i18n( - "Turn all lower case characters to upper case on reading. (e.g.: 'a'->'A')") + OptionCheckBox* pIgnoreCase = new OptionCheckBox( i18n("Ignore case"), false, "IgnoreCase", &m_bIgnoreCase, page, this ); + gbox->addMultiCellWidget( pIgnoreCase, line, line, 0, 1 ); + QToolTip::add( pIgnoreCase, i18n( + "Treat case differences like white space changes. ('a'<=>'A')") ); ++line; @@ -658,17 +688,24 @@ "Files and directories without change will not appear in the list.")); ++line; - OptionCheckBox* pTrustDate = new OptionCheckBox( i18n("Trust the modification date (unsafe)"), false, "TrustDate", &m_bDmTrustDate, page, this ); - gbox->addMultiCellWidget( pTrustDate, line, line, 0, 1 ); + QVButtonGroup* pBG = new QVButtonGroup(i18n("File Comparison Mode"),page); + gbox->addMultiCellWidget( pBG, line, line, 0, 1 ); + ++line; + + OptionRadioButton* pBinaryComparison = new OptionRadioButton( i18n("Binary Comparison"), true, "BinaryComparison", &m_bDmBinaryComparison, pBG, this ); + QToolTip::add( pBinaryComparison, i18n("Binary comparison of each file. (Default)") ); + + OptionRadioButton* pFullAnalysis = new OptionRadioButton( i18n("Full Analysis"), false, "FullAnalysis", &m_bDmFullAnalysis, pBG, this ); + QToolTip::add( pFullAnalysis, i18n("Do a full analysis and show statistics information in extra columns.\n" + "(Slower than a binary comparison, much slower for binary files.)") ); + + OptionRadioButton* pTrustDate = new OptionRadioButton( i18n("Trust the modification date (unsafe)"), false, "TrustDate", &m_bDmTrustDate, pBG, this ); QToolTip::add( pTrustDate, i18n("Assume that files are equal if the modification date and file length are equal.\n" "Useful for big directories or slow networks.") ); - ++line; - OptionCheckBox* pTrustSize = new OptionCheckBox( i18n("Trust the size (unsafe)"), false, "TrustSize", &m_bDmTrustSize, page, this ); - gbox->addMultiCellWidget( pTrustSize, line, line, 0, 1 ); + OptionRadioButton* pTrustSize = new OptionRadioButton( i18n("Trust the size (unsafe)"), false, "TrustSize", &m_bDmTrustSize, pBG, this ); QToolTip::add( pTrustSize, i18n("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.") ); - ++line; // Some two Dir-options: Affects only the default actions. OptionCheckBox* pSyncMode = new OptionCheckBox( i18n("Synchronize directories"), false,"SyncMode", &m_bDmSyncMode, page, this ); @@ -696,7 +733,7 @@ topLayout->addStretch(10); } - +/* static void insertCodecs(OptionComboBox* p) { std::multimap m; // Using the multimap for case-insensitive sorting. @@ -713,9 +750,92 @@ for(mi=m.begin(), i=0; mi!=m.end(); ++mi, ++i) p->insertItem(mi->second, i+1); } +*/ void OptionDialog::setupRegionalPage( void ) { +#ifdef KREPLACEMENTS_H + +static char* countryMap[]={ +"af Afrikaans", +"ar Arabic", +"az Azerbaijani", +"be Belarusian", +"bg Bulgarian", +"bn Bengali", +"bo Tibetan", +"br Breton", +"bs Bosnian", +"ca Catalan", +"cs Czech", +"cy Welsh", +"da Danish", +"de German", +"el Greek", +"en_GB British English", +"eo Esperanto", +"es Spanish", +"et Estonian", +"eu Basque", +"fa Farsi (Persian)", +"fi Finnish", +"fo Faroese", +"fr French", +"ga Irish Gaelic", +"gl Galician", +"gu Gujarati", +"he Hebrew", +"hi Hindi", +"hr Croatian", +"hsb Upper Sorbian", +"hu Hungarian", +"id Indonesian", +"is Icelandic", +"it Italian", +"ja Japanese", +"ko Korean", +"ku Kurdish", +"lo Lao", +"lt Lithuanian", +"lv Latvian", +"mi Maori", +"mk Macedonian", +"mn Mongolian", +"ms Malay", +"mt Maltese", +"nb Norwegian Bookmal", +"nds Low Saxon", +"nl Dutch", +"nn Norwegian Nynorsk", +"nso Northern Sotho", +"oc Occitan", +"pl Polish", +"pt Portuguese", +"pt_BR Brazilian Portuguese", +"ro Romanian", +"ru Russian", +"se Northern Sami", +"sk Slovak", +"sl Slovenian", +"sq Albanian", +"sr Serbian", +"ss Swati", +"sv Swedish", +"ta Tamil", +"tg Tajik", +"th Thai", +"tr Turkish", +"uk Ukrainian", +"uz Uzbek", +"ven Venda", +"vi Vietnamese", +"wa Walloon", +"xh Xhosa", +"zh_CN Chinese Simplified", +"zh_TW Chinese Traditional", +"zu Zulu" +}; + QFrame *page = addPage( i18n("Regional Settings"), i18n("Regional Settings"), BarIcon("locale"/*"charset"*/, KIcon::SizeMedium ) ); QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() ); @@ -725,20 +845,43 @@ int line=0; QLabel* label; -#ifdef KREPLACEMENTS_H label = new QLabel( i18n("Language (restart required)"), page ); gbox->addWidget( label, line, 0 ); OptionComboBox* pLanguage = new OptionComboBox( 0, "Language", &m_language, page, this ); gbox->addWidget( pLanguage, line, 1 ); - pLanguage->insertItem( i18n("Auto"), 0 ); - // Read directory: Find all kdiff3_*.qm-files and insert the found files here selection + pLanguage->insertItem( "Auto", 0 ); // Must not translate, won't work otherwise! + pLanguage->insertItem( "en_orig" ); + + // Read directory: Find all kdiff3_*.qm-files and insert the found files here selection + FileAccess fa( getTranslationDir() ); + t_DirectoryList dirList; + fa.listDir( &dirList, false, false, "kdiff3_*.qm", "", "*", false, false ); + t_DirectoryList::iterator i; + for( i=dirList.begin(); i!=dirList.end(); ++i) + { + QString fileName = i->fileName(); + // Skip the "kdiff3_" and omit the .qm + QString languageId = fileName.mid(7, fileName.length()-10 ); + + unsigned int countryIdx=0; + for(countryIdx=0; countryIdx< sizeof(countryMap)/sizeof(countryMap[0]); ++countryIdx ) + { + QString fullName = countryMap[countryIdx]; + if ( languageId+" " == fullName.left(languageId.length()+1) ) + { + languageId += " (" + fullName.mid(languageId.length()+1) + ")"; + } + } + + pLanguage->insertItem( languageId ); + } + QToolTip::add( label, i18n( "Choose the language of the GUI-strings or \"Auto\".\n" "For a change of language to take place, quit and restart KDiff3.") ); ++line; -#endif - +/* label = new QLabel( i18n("Codec for file contents"), page ); gbox->addWidget( label, line, 0 ); OptionComboBox* pFileCodec = new OptionComboBox( 0, "FileCodec", &m_fileCodec, page, this ); @@ -749,8 +892,9 @@ "or \"Auto\" if unsure." ) ); ++line; - +*/ topLayout->addStretch(10); +#endif } @@ -823,8 +967,10 @@ #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( QFont("Courier", 10 ), true /*only fixed*/ ); + m_fontChooser->setFont( KGlobalSettings::fixedFont(), true /*only fixed*/ ); #endif } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/optiondialog.h --- a/kdiff3/src/optiondialog.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/optiondialog.h Thu Sep 16 02:40:08 2004 +0000 @@ -64,6 +64,8 @@ QColor m_currentRangeBgColor; QColor m_currentRangeDiffBgColor; + bool m_bWordWrap; + bool m_bReplaceTabs; bool m_bAutoIndentation; int m_tabSize; @@ -80,7 +82,7 @@ int m_whiteSpace2FileMergeDefault; int m_whiteSpace3FileMergeDefault; - bool m_bUpCase; + bool m_bIgnoreCase; bool m_bIgnoreNumbers; bool m_bIgnoreComments; QString m_PreProcessorCmd; @@ -102,6 +104,8 @@ bool m_bDmFollowDirLinks; bool m_bDmFindHidden; bool m_bDmCreateBakFiles; + bool m_bDmBinaryComparison; + bool m_bDmFullAnalysis; bool m_bDmTrustDate; bool m_bDmTrustSize; bool m_bDmCopyNewer; @@ -112,7 +116,7 @@ QString m_DmDirAntiPattern; QString m_language; - QString m_fileCodec; + //QString m_fileCodec; void saveOptions(KConfig* config); void readOptions(KConfig* config); diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/pdiff.cpp --- a/kdiff3/src/pdiff.cpp Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/pdiff.cpp Thu Sep 16 02:40:08 2004 +0000 @@ -1,7 +1,7 @@ /*************************************************************************** pdiff.cpp - Implementation for class KDiff3App --------------- - begin : Mon Mär 18 20:04:50 CET 2002 + begin : Mon M� 18 20:04:50 CET 2002 copyright : (C) 2002-2004 by Joachim Eibl email : joachim.eibl@gmx.de ***************************************************************************/ @@ -101,9 +101,10 @@ bool KDiff3App::runDiff( const LineData* p1, int size1, const LineData* p2, int size2, DiffList& diffList ) { + ProgressProxy pp; static GnuDiff gnuDiff; - g_pProgressDialog->setSubCurrent(0); + pp.setCurrent(0); diffList.clear(); if ( p1[0].pLine==0 || p2[0].pLine==0 ) @@ -133,7 +134,7 @@ gnuDiff.bIgnoreWhiteSpace = true; gnuDiff.bIgnoreNumbers = m_pOptionDialog->m_bIgnoreNumbers; gnuDiff.minimal = m_pOptionDialog->m_bTryHard; - gnuDiff.ignore_case = false; // m_pOptionDialog->m_bUpCase is applied while reading. + gnuDiff.ignore_case = false; GnuDiff::change* script = gnuDiff.diff_2_files( &comparisonInput ); int equalLinesAtStart = comparisonInput.file[0].prefix_lines; @@ -154,24 +155,35 @@ p = e->link; free (e); } - - if ( !diffList.empty() ) + + if ( diffList.empty() ) { - diffList.front().nofEquals += equalLinesAtStart; + Diff d(0,0,0); + d.nofEquals = min2(size1,size2); + d.diff1 = size1 - d.nofEquals; + d.diff2 = size2 - d.nofEquals; + diffList.push_back(d); +/* Diff d(0,0,0); + d.nofEquals = equalLinesAtStart; + if ( gnuDiff.files[0].missing_newline != gnuDiff.files[1].missing_newline ) + { + d.diff1 = gnuDiff.files[0].missing_newline ? 0 : 1; + d.diff2 = gnuDiff.files[1].missing_newline ? 0 : 1; + ++d.nofEquals; + } + else if ( !gnuDiff.files[0].missing_newline ) + { + ++d.nofEquals; + } + diffList.push_back(d); +*/ + } + else + { + diffList.front().nofEquals += equalLinesAtStart; currentLine1 += equalLinesAtStart; currentLine2 += equalLinesAtStart; - } - - if (size1-currentLine1==size2-currentLine2 ) - { - if (size1-currentLine1>0) - { - Diff d( size1-currentLine1,0,0); - diffList.push_back(d); - } - } - else if ( !diffList.empty() ) - { // Only necessary for a files that end with a newline + int nofEquals = min2(size1-currentLine1,size2-currentLine2); if ( nofEquals==0 ) { @@ -183,6 +195,18 @@ Diff d( nofEquals,size1-currentLine1-nofEquals,size2-currentLine2-nofEquals); diffList.push_back(d); } + + /* + if ( gnuDiff.files[0].missing_newline != gnuDiff.files[1].missing_newline ) + { + diffList.back().diff1 += gnuDiff.files[0].missing_newline ? 0 : 1; + diffList.back().diff2 += gnuDiff.files[1].missing_newline ? 0 : 1; + } + else if ( !gnuDiff.files[0].missing_newline ) + { + ++ diffList.back().nofEquals; + } + */ } } @@ -204,18 +228,25 @@ } #endif - g_pProgressDialog->setSubCurrent(1.0); + pp.setCurrent(1.0); return true; } -void KDiff3App::init( bool bAuto ) +void KDiff3App::init( bool bAuto, TotalDiffStatus* pTotalDiffStatus ) { + ProgressProxy pp; + // When doing a full analysis in the directory-comparison, then the statistics-results + // will be stored in the given TotalDiffStatus. Otherwise it will be 0. + bool bGUI = pTotalDiffStatus == 0; + if (pTotalDiffStatus==0) + pTotalDiffStatus = &m_totalDiffStatus; + bool bPreserveCarriageReturn = m_pOptionDialog->m_bPreserveCarriageReturn; bool bVisibleMergeResultWindow = ! m_outputFilename.isEmpty(); - if ( bVisibleMergeResultWindow ) + if ( bVisibleMergeResultWindow && bGUI ) { bPreserveCarriageReturn = false; @@ -225,10 +256,6 @@ { msg += "- " + i18n("PreprocessorCmd: ") + m_pOptionDialog->m_PreProcessorCmd + "\n"; } - if ( m_pOptionDialog->m_bUpCase ) - { - msg += "- " + i18n("Convert to upper case\n"); - } if ( !msg.isEmpty() ) { int result = KMessageBox::warningYesNo( this, @@ -242,7 +269,6 @@ if (result == KMessageBox::No ) { m_pOptionDialog->m_PreProcessorCmd = ""; - m_pOptionDialog->m_bUpCase = false; } } } @@ -259,58 +285,56 @@ if( m_sd3.isEmpty() ) - g_pProgressDialog->setMaximum( 4 ); // Read 2 files, 1 comparison, 1 finediff + pp.setMaxNofSteps( 4 ); // Read 2 files, 1 comparison, 1 finediff else - g_pProgressDialog->setMaximum( 9 ); // Read 3 files, 3 comparisons, 3 finediffs - - g_pProgressDialog->start(); + pp.setMaxNofSteps( 9 ); // Read 3 files, 3 comparisons, 3 finediffs // First get all input data. - g_pProgressDialog->setInformation(i18n("Loading A")); + pp.setInformation(i18n("Loading A")); m_sd1.readAndPreprocess(); - g_pProgressDialog->step(); + pp.step(); - g_pProgressDialog->setInformation(i18n("Loading B")); + pp.setInformation(i18n("Loading B")); m_sd2.readAndPreprocess(); - g_pProgressDialog->step(); + pp.step(); - m_totalDiffStatus.reset(); + pTotalDiffStatus->reset(); // Run the diff. if ( m_sd3.isEmpty() ) { - m_totalDiffStatus.bBinaryAEqB = m_sd1.getSizeBytes()!=0 && m_sd1.isBinaryEqualWith( m_sd2 ); - g_pProgressDialog->setInformation(i18n("Diff: A <-> B")); + 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 ); - g_pProgressDialog->step(); + pp.step(); - g_pProgressDialog->setInformation(i18n("Linediff: A <-> B")); + pp.setInformation(i18n("Linediff: A <-> B")); calcDiff3LineListUsingAB( &m_diffList12, m_diff3LineList ); - fineDiff( m_diff3LineList, 1, m_sd1.getLineDataForDisplay(), m_sd2.getLineDataForDisplay(), m_totalDiffStatus.bTextAEqB ); - if ( m_sd1.getSizeBytes()==0 ) m_totalDiffStatus.bTextAEqB=false; + fineDiff( m_diff3LineList, 1, m_sd1.getLineDataForDisplay(), m_sd2.getLineDataForDisplay(), pTotalDiffStatus->bTextAEqB ); + if ( m_sd1.getSizeBytes()==0 ) pTotalDiffStatus->bTextAEqB=false; - g_pProgressDialog->step(); + pp.step(); } else { - g_pProgressDialog->setInformation(i18n("Loading C")); + pp.setInformation(i18n("Loading C")); m_sd3.readAndPreprocess(); - g_pProgressDialog->step(); + pp.step(); - m_totalDiffStatus.bBinaryAEqB = m_sd1.getSizeBytes()!=0 && m_sd1.isBinaryEqualWith(m_sd2); - m_totalDiffStatus.bBinaryAEqC = m_sd1.getSizeBytes()!=0 && m_sd1.isBinaryEqualWith(m_sd3); - m_totalDiffStatus.bBinaryBEqC = m_sd3.getSizeBytes()!=0 && m_sd3.isBinaryEqualWith(m_sd2); + pTotalDiffStatus->bBinaryAEqB = m_sd1.isBinaryEqualWith( m_sd2 ); + pTotalDiffStatus->bBinaryAEqC = m_sd1.isBinaryEqualWith( m_sd3 ); + pTotalDiffStatus->bBinaryBEqC = m_sd3.isBinaryEqualWith( m_sd2 ); - g_pProgressDialog->setInformation(i18n("Diff: A <-> B")); + pp.setInformation(i18n("Diff: A <-> B")); runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_diffList12 ); - g_pProgressDialog->step(); - g_pProgressDialog->setInformation(i18n("Diff: B <-> C")); + pp.step(); + pp.setInformation(i18n("Diff: B <-> C")); runDiff( m_sd2.getLineDataForDiff(), m_sd2.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList23 ); - g_pProgressDialog->step(); - g_pProgressDialog->setInformation(i18n("Diff: A <-> C")); + pp.step(); + pp.setInformation(i18n("Diff: A <-> C")); runDiff( m_sd1.getLineDataForDiff(), m_sd1.getSizeLines(), m_sd3.getLineDataForDiff(), m_sd3.getSizeLines(), m_diffList13 ); - g_pProgressDialog->step(); + pp.step(); calcDiff3LineListUsingAB( &m_diffList12, m_diff3LineList ); calcDiff3LineListUsingAC( &m_diffList13, m_diff3LineList ); @@ -322,17 +346,17 @@ debugLineCheck( m_diff3LineList, m_sd2.getSizeLines(), 2 ); debugLineCheck( m_diff3LineList, m_sd3.getSizeLines(), 3 ); - g_pProgressDialog->setInformation(i18n("Linediff: A <-> B")); - fineDiff( m_diff3LineList, 1, m_sd1.getLineDataForDisplay(), m_sd2.getLineDataForDisplay(), m_totalDiffStatus.bTextAEqB ); - g_pProgressDialog->step(); - g_pProgressDialog->setInformation(i18n("Linediff: B <-> C")); - fineDiff( m_diff3LineList, 2, m_sd2.getLineDataForDisplay(), m_sd3.getLineDataForDisplay(), m_totalDiffStatus.bTextBEqC ); - g_pProgressDialog->step(); - g_pProgressDialog->setInformation(i18n("Linediff: A <-> C")); - fineDiff( m_diff3LineList, 3, m_sd3.getLineDataForDisplay(), m_sd1.getLineDataForDisplay(), m_totalDiffStatus.bTextAEqC ); - g_pProgressDialog->step(); - if ( m_sd1.getSizeBytes()==0 ) { m_totalDiffStatus.bTextAEqB=false; m_totalDiffStatus.bTextAEqC=false; } - if ( m_sd2.getSizeBytes()==0 ) { m_totalDiffStatus.bTextAEqB=false; m_totalDiffStatus.bTextBEqC=false; } + pp.setInformation(i18n("Linediff: A <-> B")); + fineDiff( m_diff3LineList, 1, m_sd1.getLineDataForDisplay(), m_sd2.getLineDataForDisplay(), pTotalDiffStatus->bTextAEqB ); + pp.step(); + pp.setInformation(i18n("Linediff: B <-> C")); + fineDiff( m_diff3LineList, 2, m_sd2.getLineDataForDisplay(), m_sd3.getLineDataForDisplay(), pTotalDiffStatus->bTextBEqC ); + pp.step(); + pp.setInformation(i18n("Linediff: A <-> C")); + fineDiff( m_diff3LineList, 3, m_sd3.getLineDataForDisplay(), m_sd1.getLineDataForDisplay(), pTotalDiffStatus->bTextAEqC ); + pp.step(); + if ( m_sd1.getSizeBytes()==0 ) { pTotalDiffStatus->bTextAEqB=false; pTotalDiffStatus->bTextAEqC=false; } + if ( m_sd2.getSizeBytes()==0 ) { pTotalDiffStatus->bTextAEqB=false; pTotalDiffStatus->bTextBEqC=false; } } calcWhiteDiff3Lines( m_diff3LineList, m_sd1.getLineDataForDiff(), m_sd2.getLineDataForDiff(), m_sd3.getLineDataForDiff() ); calcDiff3LineVector( m_diff3LineList, m_diff3LineVector ); @@ -342,19 +366,26 @@ m_pDirectoryMergeWindow->allowResizeEvents(false); initView(); + if ( !bGUI ) + { + m_pMainWidget->hide(); + } m_pDirectoryMergeWindow->allowResizeEvents(true); m_bTripleDiff = ! m_sd3.isEmpty(); - m_pDiffTextWindow1->init( m_sd1.getAliasName(), - m_sd1.getLineDataForDisplay(), m_sd1.getSizeLines(), &m_diff3LineVector, 1, m_bTripleDiff ); - m_pDiffTextWindow2->init( m_sd2.getAliasName(), - m_sd2.getLineDataForDisplay(), m_sd2.getSizeLines(), &m_diff3LineVector, 2, 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(); + if ( bGUI ) + { + m_pDiffTextWindow1->init( m_sd1.getAliasName(), + m_sd1.getLineDataForDisplay(), m_sd1.getSizeLines(), &m_diff3LineVector, 1, m_bTripleDiff ); + m_pDiffTextWindow2->init( m_sd2.getAliasName(), + m_sd2.getLineDataForDisplay(), m_sd2.getSizeLines(), &m_diff3LineVector, 2, 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_bOutputModified = bVisibleMergeResultWindow; @@ -363,15 +394,24 @@ m_sd2.getLineDataForDisplay(), m_bTripleDiff ? m_sd3.getLineDataForDisplay() : 0, &m_diff3LineList, - &m_totalDiffStatus, + 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(); + return; + } + m_pOverview->init(&m_diff3LineList, m_bTripleDiff ); m_pDiffVScrollBar->setValue( 0 ); m_pHScrollBar->setValue( 0 ); + m_pMergeVScrollBar->setValue( 0 ); - g_pProgressDialog->hide(); m_pDiffTextWindow1->setPaintingAllowed( true ); m_pDiffTextWindow2->setPaintingAllowed( true ); m_pDiffTextWindow3->setPaintingAllowed( true ); @@ -389,22 +429,68 @@ m_maxWidth = max2( m_maxWidth, m_pDiffTextWindow3->getNofColumns() ); m_maxWidth += 5; + // Try to create a meaningful but not too long caption + if ( !isPart() ) + { + // 1. If the filenames are equal then show only one filename + QString caption; + QString a1 = m_sd1.getAliasName(); + QString a2 = m_sd2.getAliasName(); + QString a3 = m_sd3.getAliasName(); + QString f1, f2, f3; + int p1,p2,p3; + if ( !a1.isEmpty() && (p1=a1.findRev('/'))>=0 ) + f1 = a1.mid( p1+1 ); + if ( !a2.isEmpty() && (p2=a2.findRev('/'))>=0 ) + f2 = a2.mid( p2+1 ); + if ( !a3.isEmpty() && (p3=a3.findRev('/'))>=0 ) + f3 = a3.mid( p3+1 ); + if ( !f1.isEmpty() ) + { + if ( ( f2.isEmpty() && f3.isEmpty() ) || + (f2.isEmpty() && f1==f3) || ( f3.isEmpty() && f1==f2 ) || (f1==f2 && f1==f3)) + caption = ".../"+f1; + } + else if ( ! f2.isEmpty() ) + { + if ( f3.isEmpty() || f2==f3 ) + caption = ".../"+f2; + } + 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()? "" : ".../"+f1 ); + caption += QString(caption.isEmpty() || f2.isEmpty() ? "" : " <-> ") + ( f2.isEmpty()? "" : ".../"+f2 ); + caption += QString(caption.isEmpty() || f3.isEmpty() ? "" : " <-> ") + ( f3.isEmpty()? "" : ".../"+f3 ) ; + } + + m_pKDiff3Shell->setCaption( caption.isEmpty() ? "KDiff3" : caption+" - KDiff3"); + } + + if ( bVisibleMergeResultWindow && !bAuto ) m_pMergeResultWindow->showNrOfConflicts(); - else if ( !bAuto ) + 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 ( m_totalDiffStatus.bBinaryAEqB && m_totalDiffStatus.bBinaryAEqC ) + if ( pTotalDiffStatus->bBinaryAEqB && pTotalDiffStatus->bBinaryAEqC ) totalInfo += i18n("All input files are binary equal."); - else if ( m_totalDiffStatus.bTextAEqB && m_totalDiffStatus.bTextAEqC ) + else if ( pTotalDiffStatus->bTextAEqB && pTotalDiffStatus->bTextAEqC ) totalInfo += i18n("All input files contain the same text."); else { - if ( m_totalDiffStatus.bBinaryAEqB ) totalInfo += i18n("Files A and B are binary equal.\n"); - else if ( m_totalDiffStatus.bTextAEqB ) totalInfo += i18n("Files A and B have equal text. \n"); - if ( m_totalDiffStatus.bBinaryAEqC ) totalInfo += i18n("Files A and C are binary equal.\n"); - else if ( m_totalDiffStatus.bTextAEqC ) totalInfo += i18n("Files A and C have equal text. \n"); - if ( m_totalDiffStatus.bBinaryBEqC ) totalInfo += i18n("Files B and C are binary equal.\n"); - else if ( m_totalDiffStatus.bTextBEqC ) totalInfo += i18n("Files B and C have equal text. \n"); + 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 ( !totalInfo.isEmpty() ) @@ -452,11 +538,14 @@ { m_pDiffTextWindow1->setFocus(); } + } void KDiff3App::resizeDiffTextWindow(int newWidth, int newHeight) { + recalcWordWrap(); + m_DTWHeight = newHeight; m_pDiffVScrollBar->setRange(0, max2(0, m_neededLines+1 - newHeight) ); m_pDiffVScrollBar->setPageStep( newHeight ); @@ -573,7 +662,7 @@ m_pMergeWindowFrame = new QFrame( pVSplitter ); QHBoxLayout* pMergeHLayout = new QHBoxLayout( m_pMergeWindowFrame ); - m_pMergeResultWindow = new MergeResultWindow( m_pMergeWindowFrame, m_pOptionDialog ); + m_pMergeResultWindow = new MergeResultWindow( m_pMergeWindowFrame, m_pOptionDialog, statusBar() ); pMergeHLayout->addWidget( m_pMergeResultWindow ); m_pMergeVScrollBar = new QScrollBar( Vertical, m_pMergeWindowFrame ); @@ -638,8 +727,15 @@ connect(m_pDiffTextWindow1, SIGNAL(setFastSelectorLine(int)), p, SLOT(slotSetFastSelectorLine(int))); connect(m_pDiffTextWindow2, SIGNAL(setFastSelectorLine(int)), p, SLOT(slotSetFastSelectorLine(int))); connect(m_pDiffTextWindow3, SIGNAL(setFastSelectorLine(int)), p, SLOT(slotSetFastSelectorLine(int))); + connect(m_pDiffTextWindow1, SIGNAL(gotFocus()), p, SLOT(updateSourceMask())); + connect(m_pDiffTextWindow2, SIGNAL(gotFocus()), p, SLOT(updateSourceMask())); + connect(m_pDiffTextWindow3, SIGNAL(gotFocus()), p, SLOT(updateSourceMask())); + connect(m_pDirectoryMergeInfo, SIGNAL(gotFocus()), p, SLOT(updateSourceMask())); 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())); m_pDiffTextWindow1->setFocus(); m_pMainWidget->setMinimumSize(50,50); @@ -664,6 +760,7 @@ void KDiff3App::slotAfterFirstPaint() { + recalcWordWrap(); int newHeight = m_pDiffTextWindow1->getNofVisibleLines(); int newWidth = m_pDiffTextWindow1->getNofVisibleColumns(); m_DTWHeight = newHeight; @@ -1096,7 +1193,10 @@ else m_outputFilename = ""; - m_bDirCompare = improveFilenames(); + bool bSuccess = improveFilenames(); + if ( !bSuccess ) + continue; + if ( m_bDirCompare ) { m_pDirectoryMergeSplitter->show(); @@ -1137,7 +1237,7 @@ } void KDiff3App::slotFileOpen2(QString fn1, QString fn2, QString fn3, QString ofn, - QString an1, QString an2, QString an3 ) + QString an1, QString an2, QString an3, TotalDiffStatus* pTotalDiffStatus ) { if ( !canContinue() ) return; @@ -1162,16 +1262,20 @@ m_bDefaultFilename = true; } - bool bDirCompare = improveFilenames(); // Using local bDirCompare is intended, because - // this method is called from the directory-merge-window. - - if( bDirCompare ) + bool bDirCompare = m_bDirCompare; + improveFilenames(); + + if( m_bDirCompare ) { } else { - init(); + m_bDirCompare = bDirCompare; // Don't allow this to change here. + init( false, pTotalDiffStatus ); + if ( pTotalDiffStatus!=0 ) + return; + if ( ! m_sd1.isEmpty() && ! m_sd1.hasData() || ! m_sd2.isEmpty() && ! m_sd2.hasData() || ! m_sd3.isEmpty() && ! m_sd3.hasData() ) @@ -1241,23 +1345,23 @@ if ( m_pMergeResultWindow!=0 && m_pMergeResultWindow->isVisible() ) { - m_pMergeResultWindow->pasteClipboard(); + m_pMergeResultWindow->pasteClipboard(false); } else if ( canContinue() ) { if ( m_pDiffTextWindow1->hasFocus() ) { - m_sd1.setData( QApplication::clipboard()->text() ); + m_sd1.setData( QApplication::clipboard()->text(QClipboard::Clipboard) ); init(); } else if ( m_pDiffTextWindow2->hasFocus() ) { - m_sd2.setData( QApplication::clipboard()->text() ); + m_sd2.setData( QApplication::clipboard()->text(QClipboard::Clipboard) ); init(); } else if ( m_pDiffTextWindow3->hasFocus() ) { - m_sd3.setData( QApplication::clipboard()->text() ); + m_sd3.setData( QApplication::clipboard()->text(QClipboard::Clipboard) ); init(); } } @@ -1340,7 +1444,6 @@ { if ( pMRW ) { - pThis->slotGoTop(); pMRW->chooseGlobal(selector, bConflictsOnly, bWhiteSpaceOnly ); } } @@ -1360,7 +1463,6 @@ { if (m_pMergeResultWindow ) { - slotGoTop(); m_pMergeResultWindow->slotAutoSolve(); // m_pMergeWindowFrame->show(); incompatible with bPreserveCarriageReturn m_pMergeResultWindow->showNrOfConflicts(); @@ -1372,7 +1474,6 @@ { if (m_pMergeResultWindow ) { - slotGoTop(); m_pMergeResultWindow->slotUnsolve(); } } @@ -1481,6 +1582,107 @@ m_pOptionDialog->m_bAutoAdvance = autoAdvance->isChecked(); } +void KDiff3App::slotWordWrapToggled() +{ + m_pOptionDialog->m_bWordWrap = wordWrap->isChecked(); + recalcWordWrap(); +} + +void KDiff3App::recalcWordWrap() +{ + int firstD3LIdx = 0; + if( m_pDiffTextWindow1 ) + firstD3LIdx = m_pDiffTextWindow1->convertLineToDiff3LineIdx( m_pDiffTextWindow1->getFirstLine() ); + + // Convert selection to D3L-coords (converting back happens in DiffTextWindow::recalcWordWrap() + if ( m_pDiffTextWindow1 ) + m_pDiffTextWindow1->convertSelectionToD3LCoords(); + if ( m_pDiffTextWindow2 ) + 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 ) + { + Diff3Line& d3l = *i; + d3l.linesNeededForDisplay = 1; + d3l.sumLinesNeededForDisplay = sumOfLines; + sumOfLines += d3l.linesNeededForDisplay; + } + + // Let every window calc how many lines will be needed. + if ( m_pDiffTextWindow1 ) + m_pDiffTextWindow1->recalcWordWrap(true,0); + if ( m_pDiffTextWindow2 ) + m_pDiffTextWindow2->recalcWordWrap(true,0); + if ( m_pDiffTextWindow3 ) + m_pDiffTextWindow3->recalcWordWrap(true,0); + + sumOfLines=0; + for ( i=m_diff3LineList.begin(); i!=m_diff3LineList.end(); ++i ) + { + Diff3Line& d3l = *i; + d3l.sumLinesNeededForDisplay = sumOfLines; + sumOfLines += d3l.linesNeededForDisplay; + } + + // Finish the initialisation: + if ( m_pDiffTextWindow1 ) + m_pDiffTextWindow1->recalcWordWrap(true,sumOfLines); + if ( m_pDiffTextWindow2 ) + m_pDiffTextWindow2->recalcWordWrap(true,sumOfLines); + if ( m_pDiffTextWindow3 ) + m_pDiffTextWindow3->recalcWordWrap(true,sumOfLines); + + m_neededLines = sumOfLines; + } + else + { + m_neededLines = m_diff3LineVector.size(); + if ( m_pDiffTextWindow1 ) + m_pDiffTextWindow1->recalcWordWrap(false,0); + if ( m_pDiffTextWindow2 ) + m_pDiffTextWindow2->recalcWordWrap(false,0); + if ( m_pDiffTextWindow3 ) + m_pDiffTextWindow3->recalcWordWrap(false,0); + } + m_pOverview->slotRedraw(); + if ( m_pDiffTextWindow1 ) + { + m_pDiffTextWindow1->setFirstLine( m_pDiffTextWindow1->convertDiff3LineIdxToLine( firstD3LIdx ) ); + m_pDiffTextWindow1->update(); + } + if ( m_pDiffTextWindow2 ) + { + m_pDiffTextWindow2->setFirstLine( m_pDiffTextWindow2->convertDiff3LineIdxToLine( firstD3LIdx ) ); + m_pDiffTextWindow2->update(); + } + if ( m_pDiffTextWindow3 ) + { + m_pDiffTextWindow3->setFirstLine( m_pDiffTextWindow3->convertDiff3LineIdxToLine( firstD3LIdx ) ); + m_pDiffTextWindow3->update(); + } + + m_pDiffVScrollBar->setRange(0, max2(0, m_neededLines+1 - m_DTWHeight) ); + 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); + } +} + void KDiff3App::slotShowWhiteSpaceToggled() { m_pOptionDialog->m_bShowWhiteSpaceCharacters = showWhiteSpaceCharacters->isChecked(); @@ -1507,9 +1709,11 @@ m_pDiffTextWindow3->update(); } -/// Return true for directory compare, else false +/// Return true for success, else false bool KDiff3App::improveFilenames() { + m_bDirCompare = false; + FileAccess f1(m_sd1.getFilename()); FileAccess f2(m_sd2.getFilename()); FileAccess f3(m_sd3.getFilename()); @@ -1538,26 +1742,33 @@ } else if ( f1.isDir() ) { + m_bDirCompare = true; FileAccess destDir; if (!m_bDefaultFilename) destDir = f4; m_pDirectoryMergeSplitter->show(); - m_pDirectoryMergeWindow->init( + if (m_pMainWidget!=0) m_pMainWidget->hide(); + + bool bSuccess = m_pDirectoryMergeWindow->init( f1, f2, f3, destDir, // Destdirname !m_outputFilename.isEmpty() ); - - if (m_pMainWidget!=0) m_pMainWidget->hide(); - 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,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); + } slotUpdateAvailabilities(); - return true; + return bSuccess; } - return false; + return true; } void KDiff3App::slotReload() @@ -1705,14 +1916,16 @@ int d3vLine = m_pFindDialog->currentLine; int posInLine = m_pFindDialog->currentPos; + int l=0; + int p=0; if ( m_pFindDialog->currentWindow == 1 ) { if ( m_pFindDialog->m_pSearchInA->isChecked() && m_pDiffTextWindow1!=0 && m_pDiffTextWindow1->findString( s, d3vLine, posInLine, bDirDown, bCaseSensitive ) ) { - m_pDiffTextWindow1->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length() ); - m_pDiffVScrollBar->setValue(d3vLine-m_pDiffVScrollBar->pageStep()/2); - m_pHScrollBar->setValue( max2( 0, posInLine+(int)s.length()-m_pHScrollBar->pageStep()) ); + m_pDiffTextWindow1->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length(), l, p ); + m_pDiffVScrollBar->setValue(l-m_pDiffVScrollBar->pageStep()/2); + m_pHScrollBar->setValue( max2( 0, p+(int)s.length()-m_pHScrollBar->pageStep()) ); m_pFindDialog->currentLine = d3vLine; m_pFindDialog->currentPos = posInLine + 1; return; @@ -1729,9 +1942,9 @@ if ( m_pFindDialog->m_pSearchInB->isChecked() && m_pDiffTextWindow2!=0 && m_pDiffTextWindow2->findString( s, d3vLine, posInLine, bDirDown, bCaseSensitive ) ) { - m_pDiffTextWindow2->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length() ); - m_pDiffVScrollBar->setValue(d3vLine-m_pDiffVScrollBar->pageStep()/2); - m_pHScrollBar->setValue( max2( 0, posInLine+(int)s.length()-m_pHScrollBar->pageStep()) ); + m_pDiffTextWindow2->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length(),l,p ); + m_pDiffVScrollBar->setValue(l-m_pDiffVScrollBar->pageStep()/2); + m_pHScrollBar->setValue( max2( 0, p+(int)s.length()-m_pHScrollBar->pageStep()) ); m_pFindDialog->currentLine = d3vLine; m_pFindDialog->currentPos = posInLine + 1; return; @@ -1748,9 +1961,9 @@ if ( m_pFindDialog->m_pSearchInC->isChecked() && m_pDiffTextWindow3!=0 && m_pDiffTextWindow3->findString( s, d3vLine, posInLine, bDirDown, bCaseSensitive ) ) { - m_pDiffTextWindow3->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length() ); - m_pDiffVScrollBar->setValue(d3vLine-m_pDiffVScrollBar->pageStep()/2); - m_pHScrollBar->setValue( max2( 0, posInLine+(int)s.length()-m_pHScrollBar->pageStep()) ); + m_pDiffTextWindow3->setSelection( d3vLine, posInLine, d3vLine, posInLine+s.length(),l,p ); + m_pDiffVScrollBar->setValue(l-m_pDiffVScrollBar->pageStep()/2); + m_pHScrollBar->setValue( max2( 0, p+(int)s.length()-m_pHScrollBar->pageStep()) ); m_pFindDialog->currentLine = d3vLine; m_pFindDialog->currentPos = posInLine + 1; return; @@ -1827,16 +2040,17 @@ } std::list visibleWidgetList; - if ( m_pDiffTextWindow1->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow1); - if ( m_pDiffTextWindow2->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow2); - if ( m_pDiffTextWindow3->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow3); - if ( m_pMergeResultWindow->isVisible() ) visibleWidgetList.push_back(m_pMergeResultWindow); + if ( m_pDiffTextWindow1 && m_pDiffTextWindow1->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow1); + if ( m_pDiffTextWindow2 && m_pDiffTextWindow2->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow2); + if ( m_pDiffTextWindow3 && m_pDiffTextWindow3->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow3); + if ( m_pMergeResultWindow && m_pMergeResultWindow->isVisible() ) visibleWidgetList.push_back(m_pMergeResultWindow); if ( m_bDirCompare /*m_pDirectoryMergeWindow->isVisible()*/ ) visibleWidgetList.push_back(m_pDirectoryMergeWindow); //if ( m_pDirectoryMergeInfo->isVisible() ) visibleWidgetList.push_back(m_pDirectoryMergeInfo->getInfoList()); std::list::iterator i = std::find( visibleWidgetList.begin(), visibleWidgetList.end(), focus); ++i; - if ( i==visibleWidgetList.end() ) ++i; // if at end goto begin of list + if ( i==visibleWidgetList.end() ) + i = visibleWidgetList.begin(); if ( i!=visibleWidgetList.end() ) { if ( *i == m_pDirectoryMergeWindow && ! dirShowBoth->isChecked() ) @@ -1856,10 +2070,10 @@ } std::list visibleWidgetList; - if ( m_pDiffTextWindow1->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow1); - if ( m_pDiffTextWindow2->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow2); - if ( m_pDiffTextWindow3->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow3); - if ( m_pMergeResultWindow->isVisible() ) visibleWidgetList.push_back(m_pMergeResultWindow); + if ( m_pDiffTextWindow1 && m_pDiffTextWindow1->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow1); + if ( m_pDiffTextWindow2 && m_pDiffTextWindow2->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow2); + if ( m_pDiffTextWindow3 && m_pDiffTextWindow3->isVisible() ) visibleWidgetList.push_back(m_pDiffTextWindow3); + if ( m_pMergeResultWindow && m_pMergeResultWindow->isVisible() ) visibleWidgetList.push_back(m_pMergeResultWindow); if (m_bDirCompare /* m_pDirectoryMergeWindow->isVisible() */ ) visibleWidgetList.push_back(m_pDirectoryMergeWindow); //if ( m_pDirectoryMergeInfo->isVisible() ) visibleWidgetList.push_back(m_pDirectoryMergeInfo->getInfoList()); @@ -1888,9 +2102,34 @@ } } +void KDiff3App::slotOverviewNormal() +{ + m_pOverview->setOverviewMode( Overview::eOMNormal ); + slotUpdateAvailabilities(); +} + +void KDiff3App::slotOverviewAB() +{ + m_pOverview->setOverviewMode( Overview::eOMAvsB ); + slotUpdateAvailabilities(); +} + +void KDiff3App::slotOverviewAC() +{ + m_pOverview->setOverviewMode( Overview::eOMAvsC ); + slotUpdateAvailabilities(); +} + +void KDiff3App::slotOverviewBC() +{ + m_pOverview->setOverviewMode( Overview::eOMBvsC ); + slotUpdateAvailabilities(); +} + void KDiff3App::slotUpdateAvailabilities() { bool bTextDataAvailable = ( m_sd1.hasData() || m_sd2.hasData() || m_sd3.hasData() ); + if( dirShowBoth->isChecked() ) { if ( m_bDirCompare ) @@ -1899,10 +2138,11 @@ m_pDirectoryMergeSplitter->hide(); if ( m_pMainWidget!=0 && !m_pMainWidget->isVisible() && - bTextDataAvailable + bTextDataAvailable && !m_pDirectoryMergeWindow->isScanning() ) m_pMainWidget->show(); } + bool bDiffWindowVisible = m_pMainWidget != 0 && m_pMainWidget->isVisible(); bool bMergeEditorVisible = m_pMergeWindowFrame !=0 && m_pMergeWindowFrame->isVisible(); @@ -1958,6 +2198,16 @@ 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 ); + overviewModeBC->setEnabled( m_bTripleDiff && bDiffWindowVisible ); + Overview::e_OverviewMode overviewMode = m_pOverview==0 ? Overview::eOMNormal : m_pOverview->getOverviewMode(); + overviewModeNormal->setChecked( overviewMode == Overview::eOMNormal ); + overviewModeAB->setChecked( overviewMode == Overview::eOMAvsB ); + overviewModeAC->setChecked( overviewMode == Overview::eOMAvsC ); + overviewModeBC->setChecked( overviewMode == Overview::eOMBvsC ); winToggleSplitOrientation->setEnabled( bDiffWindowVisible && m_pDiffWindowSplitter!=0 ); } diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/src/version.h --- a/kdiff3/src/version.h Sun Mar 07 10:58:36 2004 +0000 +++ b/kdiff3/src/version.h Thu Sep 16 02:40:08 2004 +0000 @@ -1,2 +1,2 @@ #undef VERSION -#define VERSION "0.9.83" +#define VERSION "0.9.86" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/windows_installer/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/windows_installer/README Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,9 @@ +This directory contains the files needed to create the windows installer. + +Note that files that are created by some process are omitted here. +These are: +kdiff3.exe (compiler output) +kdiff3*.qm-files (translation output, see po-directory) +qt*.qm-files (translation files that come with Qt) +Changelog.txt (../Changelog converted to dos) +COPYING (../COPYING converted to dos) \ No newline at end of file diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/windows_installer/README_WIN.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/windows_installer/README_WIN.txt Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,103 @@ +KDiff3-Readme for Windows +========================= + +Author: Joachim Eibl (joachim.eibl@gmx.de) +Copyright: (C) 2002-2004 by Joachim Eibl +KDiff3-Version: 0.9.84 +Homepage: http://kdiff3.sourceforge.net + +KDiff3 is a program that +- compares and merges two or three input files or directories, +- shows the differences line by line and character by character (!), +- provides an automatic merge-facility and +- an integrated editor for comfortable solving of merge-conflicts +- and has an intuitive graphical user interface. + +Now KDiff3-strings are translated into some languages by the KDE-I18N-team. +(*.qm-files in the KDiff3-directory) + +See the Changelog.txt for a list of fixed bugs and new features. + +Windows-specific information for the precompiled KDiff3 version: +================================================================ + +This executable is provided for the convenience of users who don't have a +VC6-compiler at hand. + +You may redistribute it under the terms of the GNU GENERAL PUBLIC LICENCE. + +Note that there is NO WARRANTY for this program. + +Installation: +- The installer was created by Sebastien Fricker (sebastien.fricker@web.de). + It is based on the Nullsoft Scriptable Install System (http://nsis.sourceforge.net) + +- You can place the directory where you want it. But don't separate the file + kdiff3.exe from the others, since they are needed for correct execution. + +- Integration with WinCVS: When selected the installer sets KDiff3 to be the + default diff-tool for WinCVS if available. + +- Integration with Explorer: When selected KDiff3 will be added to the "Send To" + menu in the context menu. If you then select two files or two directories and + choose "Send To"->"KDiff3" then KDiff3 will start and compare the specified files. + +Since this program was actually developed for GNU/Linux, there might be Windows +specific problems I don't know of yet. Please write me about problems you encounter. + +Known bugs: +- Links are not handled correctly. (This is because links in Windows are not + the same as under Un*x-filesystems.) + +Licence: + GNU GENERAL PUBLIC LICENSE, Version 2, June 1991 + 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 + + For details see file "COPYING". + +Exception from the GPL: + As a special exception, the copyright holder Joachim Eibl gives permission + to link this program with the Qt-library (commercial or non-commercial edition) + from Trolltech (www.trolltech.com), and he permits to distribute the resulting + executable, without including the source code for the Qt-library in the + source distribution. + + + +Start from commandline: +- Comparing 2 files: kdiff3 file1 file2 +- Merging 2 files: kdiff3 file1 file2 -o outputfile +- Comparing 3 files: kdiff3 file1 file2 file3 +- Merging 3 files: kdiff3 file1 file2 file3 -o outputfile + Note that file1 will be treated as base of file2 and file3. + +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.: +- Comparing 3 files: kdiff3 dir1/filename dir2 dir3 +(This also works in the open-dialog.) + +- Comparing 2 directories: kdiff3 dir1 dir2 +- Merging 2 directories: kdiff3 dir1 dir2-o destinationdir +- Comparing 3 directories: kdiff3 dir1 dir2 dir3 +- Merging 3 directories: kdiff3 dir1 dir2 dir3 -o destinationdir +(Please read the documentation about comparing/merging directories, +especially before you start merging.) + +If you start without arguments, then a dialog will appear where you can +select your files and directories via a filebrowser. + +For more documentation, see the help-menu or the subdirectory doc. + +Have fun! diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/windows_installer/VERSION.NSI --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/windows_installer/VERSION.NSI Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,1 @@ +!define MUI_VERSION "0.9.86" diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/windows_installer/kdiff3.bmp Binary file kdiff3/windows_installer/kdiff3.bmp has changed diff -r 8ea11c8efeb5 -r efe33e938730 kdiff3/windows_installer/kdiff3.nsi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kdiff3/windows_installer/kdiff3.nsi Thu Sep 16 02:40:08 2004 +0000 @@ -0,0 +1,309 @@ +;NSIS Modern User Interface version 1.63 +;MultiLanguage Example Script +;Written by Joost Verburg +;Apdapted for KDiff3 by Sebastien Fricker and Joachim Eibl +;Requires nsis20b3 +; +;c:\Programme\NSIS\makensis kdiff3 +; +!define MUI_PRODUCT "KDiff3" ;Define your own software name here +!include "version.nsi" +!ifndef MUI_VERSION +!define MUI_VERSION "" ;Define your own software version here +!endif +!ifndef QTDIR +!define QTDIR "f:\qt\3.1.2" +!endif +!ifndef WINDOWS_DIR +!define WINDOWS_DIR "c:\windows" +!endif +!include "MUI.nsh" + + + +;-------------------------------- +;Configuration + InstallDir "$PROGRAMFILES\KDiff3" + InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${MUI_PRODUCT}" "" + ;DirShow show ; (make this hide to not let the user change it) + ;DirText "Select the directory to install ${MUI_PRODUCT} in:" + + ;General + OutFile "KDiff3Setup_${MUI_VERSION}.exe" + setCompressor bzip2 + + + ;Remember the installer language + !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" + !define MUI_LANGDLL_REGISTRY_KEY "Software\${MUI_PRODUCT}" + !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + ;Remember the Start Menu Folder + !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" + !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}" + !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${MUI_PRODUCT}" + !define TEMP $R0 + +;-------------------------------- +;Modern UI Configuration + + !define MUI_LICENSEPAGE + !define MUI_COMPONENTSPAGE + !define MUI_DIRECTORYPAGE + !define MUI_STARTMENUPAGE + + !define MUI_ABORTWARNING + + !define MUI_UNINSTALLER + !define MUI_UNCONFIRMPAGE + !define MUI_HEADERBITMAP "kdiff3.bmp" +;-------------------------------- +;Languages + + !insertmacro MUI_LANGUAGE "English" + !insertmacro MUI_LANGUAGE "French" + !insertmacro MUI_LANGUAGE "German" + !insertmacro MUI_LANGUAGE "Spanish" + !insertmacro MUI_LANGUAGE "SimpChinese" + !insertmacro MUI_LANGUAGE "TradChinese" + !insertmacro MUI_LANGUAGE "Japanese" + !insertmacro MUI_LANGUAGE "Korean" + !insertmacro MUI_LANGUAGE "Italian" + !insertmacro MUI_LANGUAGE "Dutch" + !insertmacro MUI_LANGUAGE "Danish" + !insertmacro MUI_LANGUAGE "Greek" + !insertmacro MUI_LANGUAGE "Russian" + !insertmacro MUI_LANGUAGE "PortugueseBR" + !insertmacro MUI_LANGUAGE "Polish" + !insertmacro MUI_LANGUAGE "Ukrainian" + !insertmacro MUI_LANGUAGE "Czech" + !insertmacro MUI_LANGUAGE "Slovak" + !insertmacro MUI_LANGUAGE "Croatian" + !insertmacro MUI_LANGUAGE "Bulgarian" + !insertmacro MUI_LANGUAGE "Hungarian" + !insertmacro MUI_LANGUAGE "Thai" + !insertmacro MUI_LANGUAGE "Romanian" + !insertmacro MUI_LANGUAGE "Macedonian" + !insertmacro MUI_LANGUAGE "Turkish" + +;-------------------------------- +;Language Strings + + ;Descriptions + LangString DESC_SecCopyUI ${LANG_ENGLISH} "Software: English description" + LangString DESC_SecCopyUI ${LANG_FRENCH} "Software: French description" + LangString DESC_SecCopyUI ${LANG_GERMAN} "Software: German description" + LangString DESC_SecCopyUI ${LANG_SPANISH} "Software: Spanish description" + LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "Software: Simplified Chinese description" + LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "Software: Traditional Chinese description" + LangString DESC_SecCopyUI ${LANG_JAPANESE} "Software: Japanese description" + LangString DESC_SecCopyUI ${LANG_KOREAN} "Software: Korean description" + LangString DESC_SecCopyUI ${LANG_ITALIAN} "Software: Italian description" + LangString DESC_SecCopyUI ${LANG_DUTCH} "Software: Dutch description" + LangString DESC_SecCopyUI ${LANG_DANISH} "Software: Danish description" + LangString DESC_SecCopyUI ${LANG_GREEK} "Software: Greek description" + LangString DESC_SecCopyUI ${LANG_RUSSIAN} "Software: Russian description" + LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "Software: Portuguese (Brasil) description" + LangString DESC_SecCopyUI ${LANG_POLISH} "Software: Polish description" + LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "Software: Ukrainian description" + LangString DESC_SecCopyUI ${LANG_CZECH} "Software: Czechian description" + LangString DESC_SecCopyUI ${LANG_SLOVAK} "Software: Slovakian description" + LangString DESC_SecCopyUI ${LANG_CROATIAN} "Software: Slovakian description" + LangString DESC_SecCopyUI ${LANG_BULGARIAN} "Software: Bulgarian description" + LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "Software: Hungarian description" + LangString DESC_SecCopyUI ${LANG_THAI} "Software: Thai description" + LangString DESC_SecCopyUI ${LANG_ROMANIAN} "Software: Romanian description" + LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "Software: Macedonian description" + LangString DESC_SecCopyUI ${LANG_TURKISH} "Software: Turkish description" + +;-------------------------------- +;Data + + LicenseData /LANG=${LANG_ENGLISH} "COPYING" + LicenseData /LANG=${LANG_FRENCH} "COPYING" + LicenseData /LANG=${LANG_GERMAN} "COPYING" + LicenseData /LANG=${LANG_SPANISH} "COPYING" + LicenseData /LANG=${LANG_SIMPCHINESE} "COPYING" + LicenseData /LANG=${LANG_TRADCHINESE} "COPYING" + LicenseData /LANG=${LANG_JAPANESE} "COPYING" + LicenseData /LANG=${LANG_KOREAN} "COPYING" + LicenseData /LANG=${LANG_ITALIAN} "COPYING" + LicenseData /LANG=${LANG_DUTCH} "COPYING" + LicenseData /LANG=${LANG_DANISH} "COPYING" + LicenseData /LANG=${LANG_GREEK} "COPYING" + LicenseData /LANG=${LANG_RUSSIAN} "COPYING" + LicenseData /LANG=${LANG_PORTUGUESEBR} "COPYING" + LicenseData /LANG=${LANG_POLISH} "COPYING" + LicenseData /LANG=${LANG_UKRAINIAN} "COPYING" + LicenseData /LANG=${LANG_CZECH} "COPYING" + LicenseData /LANG=${LANG_SLOVAK} "COPYING" + LicenseData /LANG=${LANG_CROATIAN} "COPYING" + LicenseData /LANG=${LANG_BULGARIAN} "COPYING" + LicenseData /LANG=${LANG_HUNGARIAN} "COPYING" + LicenseData /LANG=${LANG_THAI} "COPYING" + LicenseData /LANG=${LANG_ROMANIAN} "COPYING" + LicenseData /LANG=${LANG_MACEDONIAN} "COPYING" + LicenseData /LANG=${LANG_TURKISH} "COPYING" + +;-------------------------------- +;Reserve Files + + ;Things that need to be extracted on first (keep these lines before any File command!) + ;Only useful for BZIP2 compression + !insertmacro MUI_RESERVEFILE_LANGDLL + +;-------------------------------- +;Installer Sections + +Section "Software" SecCopyUI 2 +SectionIn 2 RO + + SetOutPath "$INSTDIR" + ; add files / whatever that need to be installed here. + WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\${MUI_PRODUCT}" "" "$INSTDIR" + WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "DisplayName" "${MUI_PRODUCT} (remove only)" + WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "UninstallString" '"$INSTDIR\uninst.exe"' + DetailPrint "Writing files" + File "kdiff3.exe" + File "kdiff3_da.qm" + File "kdiff3_de.qm" + File "kdiff3_en_GB.qm" + File "kdiff3_es.qm" + File "kdiff3_et.qm" + File "kdiff3_fr.qm" + File "kdiff3_hu.qm" + File "kdiff3_it.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_sv.qm" + File "kdiff3_ta.qm" + File "kdiff3_tr.qm" + File "kdiff3_zh_CN.qm" + File "qt_de.qm" + File "qt_fr.qm" + File "qt_ru.qm" + File "COPYING" + File "Readme_Win.txt" + File "ChangeLog.txt" + + !insertmacro MUI_STARTMENU_WRITE_BEGIN + + DetailPrint "Creating shortcuts" + CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}" + CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\KDiff3.lnk" "$INSTDIR\kdiff3.exe" + CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\uninst.exe" + CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Readme.lnk" "$INSTDIR\Readme_Win.txt" + + !insertmacro MUI_STARTMENU_WRITE_END + + + ; write out uninstaller + WriteUninstaller "$INSTDIR\uninst.exe" + + + ;Store install folder + WriteRegStr HKCU "Software\${MUI_PRODUCT}" "" $INSTDIR + CreateShortCut "$QUICKLAUNCH\KDiff3.lnk" "$INSTDIR\kdiff3.exe" + +SectionEnd + +Section "Documentation" + + DetailPrint "Writing the documentation" + SetOutPath "$INSTDIR" + File /r doc + SetOutPath "$INSTDIR" + CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Documentation.lnk" "$INSTDIR\doc\index.html" + WriteRegStr HKCR "Application\kdiff3.exe\shell\open\command" "" '"$INSTDIR\kdiff3.exe" "%1"' +SectionEnd + +SubSection "Integration" +Section "WinCVS" + DetailPrint "Integration to WinCVS" + MessageBox MB_OK "Please close WinCVS" + WriteRegStr HKCU "Software\WinCvs\wincvs\CVS settings" "P_Extdiff" '$INSTDIR\kdiff3.exe' + WriteRegBin HKCU "Software\WinCvs\wincvs\CVS settings" "P_DiffUseExtDiff" 01 + +SectionEnd +Section "Explorer" + DetailPrint "Integration to Explorer" +; WriteRegStr HKCR "Directory\shell\KDiff3" "" '&KDiff3' +; WriteRegStr HKCR "Directory\shell\KDiff3\command" "" '"$INSTDIR\kdiff3.exe" "%1"' + CreateShortCut "$SMPROGRAMS\..\..\SendTo\KDiff3.lnk" '"$INSTDIR\kdiff3.exe"' +SectionEnd +SubSectionEnd + +;Display the Finish header +;Insert this macro after the sections if you are not using a finish page +!insertmacro MUI_SECTIONS_FINISHHEADER + +;-------------------------------- +;Installer Functions + +Function .onInit +; SetOutPath $TEMP1 +; File /oname=spltmp.bmp "promotion.bmp" + +; optional +; File /oname=spltmp.wav "my_splashshit.wav" + +; advsplash::show 5000 600 40 0 $TEMP1\spltmp + +; Pop $0 ; $0 has '1' if the user closed the splash screen early, + ; '0' if everything closed normal, and '-1' if some error occured. + +; Delete $TEMP1\spltmp.bmp +; Delete $TEMP1\spltmp.wav + + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd + +;-------------------------------- +;Descriptions + +!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) +!insertmacro MUI_FUNCTIONS_DESCRIPTION_END + +;-------------------------------- +;Uninstaller Section + +Section "Uninstall" + +; add delete commands to delete whatever files/registry keys/etc you installed here. + ReadRegStr ${TEMP} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" + StrCmp ${TEMP} "" noshortcuts + + RMDir /r "$SMPROGRAMS\${TEMP}" + + noshortcuts: + + RMDir "$INSTDIR" + Delete "$INSTDIR\uninst.exe" + DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" + + Delete "$QUICKLAUNCH\KDiff3.lnk" + RMDir /r "$INSTDIR" + DetailPrint "Integration to Explorer" +; DeleteRegKey HKCR "Directory\shell\KDiff3\command" +; DeleteRegKey HKCR "Directory\shell\KDiff3" + Delete "$SMPROGRAMS\..\..\SendTo\KDiff3.lnk" + + !insertmacro MUI_UNFINISHHEADER + +SectionEnd + +;-------------------------------- +;Uninstaller Functions + +Function un.onInit + + ;Get language from registry + ReadRegStr $LANGUAGE HKCU "Software\${MUI_PRODUCT}" "Installer Language" + +FunctionEnd +