merge
This commit is contained in:
parent
7b4c1d8859
commit
1c0d3bd8cf
74 changed files with 3893 additions and 2522 deletions
147
src/INSTALL
147
src/INSTALL
|
@ -18,12 +18,12 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
There are three types of binary Recoll installations:
|
There are three types of binary Recoll installations:
|
||||||
|
|
||||||
o Through your system normal software distribution framework (ie,
|
* Through your system normal software distribution framework (ie,
|
||||||
Debian/Ubuntu apt, FreeBSD ports, etc.).
|
Debian/Ubuntu apt, FreeBSD ports, etc.).
|
||||||
|
|
||||||
o From a package downloaded from the Recoll web site.
|
* From a package downloaded from the Recoll web site.
|
||||||
|
|
||||||
o From a prebuilt tree downloaded from the Recoll web site.
|
* From a prebuilt tree downloaded from the Recoll web site.
|
||||||
|
|
||||||
In all cases, the strict software dependancies (ie on Xapian or iconv)
|
In all cases, the strict software dependancies (ie on Xapian or iconv)
|
||||||
will be automatically satisfied, you should not have to worry about them.
|
will be automatically satisfied, you should not have to worry about them.
|
||||||
|
@ -101,64 +101,64 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
Now for the list:
|
Now for the list:
|
||||||
|
|
||||||
o Openoffice files need unzip and xsltproc.
|
* Openoffice files need unzip and xsltproc.
|
||||||
|
|
||||||
o PDF files need pdftotext which is part of the Xpdf or Poppler
|
* PDF files need pdftotext which is part of the Xpdf or Poppler
|
||||||
packages.
|
packages.
|
||||||
|
|
||||||
o Postscript files need pstotext. The original version has an issue with
|
* Postscript files need pstotext. The original version has an issue with
|
||||||
shell character in file names, which is corrected in recent packages.
|
shell character in file names, which is corrected in recent packages.
|
||||||
See http://www.recoll.org/features.html for more detail.
|
See http://www.recoll.org/features.html for more detail.
|
||||||
|
|
||||||
o MS Word needs antiword. It is also useful to have wvWare installed as
|
* MS Word needs antiword. It is also useful to have wvWare installed as
|
||||||
it may be be used as a fallback for some files which antiword does not
|
it may be be used as a fallback for some files which antiword does not
|
||||||
handle.
|
handle.
|
||||||
|
|
||||||
o MS Excel and PowerPoint are processed by internal Python handlers.
|
* MS Excel and PowerPoint are processed by internal Python handlers.
|
||||||
|
|
||||||
o MS Open XML (docx) needs xsltproc.
|
* MS Open XML (docx) needs xsltproc.
|
||||||
|
|
||||||
o Wordperfect files need wpd2html from the libwpd (or libwpd-tools on
|
* Wordperfect files need wpd2html from the libwpd (or libwpd-tools on
|
||||||
Ubuntu) package.
|
Ubuntu) package.
|
||||||
|
|
||||||
o RTF files need unrtf, which, in its standard version, has much trouble
|
* RTF files need unrtf, which, in its standard version, has much trouble
|
||||||
with non-western character sets. Check
|
with non-western character sets. Check
|
||||||
http://www.recoll.org/features.html.
|
http://www.recoll.org/features.html.
|
||||||
|
|
||||||
o TeX files need untex or detex. Check
|
* TeX files need untex or detex. Check
|
||||||
http://www.recoll.org/features.html for sources if it's not packaged
|
http://www.recoll.org/features.html for sources if it's not packaged
|
||||||
for your distribution.
|
for your distribution.
|
||||||
|
|
||||||
o dvi files need dvips.
|
* dvi files need dvips.
|
||||||
|
|
||||||
o djvu files need djvutxt and djvused from the DjVuLibre package.
|
* djvu files need djvutxt and djvused from the DjVuLibre package.
|
||||||
|
|
||||||
o Audio files: Recoll releases 1.14 and later use a single Python
|
* Audio files: Recoll releases 1.14 and later use a single Python
|
||||||
handler based on mutagen for all audio file types.
|
handler based on mutagen for all audio file types.
|
||||||
|
|
||||||
o Pictures: Recoll uses the Exiftool Perl package to extract tag
|
* Pictures: Recoll uses the Exiftool Perl package to extract tag
|
||||||
information. Most image file formats are supported. Note that there
|
information. Most image file formats are supported. Note that there
|
||||||
may not be much interest in indexing the technical tags (image size,
|
may not be much interest in indexing the technical tags (image size,
|
||||||
aperture, etc.). This is only of interest if you store personal tags
|
aperture, etc.). This is only of interest if you store personal tags
|
||||||
or textual descriptions inside the image files.
|
or textual descriptions inside the image files.
|
||||||
|
|
||||||
o chm: files in Microsoft help format need Python and the pychm module
|
* chm: files in Microsoft help format need Python and the pychm module
|
||||||
(which needs chmlib).
|
(which needs chmlib).
|
||||||
|
|
||||||
o ICS: up to Recoll 1.13, iCalendar files need Python and the icalendar
|
* ICS: up to Recoll 1.13, iCalendar files need Python and the icalendar
|
||||||
module. icalendar is not needed for newer versions, which use internal
|
module. icalendar is not needed for newer versions, which use internal
|
||||||
code.
|
code.
|
||||||
|
|
||||||
o Zip archives need Python (and the standard zipfile module).
|
* Zip archives need Python (and the standard zipfile module).
|
||||||
|
|
||||||
o Rar archives need Python, the rarfile Python module and the unrar
|
* Rar archives need Python, the rarfile Python module and the unrar
|
||||||
utility.
|
utility.
|
||||||
|
|
||||||
o Midi karaoke files need Python and the Midi module
|
* Midi karaoke files need Python and the Midi module
|
||||||
|
|
||||||
o Konqueror webarchive format with Python (uses the Tarfile module).
|
* Konqueror webarchive format with Python (uses the Tarfile module).
|
||||||
|
|
||||||
o Mimehtml web archive format (support based on the email handler, which
|
* Mimehtml web archive format (support based on the email handler, which
|
||||||
introduces some mild weirdness, but still usable).
|
introduces some mild weirdness, but still usable).
|
||||||
|
|
||||||
Text, HTML, email folders, and Scribus files are processed internally. Lyx
|
Text, HTML, email folders, and Scribus files are processed internally. Lyx
|
||||||
|
@ -191,10 +191,10 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
The shopping list:
|
The shopping list:
|
||||||
|
|
||||||
o C++ compiler. Up to Recoll version 1.13.04, its absence can manifest
|
* C++ compiler. Up to Recoll version 1.13.04, its absence can manifest
|
||||||
itself by strange messages about a missing iconv_open.
|
itself by strange messages about a missing iconv_open.
|
||||||
|
|
||||||
o Development files for Xapian core.
|
* Development files for Xapian core.
|
||||||
|
|
||||||
Important
|
Important
|
||||||
|
|
||||||
|
@ -203,14 +203,14 @@ Chapter 5. Installation and configuration
|
||||||
command. Else all Xapian application will crash with an illegal
|
command. Else all Xapian application will crash with an illegal
|
||||||
instruction error.
|
instruction error.
|
||||||
|
|
||||||
o Development files for Qt 4 . Recoll has not been tested with Qt 5 yet.
|
* Development files for Qt 4 . Recoll has not been tested with Qt 5 yet.
|
||||||
Recoll 1.15.9 was the last version to support Qt 3. If you do not want
|
Recoll 1.15.9 was the last version to support Qt 3. If you do not want
|
||||||
to install or build the Qt Webkit module, Recoll has a configuration
|
to install or build the Qt Webkit module, Recoll has a configuration
|
||||||
option to disable its use (see further).
|
option to disable its use (see further).
|
||||||
|
|
||||||
o Development files for X11 and zlib.
|
* Development files for X11 and zlib.
|
||||||
|
|
||||||
o You may also need libiconv. On Linux systems, the iconv interface is
|
* You may also need libiconv. On Linux systems, the iconv interface is
|
||||||
part of libc and you should not need to do anything special.
|
part of libc and you should not need to do anything special.
|
||||||
|
|
||||||
Check the Recoll download page for up to date version information.
|
Check the Recoll download page for up to date version information.
|
||||||
|
@ -224,21 +224,21 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
Configure options:
|
Configure options:
|
||||||
|
|
||||||
o --without-aspell will disable the code for phonetic matching of search
|
* --without-aspell will disable the code for phonetic matching of search
|
||||||
terms.
|
terms.
|
||||||
|
|
||||||
o --with-fam or --with-inotify will enable the code for real time
|
* --with-fam or --with-inotify will enable the code for real time
|
||||||
indexing. Inotify support is enabled by default on recent Linux
|
indexing. Inotify support is enabled by default on recent Linux
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
o --with-qzeitgeist will enable sending Zeitgeist events about the
|
* --with-qzeitgeist will enable sending Zeitgeist events about the
|
||||||
visited search results, and needs the qzeitgeist package.
|
visited search results, and needs the qzeitgeist package.
|
||||||
|
|
||||||
o --disable-webkit is available from version 1.17 to implement the
|
* --disable-webkit is available from version 1.17 to implement the
|
||||||
result list with a Qt QTextBrowser instead of a WebKit widget if you
|
result list with a Qt QTextBrowser instead of a WebKit widget if you
|
||||||
do not or can't depend on the latter.
|
do not or can't depend on the latter.
|
||||||
|
|
||||||
o --disable-idxthreads is available from version 1.19 to suppress
|
* --disable-idxthreads is available from version 1.19 to suppress
|
||||||
multithreading inside the indexing process. You can also use the
|
multithreading inside the indexing process. You can also use the
|
||||||
run-time configuration to restrict recollindex to using a single
|
run-time configuration to restrict recollindex to using a single
|
||||||
thread, but the compile-time option may disable a few more unused
|
thread, but the compile-time option may disable a few more unused
|
||||||
|
@ -246,37 +246,37 @@ Chapter 5. Installation and configuration
|
||||||
index processing (data input). The Recoll monitor mode always uses at
|
index processing (data input). The Recoll monitor mode always uses at
|
||||||
least two threads of execution.
|
least two threads of execution.
|
||||||
|
|
||||||
o --disable-python-module will avoid building the Python module.
|
* --disable-python-module will avoid building the Python module.
|
||||||
|
|
||||||
o --disable-xattr will prevent fetching data from file extended
|
* --disable-xattr will prevent fetching data from file extended
|
||||||
attributes. Beyond a few standard attributes, fetching extended
|
attributes. Beyond a few standard attributes, fetching extended
|
||||||
attributes data can only be useful is some application stores data in
|
attributes data can only be useful is some application stores data in
|
||||||
there, and also needs some simple configuration (see comments in the
|
there, and also needs some simple configuration (see comments in the
|
||||||
fields configuration file).
|
fields configuration file).
|
||||||
|
|
||||||
o --enable-camelcase will enable splitting camelCase words. This is not
|
* --enable-camelcase will enable splitting camelCase words. This is not
|
||||||
enabled by default as it has the unfortunate side-effect of making
|
enabled by default as it has the unfortunate side-effect of making
|
||||||
some phrase searches quite confusing: ie, "MySQL manual" would be
|
some phrase searches quite confusing: ie, "MySQL manual" would be
|
||||||
matched by "MySQL manual" and "my sql manual" but not "mysql manual"
|
matched by "MySQL manual" and "my sql manual" but not "mysql manual"
|
||||||
(only inside phrase searches).
|
(only inside phrase searches).
|
||||||
|
|
||||||
o --with-file-command Specify the version of the 'file' command to use
|
* --with-file-command Specify the version of the 'file' command to use
|
||||||
(ie: --with-file-command=/usr/local/bin/file). Can be useful to enable
|
(ie: --with-file-command=/usr/local/bin/file). Can be useful to enable
|
||||||
the gnu version on systems where the native one is bad.
|
the gnu version on systems where the native one is bad.
|
||||||
|
|
||||||
o --disable-qtgui Disable the Qt interface. Will allow building the
|
* --disable-qtgui Disable the Qt interface. Will allow building the
|
||||||
indexer and the command line search program in absence of a Qt
|
indexer and the command line search program in absence of a Qt
|
||||||
environment.
|
environment.
|
||||||
|
|
||||||
o --disable-x11mon Disable X11 connection monitoring inside recollindex.
|
* --disable-x11mon Disable X11 connection monitoring inside recollindex.
|
||||||
Together with --disable-qtgui, this allows building recoll without Qt
|
Together with --disable-qtgui, this allows building recoll without Qt
|
||||||
and X11.
|
and X11.
|
||||||
|
|
||||||
o --disable-pic will compile Recoll with position-dependant code. This
|
* --disable-pic will compile Recoll with position-dependant code. This
|
||||||
is incompatible with building the KIO or the Python or PHP extensions,
|
is incompatible with building the KIO or the Python or PHP extensions,
|
||||||
but might yield very marginally faster code.
|
but might yield very marginally faster code.
|
||||||
|
|
||||||
o Of course the usual autoconf configure options, like --prefix apply.
|
* Of course the usual autoconf configure options, like --prefix apply.
|
||||||
|
|
||||||
Normal procedure:
|
Normal procedure:
|
||||||
|
|
||||||
|
@ -395,11 +395,11 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
There are three kinds of lines:
|
There are three kinds of lines:
|
||||||
|
|
||||||
o Comment (starts with #) or empty.
|
* Comment (starts with #) or empty.
|
||||||
|
|
||||||
o Parameter affectation (name = value).
|
* Parameter affectation (name = value).
|
||||||
|
|
||||||
o Section definition ([somedirname]).
|
* Section definition ([somedirname]).
|
||||||
|
|
||||||
Depending on the type of configuration file, section definitions either
|
Depending on the type of configuration file, section definitions either
|
||||||
separate groups of parameters or allow redefining some parameters for a
|
separate groups of parameters or allow redefining some parameters for a
|
||||||
|
@ -418,12 +418,12 @@ Chapter 5. Installation and configuration
|
||||||
Encoding issues. Most of the configuration parameters are plain ASCII. Two
|
Encoding issues. Most of the configuration parameters are plain ASCII. Two
|
||||||
particular sets of values may cause encoding issues:
|
particular sets of values may cause encoding issues:
|
||||||
|
|
||||||
o File path parameters may contain non-ascii characters and should use
|
* File path parameters may contain non-ascii characters and should use
|
||||||
the exact same byte values as found in the file system directory.
|
the exact same byte values as found in the file system directory.
|
||||||
Usually, this means that the configuration file should use the system
|
Usually, this means that the configuration file should use the system
|
||||||
default locale encoding.
|
default locale encoding.
|
||||||
|
|
||||||
o The unac_except_trans parameter should be encoded in UTF-8. If your
|
* The unac_except_trans parameter should be encoded in UTF-8. If your
|
||||||
system locale is not UTF-8, and you need to also specify non-ascii
|
system locale is not UTF-8, and you need to also specify non-ascii
|
||||||
file paths, this poses a difficulty because common text editors cannot
|
file paths, this poses a difficulty because common text editors cannot
|
||||||
handle multiple encodings in a single file. In this relatively
|
handle multiple encodings in a single file. In this relatively
|
||||||
|
@ -578,11 +578,17 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
usesystemfilecommand
|
usesystemfilecommand
|
||||||
|
|
||||||
Decide if we use the file -i system command as a final step for
|
Decide if we execute a system command (file -i by default) as a
|
||||||
determining the MIME type for a file (the main procedure uses
|
final step for determining the MIME type for a file (the main
|
||||||
suffix associations as defined in the mimemap file). This can be
|
procedure uses suffix associations as defined in the mimemap
|
||||||
useful for files with suffix-less names, but it will also cause
|
file). This can be useful for files with suffix-less names, but it
|
||||||
the indexing of many bogus "text" files.
|
will also cause the indexing of many bogus "text" files.
|
||||||
|
|
||||||
|
systemfilecommand
|
||||||
|
|
||||||
|
Command to use for mime for mime type determination if
|
||||||
|
usesystefilecommand is set. Recent versions of xdg-mime sometimes
|
||||||
|
work better than file.
|
||||||
|
|
||||||
processwebqueue
|
processwebqueue
|
||||||
|
|
||||||
|
@ -1004,7 +1010,7 @@ Chapter 5. Installation and configuration
|
||||||
obtain the desired behaviour.
|
obtain the desired behaviour.
|
||||||
|
|
||||||
We will only give a short description here, you should refer to the
|
We will only give a short description here, you should refer to the
|
||||||
comments inside the file for more detailed information.
|
comments inside the default file for more detailed information.
|
||||||
|
|
||||||
Field names should be lowercase alphabetic ASCII.
|
Field names should be lowercase alphabetic ASCII.
|
||||||
|
|
||||||
|
@ -1023,6 +1029,13 @@ Chapter 5. Installation and configuration
|
||||||
This section defines lists of synonyms for the canonical names
|
This section defines lists of synonyms for the canonical names
|
||||||
used inside the [prefixes] and [stored] sections
|
used inside the [prefixes] and [stored] sections
|
||||||
|
|
||||||
|
[queryaliases]
|
||||||
|
|
||||||
|
This section also defines aliases for the canonic field names,
|
||||||
|
with the difference that the substitution will only be used at
|
||||||
|
query time, avoiding any possibility that the value would pick-up
|
||||||
|
random metadata from documents.
|
||||||
|
|
||||||
handler-specific sections
|
handler-specific sections
|
||||||
|
|
||||||
Some input handlers may need specific configuration for handling
|
Some input handlers may need specific configuration for handling
|
||||||
|
@ -1046,6 +1059,10 @@ Chapter 5. Installation and configuration
|
||||||
# displayed - as %(mailmytag) - in result lists).
|
# displayed - as %(mailmytag) - in result lists).
|
||||||
mailmytag =
|
mailmytag =
|
||||||
|
|
||||||
|
[queryaliases]
|
||||||
|
filename = fn
|
||||||
|
containerfilename = cfn
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
# Extract the X-My-Tag mail header, and use it internally with the
|
# Extract the X-My-Tag mail header, and use it internally with the
|
||||||
# mailmytag field name
|
# mailmytag field name
|
||||||
|
@ -1139,31 +1156,29 @@ Chapter 5. Installation and configuration
|
||||||
The right side of each assignment holds a command to be executed for
|
The right side of each assignment holds a command to be executed for
|
||||||
opening the file. The following substitutions are performed:
|
opening the file. The following substitutions are performed:
|
||||||
|
|
||||||
o %D. Document date
|
* %D. Document date
|
||||||
|
|
||||||
o %f. File name. This may be the name of a temporary file if it was
|
* %f. File name. This may be the name of a temporary file if it was
|
||||||
necessary to create one (ie: to extract a subdocument from a
|
necessary to create one (ie: to extract a subdocument from a
|
||||||
container).
|
container).
|
||||||
|
|
||||||
o %F. Original file name. Same as %f except if a temporary file is used.
|
* %i. Internal path, for subdocuments of containers. The format depends
|
||||||
|
|
||||||
o %i. Internal path, for subdocuments of containers. The format depends
|
|
||||||
on the container type. If this appears in the command line, Recoll
|
on the container type. If this appears in the command line, Recoll
|
||||||
will not create a temporary file to extract the subdocument, expecting
|
will not create a temporary file to extract the subdocument, expecting
|
||||||
the called application (possibly a script) to be able to handle it.
|
the called application (possibly a script) to be able to handle it.
|
||||||
|
|
||||||
o %M. MIME type
|
* %M. MIME type
|
||||||
|
|
||||||
o %p. Page index. Only significant for a subset of document types,
|
* %p. Page index. Only significant for a subset of document types,
|
||||||
currently only PDF, Postscript and DVI files. Can be used to start the
|
currently only PDF, Postscript and DVI files. Can be used to start the
|
||||||
editor at the right page for a match or snippet.
|
editor at the right page for a match or snippet.
|
||||||
|
|
||||||
o %s. Search term. The value will only be set for documents with indexed
|
* %s. Search term. The value will only be set for documents with indexed
|
||||||
page numbers (ie: PDF). The value will be one of the matched search
|
page numbers (ie: PDF). The value will be one of the matched search
|
||||||
terms. It would allow pre-setting the value in the "Find" entry inside
|
terms. It would allow pre-setting the value in the "Find" entry inside
|
||||||
Evince for example, for easy highlighting of the term.
|
Evince for example, for easy highlighting of the term.
|
||||||
|
|
||||||
o %U, %u. Url.
|
* %u. Url.
|
||||||
|
|
||||||
In addition to the predefined values above, all strings like %(fieldname)
|
In addition to the predefined values above, all strings like %(fieldname)
|
||||||
will be replaced by the value of the field named fieldname for the
|
will be replaced by the value of the field named fieldname for the
|
||||||
|
@ -1200,7 +1215,7 @@ Chapter 5. Installation and configuration
|
||||||
|
|
||||||
You need two entries in the configuration files for this to work:
|
You need two entries in the configuration files for this to work:
|
||||||
|
|
||||||
o In $RECOLL_CONFDIR/mimemap (typically ~/.recoll/mimemap), add the
|
* In $RECOLL_CONFDIR/mimemap (typically ~/.recoll/mimemap), add the
|
||||||
following line:
|
following line:
|
||||||
|
|
||||||
.blob = application/x-blobapp
|
.blob = application/x-blobapp
|
||||||
|
@ -1208,7 +1223,7 @@ Chapter 5. Installation and configuration
|
||||||
Note that the MIME type is made up here, and you could call it
|
Note that the MIME type is made up here, and you could call it
|
||||||
diesel/oil just the same.
|
diesel/oil just the same.
|
||||||
|
|
||||||
o In $RECOLL_CONFDIR/mimeview under the [view] section, add:
|
* In $RECOLL_CONFDIR/mimeview under the [view] section, add:
|
||||||
|
|
||||||
application/x-blobapp = blobviewer %f
|
application/x-blobapp = blobviewer %f
|
||||||
|
|
||||||
|
@ -1229,16 +1244,16 @@ Chapter 5. Installation and configuration
|
||||||
alteration, and also to add data to the mimeconf file (typically in
|
alteration, and also to add data to the mimeconf file (typically in
|
||||||
~/.recoll/mimeconf):
|
~/.recoll/mimeconf):
|
||||||
|
|
||||||
o Under the [index] section, add the following line (more about the
|
* Under the [index] section, add the following line (more about the
|
||||||
rclblob indexing script later):
|
rclblob indexing script later):
|
||||||
|
|
||||||
application/x-blobapp = exec rclblob
|
application/x-blobapp = exec rclblob
|
||||||
|
|
||||||
o Under the [icons] section, you should choose an icon to be displayed
|
* Under the [icons] section, you should choose an icon to be displayed
|
||||||
for the files inside the result lists. Icons are normally 64x64 pixels
|
for the files inside the result lists. Icons are normally 64x64 pixels
|
||||||
PNG files which live in /usr/[local/]share/recoll/images.
|
PNG files which live in /usr/[local/]share/recoll/images.
|
||||||
|
|
||||||
o Under the [categories] section, you should add the MIME type where it
|
* Under the [categories] section, you should add the MIME type where it
|
||||||
makes sense (you can also create a category). Categories may be used
|
makes sense (you can also create a category). Categories may be used
|
||||||
for filtering in advanced search.
|
for filtering in advanced search.
|
||||||
|
|
||||||
|
|
463
src/README
463
src/README
File diff suppressed because it is too large
Load diff
|
@ -1 +1 @@
|
||||||
1.20.0
|
1.20.0p2
|
||||||
|
|
|
@ -847,16 +847,19 @@ bool RclConfig::readFieldsConfig(const string& cnferrloc)
|
||||||
ft.wdfinc = atoi(tval.c_str());
|
ft.wdfinc = atoi(tval.c_str());
|
||||||
if (attrs.get("boost", tval))
|
if (attrs.get("boost", tval))
|
||||||
ft.boost = atof(tval.c_str());
|
ft.boost = atof(tval.c_str());
|
||||||
|
if (attrs.get("pfxonly", tval))
|
||||||
|
ft.pfxonly = stringToBool(tval);
|
||||||
m_fldtotraits[stringtolower(*it)] = ft;
|
m_fldtotraits[stringtolower(*it)] = ft;
|
||||||
LOGDEB2(("readFieldsConfig: [%s] -> [%s] %d %.1f\n",
|
LOGDEB2(("readFieldsConfig: [%s] -> [%s] %d %.1f\n",
|
||||||
it->c_str(), ft.pfx.c_str(), ft.wdfinc, ft.boost));
|
it->c_str(), ft.pfx.c_str(), ft.wdfinc, ft.boost));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add prefixes for aliases an build alias-to-canonic map while we're at it
|
// Add prefixes for aliases and build alias-to-canonic map while
|
||||||
// Having the aliases in the prefix map avoids an additional indirection
|
// we're at it. Having the aliases in the prefix map avoids an
|
||||||
// at index time.
|
// additional indirection at index time.
|
||||||
tps = m_fields->getNames("aliases");
|
tps = m_fields->getNames("aliases");
|
||||||
for (vector<string>::const_iterator it = tps.begin(); it != tps.end();it++) {
|
for (vector<string>::const_iterator it = tps.begin();
|
||||||
|
it != tps.end(); it++){
|
||||||
string canonic = stringtolower(*it); // canonic name
|
string canonic = stringtolower(*it); // canonic name
|
||||||
FieldTraits ft;
|
FieldTraits ft;
|
||||||
map<string, FieldTraits>::const_iterator pit =
|
map<string, FieldTraits>::const_iterator pit =
|
||||||
|
@ -876,6 +879,21 @@ bool RclConfig::readFieldsConfig(const string& cnferrloc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Query aliases map
|
||||||
|
tps = m_fields->getNames("queryaliases");
|
||||||
|
for (vector<string>::const_iterator it = tps.begin();
|
||||||
|
it != tps.end(); it++){
|
||||||
|
string canonic = stringtolower(*it); // canonic name
|
||||||
|
string aliases;
|
||||||
|
m_fields->get(canonic, aliases, "queryaliases");
|
||||||
|
vector<string> l;
|
||||||
|
stringToStrings(aliases, l);
|
||||||
|
for (vector<string>::const_iterator ait = l.begin();
|
||||||
|
ait != l.end(); ait++) {
|
||||||
|
m_aliastoqcanon[stringtolower(*ait)] = canonic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
for (map<string, FieldTraits>::const_iterator it = m_fldtotraits.begin();
|
for (map<string, FieldTraits>::const_iterator it = m_fldtotraits.begin();
|
||||||
it != m_fldtotraits.end(); it++) {
|
it != m_fldtotraits.end(); it++) {
|
||||||
|
@ -907,10 +925,10 @@ bool RclConfig::readFieldsConfig(const string& cnferrloc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return specifics for field name:
|
// Return specifics for field name:
|
||||||
bool RclConfig::getFieldTraits(const string& _fld, const FieldTraits **ftpp)
|
bool RclConfig::getFieldTraits(const string& _fld, const FieldTraits **ftpp,
|
||||||
const
|
bool isquery) const
|
||||||
{
|
{
|
||||||
string fld = fieldCanon(_fld);
|
string fld = isquery ? fieldQCanon(_fld) : fieldCanon(_fld);
|
||||||
map<string, FieldTraits>::const_iterator pit = m_fldtotraits.find(fld);
|
map<string, FieldTraits>::const_iterator pit = m_fldtotraits.find(fld);
|
||||||
if (pit != m_fldtotraits.end()) {
|
if (pit != m_fldtotraits.end()) {
|
||||||
*ftpp = &pit->second;
|
*ftpp = &pit->second;
|
||||||
|
@ -949,6 +967,18 @@ string RclConfig::fieldCanon(const string& f) const
|
||||||
return fld;
|
return fld;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string RclConfig::fieldQCanon(const string& f) const
|
||||||
|
{
|
||||||
|
string fld = stringtolower(f);
|
||||||
|
map<string, string>::const_iterator it = m_aliastoqcanon.find(fld);
|
||||||
|
if (it != m_aliastoqcanon.end()) {
|
||||||
|
LOGDEB1(("RclConfig::fieldQCanon: [%s] -> [%s]\n",
|
||||||
|
f.c_str(), it->second.c_str()));
|
||||||
|
return it->second;
|
||||||
|
}
|
||||||
|
return fieldCanon(f);
|
||||||
|
}
|
||||||
|
|
||||||
vector<string> RclConfig::getFieldSectNames(const string &sk, const char* patrn)
|
vector<string> RclConfig::getFieldSectNames(const string &sk, const char* patrn)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
|
@ -1420,6 +1450,7 @@ void RclConfig::initFrom(const RclConfig& r)
|
||||||
m_ptrans = new ConfSimple(*(r.m_ptrans));
|
m_ptrans = new ConfSimple(*(r.m_ptrans));
|
||||||
m_fldtotraits = r.m_fldtotraits;
|
m_fldtotraits = r.m_fldtotraits;
|
||||||
m_aliastocanon = r.m_aliastocanon;
|
m_aliastocanon = r.m_aliastocanon;
|
||||||
|
m_aliastoqcanon = r.m_aliastoqcanon;
|
||||||
m_storedFields = r.m_storedFields;
|
m_storedFields = r.m_storedFields;
|
||||||
m_xattrtofld = r.m_xattrtofld;
|
m_xattrtofld = r.m_xattrtofld;
|
||||||
if (r.m_stopsuffixes)
|
if (r.m_stopsuffixes)
|
||||||
|
|
|
@ -65,9 +65,11 @@ struct FieldTraits {
|
||||||
string pfx; // indexing prefix,
|
string pfx; // indexing prefix,
|
||||||
int wdfinc; // Index time term frequency increment (default 1)
|
int wdfinc; // Index time term frequency increment (default 1)
|
||||||
double boost; // Query time boost (default 1.0)
|
double boost; // Query time boost (default 1.0)
|
||||||
FieldTraits(int i, double f) {wdfinc = i; boost = f;}
|
bool pfxonly; // Suppress prefix-less indexing
|
||||||
FieldTraits() : wdfinc(1), boost(1.0) {}
|
|
||||||
FieldTraits(const string& s) : pfx(s), wdfinc(1), boost(1.0) {}
|
FieldTraits()
|
||||||
|
: wdfinc(1), boost(1.0), pfxonly(false)
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
class RclConfig {
|
class RclConfig {
|
||||||
|
@ -239,8 +241,10 @@ class RclConfig {
|
||||||
/** mimeconf: get query lang frag for named filter */
|
/** mimeconf: get query lang frag for named filter */
|
||||||
bool getGuiFilter(const string& filtername, string& frag) const;
|
bool getGuiFilter(const string& filtername, string& frag) const;
|
||||||
|
|
||||||
/** fields: get field prefix from field name */
|
/** fields: get field prefix from field name. Use additional query
|
||||||
bool getFieldTraits(const string& fldname, const FieldTraits **) const;
|
aliases if isquery is set */
|
||||||
|
bool getFieldTraits(const string& fldname, const FieldTraits **,
|
||||||
|
bool isquery = false) const;
|
||||||
|
|
||||||
const set<string>& getStoredFields() const {return m_storedFields;}
|
const set<string>& getStoredFields() const {return m_storedFields;}
|
||||||
|
|
||||||
|
@ -249,6 +253,9 @@ class RclConfig {
|
||||||
/** Get canonic name for possible alias */
|
/** Get canonic name for possible alias */
|
||||||
string fieldCanon(const string& fld) const;
|
string fieldCanon(const string& fld) const;
|
||||||
|
|
||||||
|
/** Get canonic name for possible alias, including query-only aliases */
|
||||||
|
string fieldQCanon(const string& fld) const;
|
||||||
|
|
||||||
/** Get xattr name to field names translations */
|
/** Get xattr name to field names translations */
|
||||||
const map<string, string>& getXattrToField() const {return m_xattrtofld;}
|
const map<string, string>& getXattrToField() const {return m_xattrtofld;}
|
||||||
|
|
||||||
|
@ -321,6 +328,7 @@ class RclConfig {
|
||||||
ConfSimple *m_ptrans; // Paths translations
|
ConfSimple *m_ptrans; // Paths translations
|
||||||
map<string, FieldTraits> m_fldtotraits; // Field to field params
|
map<string, FieldTraits> m_fldtotraits; // Field to field params
|
||||||
map<string, string> m_aliastocanon;
|
map<string, string> m_aliastocanon;
|
||||||
|
map<string, string> m_aliastoqcanon;
|
||||||
set<string> m_storedFields;
|
set<string> m_storedFields;
|
||||||
map<string, string> m_xattrtofld;
|
map<string, string> m_xattrtofld;
|
||||||
|
|
||||||
|
|
|
@ -656,7 +656,13 @@ bool TextSplit::text_to_words(const string &in)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '#':
|
case '#':
|
||||||
// Keep it only at end of word ... Special case for c# you see...
|
// Keep it only at the beginning of a word (hashtag),
|
||||||
|
if (m_wordLen == 0) {
|
||||||
|
m_wordLen += it.appendchartostring(m_span);
|
||||||
|
STATS_INC_WORDCHARS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// or at the end (special case for c# ...)
|
||||||
if (m_wordLen > 0) {
|
if (m_wordLen > 0) {
|
||||||
int w = whatcc(it[it.getCpos()+1]);
|
int w = whatcc(it[it.getCpos()+1]);
|
||||||
if (w == SPACE || w == '\n' || w == '\r') {
|
if (w == SPACE || w == '\n' || w == '\r') {
|
||||||
|
@ -729,6 +735,9 @@ bool TextSplit::text_to_words(const string &in)
|
||||||
m_wordLen--;
|
m_wordLen--;
|
||||||
if (!doemit(false, it.getBpos()))
|
if (!doemit(false, it.getBpos()))
|
||||||
return false;
|
return false;
|
||||||
|
// m_wordstart could be 0 here if the span was reset
|
||||||
|
// for excessive length
|
||||||
|
if (m_wordStart)
|
||||||
m_wordStart--;
|
m_wordStart--;
|
||||||
m_wordLen++;
|
m_wordLen++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
.\" $Id: recoll.conf.5,v 1.5 2007-07-13 10:18:49 dockes Exp $ (C) 2005 J.F.Dockes\$
|
.TH RECOLL.CONF 5 "14 November 2012"
|
||||||
.TH RECOLL.CONF 5 "8 January 2006"
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
recoll.conf \- main personal configuration file for Recoll
|
recoll.conf \- main personal configuration file for Recoll
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
<!ENTITY RCL "<application>Recoll</application>">
|
<!ENTITY RCL "<application>Recoll</application>">
|
||||||
<!ENTITY RCLAPPS "<ulink url='http://www.recoll.org/features.html'>http://www.recoll.org/features.html</ulink>">
|
<!ENTITY RCLAPPS "<ulink url='http://www.recoll.org/features.html'>http://www.recoll.org/features.html</ulink>">
|
||||||
<!ENTITY RCLVERSION "1.19">
|
<!ENTITY RCLVERSION "1.20">
|
||||||
<!ENTITY XAP "<application>Xapian</application>">
|
<!ENTITY XAP "<application>Xapian</application>">
|
||||||
<!ENTITY WIKI "http://bitbucket.org/medoc/recoll/wiki/">
|
<!ENTITY WIKI "http://bitbucket.org/medoc/recoll/wiki/">
|
||||||
]>
|
]>
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
</author>
|
</author>
|
||||||
|
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2005-2013</year>
|
<year>2005-2014</year>
|
||||||
<holder role="mailto:jfd@recoll.org">Jean-Francois Dockes</holder>
|
<holder role="mailto:jfd@recoll.org">Jean-Francois Dockes</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
<abstract>
|
<abstract>
|
||||||
|
@ -1269,6 +1269,11 @@ fs.inotify.max_user_watches=32768
|
||||||
<filename>mimeview</filename></link> configuration file if you find
|
<filename>mimeview</filename></link> configuration file if you find
|
||||||
this more convenient.</para>
|
this more convenient.</para>
|
||||||
|
|
||||||
|
<para>Each result entry also has a right-click menu with an
|
||||||
|
<guilabel>Open With</guilabel> entry. This lets you choose an
|
||||||
|
application from the list of those which registered with the desktop
|
||||||
|
for the document MIME type.</para>
|
||||||
|
|
||||||
<para>The <literal>Preview</literal> and <literal>Open</literal>
|
<para>The <literal>Preview</literal> and <literal>Open</literal>
|
||||||
edit links may not be present for all entries, meaning that
|
edit links may not be present for all entries, meaning that
|
||||||
&RCL; has no configured way to preview a given file type (which
|
&RCL; has no configured way to preview a given file type (which
|
||||||
|
@ -2031,6 +2036,19 @@ fs.inotify.max_user_watches=32768
|
||||||
also save the result list in CSV format.</para>
|
also save the result list in CSV format.</para>
|
||||||
</formalpara>
|
</formalpara>
|
||||||
|
|
||||||
|
|
||||||
|
<formalpara><title>Changing the GUI geometry</title>
|
||||||
|
<para>It is possible to configure the GUI in wide form
|
||||||
|
factor by dragging the toolbars to one of the sides (their
|
||||||
|
location is remembered between sessions), and moving the
|
||||||
|
category filters to a menu (can be set in the
|
||||||
|
<menuchoice>
|
||||||
|
<guimenu>Preferences</guimenu>
|
||||||
|
<guimenuitem>GUI configuration</guimenuitem>
|
||||||
|
<guimenuitem>User interface</guimenuitem>
|
||||||
|
</menuchoice> panel).</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
<formalpara><title>Query explanation</title>
|
<formalpara><title>Query explanation</title>
|
||||||
<para>You can get an exact description of what the query
|
<para>You can get an exact description of what the query
|
||||||
looked for, including stem expansion, and Boolean operators
|
looked for, including stem expansion, and Boolean operators
|
||||||
|
@ -2421,6 +2439,10 @@ fs.inotify.max_user_watches=32768
|
||||||
<listitem><formalpara><title>%N</title><para>result Number inside
|
<listitem><formalpara><title>%N</title><para>result Number inside
|
||||||
the result page</para></formalpara>
|
the result page</para></formalpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem><formalpara><title>%P</title><para>Parent folder
|
||||||
|
Url. In the case of an embedded document, this is the parent folder
|
||||||
|
for the top level container file.</para></formalpara>
|
||||||
|
</listitem>
|
||||||
<listitem><formalpara><title>%R</title><para>Relevance
|
<listitem><formalpara><title>%R</title><para>Relevance
|
||||||
percentage</para></formalpara>
|
percentage</para></formalpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -2445,6 +2467,14 @@ fs.inotify.max_user_watches=32768
|
||||||
where <replaceable>docnum</replaceable> (%N) expands to the document
|
where <replaceable>docnum</replaceable> (%N) expands to the document
|
||||||
number inside the result page).</para>
|
number inside the result page).</para>
|
||||||
|
|
||||||
|
<para>It is also possible to use a <literal>"F%N"</literal> value
|
||||||
|
as a link target. This will open the document corresponding to the
|
||||||
|
<literal>%P</literal> parent folder expansion, usually creating a
|
||||||
|
file manager window on the folder where the container file
|
||||||
|
resides. E.g.:
|
||||||
|
<programlisting><a href="F%N">%P</a></programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>In addition to the predefined values above, all strings
|
<para>In addition to the predefined values above, all strings
|
||||||
like <literal>%(fieldname)</literal> will be replaced by the
|
like <literal>%(fieldname)</literal> will be replaced by the
|
||||||
value of the field named <literal>fieldname</literal> for this
|
value of the field named <literal>fieldname</literal> for this
|
||||||
|
@ -2781,6 +2811,16 @@ text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/factEtCie/r
|
||||||
<replaceable>title:prejudice title:pride</replaceable>, and is
|
<replaceable>title:prejudice title:pride</replaceable>, and is
|
||||||
unlikely to find a result.</para>
|
unlikely to find a result.</para>
|
||||||
|
|
||||||
|
<para>To save you some typing, recent &RCL; versions (1.20 and later)
|
||||||
|
interpret a comma-separated list of terms as an AND list inside the
|
||||||
|
field. Use slash characters ('/') for an OR list. No white space
|
||||||
|
is allowed. So
|
||||||
|
<programlisting>author:john,lennon</programlisting> will search for
|
||||||
|
documents with <literal>john</literal> and <literal>lennon</literal>
|
||||||
|
inside the <literal>author</literal> field (in any order), and
|
||||||
|
<programlisting>author:john/ringo</programlisting> would search for
|
||||||
|
<literal>john</literal> or <literal>ringo</literal>.</para>
|
||||||
|
|
||||||
<para>Modifiers can be set on a phrase clause, for example to specify
|
<para>Modifiers can be set on a phrase clause, for example to specify
|
||||||
a proximity search (unordered). See
|
a proximity search (unordered). See
|
||||||
<link linkend="RCL.SEARCH.LANG.MODIFIERS">the modifier
|
<link linkend="RCL.SEARCH.LANG.MODIFIERS">the modifier
|
||||||
|
@ -2812,7 +2852,23 @@ text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/factEtCie/r
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para><literal>filename</literal> for the document's
|
<listitem><para><literal>filename</literal> for the document's
|
||||||
file name.</para></listitem>
|
file name. This is not necessarily set for all documents:
|
||||||
|
internal documents contained inside a compound one (for example
|
||||||
|
an EPUB section) do not inherit the container file name any more,
|
||||||
|
this was replaced by an explicit field (see next). Sub-documents
|
||||||
|
can still have a specific <literal>filename</literal>, if it is
|
||||||
|
implied by the document format, for example the attachment file
|
||||||
|
name for an email attachment.</para></listitem>
|
||||||
|
|
||||||
|
<listitem><para><literal>containerfilename</literal>. This is
|
||||||
|
set for all documents, both top-level and contained
|
||||||
|
sub-documents, and is always the name of the filesystem directory
|
||||||
|
entry which contains the data. The terms from this field can
|
||||||
|
only be matched by an explicit field specification (as opposed
|
||||||
|
to terms from <literal>filename</literal> which are also indexed
|
||||||
|
as general document content). This avoids getting matches for
|
||||||
|
all the sub-documents when searching for the container file
|
||||||
|
name.</para></listitem>
|
||||||
|
|
||||||
<listitem><para><literal>ext</literal> specifies the file
|
<listitem><para><literal>ext</literal> specifies the file
|
||||||
name extension (Ex: <literal>ext:html</literal>)</para>
|
name extension (Ex: <literal>ext:html</literal>)</para>
|
||||||
|
@ -2820,6 +2876,14 @@ text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/factEtCie/r
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>&RCL; 1.20 and later have a way to specify aliases for the
|
||||||
|
field names, which will save typing, for example by aliasing
|
||||||
|
<literal>filename</literal> to <replaceable>fn</replaceable> or
|
||||||
|
<literal>containerfilename</literal> to
|
||||||
|
<replaceable>cfn</replaceable>. See the <link
|
||||||
|
linkend="RCL.INSTALL.CONFIG.FIELDS">section about the
|
||||||
|
<filename>fields</filename> file</link></para>
|
||||||
|
|
||||||
<para>The field syntax also supports a few field-like, but
|
<para>The field syntax also supports a few field-like, but
|
||||||
special, criteria:</para>
|
special, criteria:</para>
|
||||||
|
|
||||||
|
@ -5076,8 +5140,8 @@ skippedPaths = ~/somedir/*.txt
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>usesystemfilecommand</varname></term>
|
<varlistentry><term><varname>usesystemfilecommand</varname></term>
|
||||||
<listitem><para>Decide if we use the
|
<listitem><para>Decide if we execute a system command
|
||||||
<command>file</command> <option>-i</option> system command
|
(<command>file</command> <option>-i</option> by default)
|
||||||
as a final step for determining the MIME type for a file
|
as a final step for determining the MIME type for a file
|
||||||
(the main procedure uses suffix associations as defined in
|
(the main procedure uses suffix associations as defined in
|
||||||
the <filename>mimemap</filename> file). This can be useful
|
the <filename>mimemap</filename> file). This can be useful
|
||||||
|
@ -5086,6 +5150,14 @@ skippedPaths = ~/somedir/*.txt
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry><term><varname>systemfilecommand</varname></term>
|
||||||
|
<listitem><para>Command to use for mime for mime type
|
||||||
|
determination if <literal>usesystefilecommand</literal> is
|
||||||
|
set. Recent versions of <command>xdg-mime</command> sometimes
|
||||||
|
work better than <command>file</command>.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><varname>processwebqueue</varname></term>
|
<varlistentry><term><varname>processwebqueue</varname></term>
|
||||||
<listitem><para>If this is set, process the directory where
|
<listitem><para>If this is set, process the directory where
|
||||||
Web browser plugins copy visited pages for indexing.</para>
|
Web browser plugins copy visited pages for indexing.</para>
|
||||||
|
@ -5657,7 +5729,8 @@ mondelaypatterns = *.log:20 "this one has spaces*:10"
|
||||||
behaviour.</para>
|
behaviour.</para>
|
||||||
|
|
||||||
<para>We will only give a short description here, you should refer
|
<para>We will only give a short description here, you should refer
|
||||||
to the comments inside the file for more detailed information.</para>
|
to the comments inside the default file for more detailed
|
||||||
|
information.</para>
|
||||||
|
|
||||||
<para>Field names should be lowercase alphabetic ASCII.</para>
|
<para>Field names should be lowercase alphabetic ASCII.</para>
|
||||||
|
|
||||||
|
@ -5683,6 +5756,14 @@ mondelaypatterns = *.log:20 "this one has spaces*:10"
|
||||||
and <literal>[stored]</literal> sections</para>
|
and <literal>[stored]</literal> sections</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>[queryaliases]</term>
|
||||||
|
<listitem><para>This section also defines aliases for the
|
||||||
|
canonic field names, with the difference that the substitution
|
||||||
|
will only be used at query time, avoiding any possibility that
|
||||||
|
the value would pick-up random metadata from documents.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>handler-specific sections</term>
|
<term>handler-specific sections</term>
|
||||||
<listitem><para>Some input handlers may need specific
|
<listitem><para>Some input handlers may need specific
|
||||||
|
@ -5713,6 +5794,10 @@ mailmytag = XMTAG
|
||||||
# displayed - as %(mailmytag) - in result lists).
|
# displayed - as %(mailmytag) - in result lists).
|
||||||
mailmytag =
|
mailmytag =
|
||||||
|
|
||||||
|
[queryaliases]
|
||||||
|
filename = fn
|
||||||
|
containerfilename = cfn
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
# Extract the X-My-Tag mail header, and use it internally with the
|
# Extract the X-My-Tag mail header, and use it internally with the
|
||||||
# mailmytag field name
|
# mailmytag field name
|
||||||
|
@ -5863,11 +5948,6 @@ x-my-tag = mailmytag
|
||||||
from a container).</para></formalpara>
|
from a container).</para></formalpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><formalpara><title>%F</title>
|
|
||||||
<para>Original file name. Same as %f except if a temporary
|
|
||||||
file is used.</para></formalpara>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem><formalpara><title>%i</title>
|
<listitem><formalpara><title>%i</title>
|
||||||
<para>Internal path, for subdocuments of containers. The
|
<para>Internal path, for subdocuments of containers. The
|
||||||
format depends on the container type. If this appears in the
|
format depends on the container type. If this appears in the
|
||||||
|
@ -5895,7 +5975,7 @@ x-my-tag = mailmytag
|
||||||
highlighting of the term.</para></formalpara>
|
highlighting of the term.</para></formalpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><formalpara><title>%U, %u</title>
|
<listitem><formalpara><title>%u</title>
|
||||||
<para>Url.</para></formalpara>
|
<para>Url.</para></formalpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
|
@ -53,7 +53,7 @@ class PPTDumper(object):
|
||||||
try:
|
try:
|
||||||
dirstrm = strm.getDirectoryStreamByName(dirname)
|
dirstrm = strm.getDirectoryStreamByName(dirname)
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
error("getDirectoryStreamByName(%s): %s\n" % (dirname,str(err)))
|
error("getDirectoryStreamByName(%s): %s - %s\n" % (dirname,str(err),self.filepath))
|
||||||
# The previous version was killed by the exception
|
# The previous version was killed by the exception
|
||||||
# here, so the equivalent is to break, but maybe there
|
# here, so the equivalent is to break, but maybe there
|
||||||
# is no reason to do so.
|
# is no reason to do so.
|
||||||
|
@ -119,9 +119,9 @@ def main (args):
|
||||||
try:
|
try:
|
||||||
dumper = PPTDumper(args[0], globals.params)
|
dumper = PPTDumper(args[0], globals.params)
|
||||||
if not dumper.dump():
|
if not dumper.dump():
|
||||||
error("ppt-dump: dump error\n")
|
error("ppt-dump: dump error " + args[0] + "\n")
|
||||||
except:
|
except:
|
||||||
error("ppt-dump: FAILURE (bad format?)\n")
|
error("ppt-dump: FAILURE (bad format?) " + args[0] + "\n")
|
||||||
|
|
||||||
if globals.params.dumpText:
|
if globals.params.dumpText:
|
||||||
print(globals.textdump.replace("\r", "\n"))
|
print(globals.textdump.replace("\r", "\n"))
|
||||||
|
|
|
@ -90,23 +90,30 @@ umask 77
|
||||||
|
|
||||||
checkcmds awk antiword iconv
|
checkcmds awk antiword iconv
|
||||||
|
|
||||||
# output the result
|
# We need to do some strange stuff to retrieve the status from antiword. Things
|
||||||
|
# would be simpler if we relied on using bash.
|
||||||
|
# Explanations:
|
||||||
|
#http://stackoverflow.com/questions/1221833/bash-pipe-output-and-capture-exit-status
|
||||||
|
|
||||||
|
stdintoexitstatus() {
|
||||||
|
read exitstatus
|
||||||
|
return $exitstatus
|
||||||
|
}
|
||||||
|
|
||||||
# The strange 'BEGIN' setup is to prevent 'file' from thinking this file
|
# The strange 'BEGIN' setup is to prevent 'file' from thinking this file
|
||||||
# is an awk program
|
# is an awk program
|
||||||
$decoder "$infile" |
|
(((($decoder "$infile"; echo $? >&3) |
|
||||||
awk 'BEGIN'\
|
awk 'BEGIN'\
|
||||||
' {
|
' {
|
||||||
cont = ""
|
cont = ""
|
||||||
gotdata = 0
|
gotdata = 0
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
if (!($0 ~ /^[ ]*$/)) {
|
if (!($0 ~ /^[ ]*$/) && gotdata == 0) {
|
||||||
gotdata = 1
|
|
||||||
if (gotdata == 0) {
|
|
||||||
print "<html><head><title></title>"
|
print "<html><head><title></title>"
|
||||||
print "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">"
|
print "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">"
|
||||||
print "</head>\n<body>\n<p>"
|
print "</head>\n<body>\n<p>"
|
||||||
}
|
gotdata = 1
|
||||||
}
|
}
|
||||||
$0 = cont $0
|
$0 = cont $0
|
||||||
cont = ""
|
cont = ""
|
||||||
|
@ -124,17 +131,19 @@ awk 'BEGIN'\
|
||||||
print "</p><hr><p>"
|
print "</p><hr><p>"
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gotdata == 1) {
|
||||||
gsub(/&/, "\\&", $0)
|
gsub(/&/, "\\&", $0)
|
||||||
gsub(/</, "\\<", $0)
|
gsub(/</, "\\<", $0)
|
||||||
gsub(/>/, "\\>", $0)
|
gsub(/>/, "\\>", $0)
|
||||||
|
|
||||||
print $0 "<br>"
|
print $0 "<br>"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
END {
|
END {
|
||||||
if (gotdata == 0)
|
if (gotdata == 1)
|
||||||
exit(1)
|
|
||||||
print "</p></body></html>"
|
print "</p></body></html>"
|
||||||
}'
|
}' >&4) 3>&1) | stdintoexitstatus) 4>&1
|
||||||
|
|
||||||
|
|
||||||
# Antiword rarely fails, we try to catch the most common reasons:
|
# Antiword rarely fails, we try to catch the most common reasons:
|
||||||
|
|
|
@ -1,22 +1,18 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# @(#$Id: rclpdf,v 1.10 2007-07-12 17:13:38 dockes Exp $ (C) 2004 J.F.Dockes
|
|
||||||
# This is copied almost verbatim from Estraier:
|
|
||||||
#================================================================
|
#================================================================
|
||||||
|
# Some parts are Copyright Estraier (GPL v2).
|
||||||
# Estraier: a personal full-text search system
|
# Estraier: a personal full-text search system
|
||||||
# Copyright (C) 2003-2004 Mikio Hirabayashi
|
# Copyright (C) 2003-2004 Mikio Hirabayashi
|
||||||
|
# Copyright (C) 2014 J.F. Dockes
|
||||||
|
# This file is licensed under the GPL v2
|
||||||
#================================================================
|
#================================================================
|
||||||
#================================================================
|
#================================================================
|
||||||
# Convert a pdf file to HTML.
|
# Convert a pdf file to HTML.
|
||||||
#
|
#
|
||||||
# We use pdftotxt from the xpdf package. This does not perfect results as
|
# We use pdftotext from the xpdf/poppler-utils package.
|
||||||
# whitespace is sometimes either arbitrarily inserted or stripped from the
|
|
||||||
# text. This seems to depend on the usage of option -raw, and,
|
|
||||||
# unfortunately also of the document itself, so that there does not seem to
|
|
||||||
# be an universally good solution
|
|
||||||
#
|
#
|
||||||
# Also, the filter sometimes seems to output problematic utf-8. I did not
|
# pdftotext sometimes outputs unescaped text inside HTML text sections.
|
||||||
# check if it was actually incorrect or just mis-understood by qtextedit
|
# We try to correct.
|
||||||
# (tobedone)
|
|
||||||
|
|
||||||
# Uncomment the following if you get better results without. The
|
# Uncomment the following if you get better results without. The
|
||||||
# pdftotext manual says that the option is no longer recommended The
|
# pdftotext manual says that the option is no longer recommended The
|
||||||
|
@ -133,6 +129,19 @@ awk 'BEGIN'\
|
||||||
mid = "<title>" mid "</title>"
|
mid = "<title>" mid "</title>"
|
||||||
$0 = part1 mid part2
|
$0 = part1 mid part2
|
||||||
}
|
}
|
||||||
|
if(doescape == 0 && $0 ~ /content=".*"\/>/){
|
||||||
|
match($0, /content=".*"\/>/)
|
||||||
|
part1 = substr($0, 0, RSTART-1)
|
||||||
|
mid = substr($0, RSTART, RLENGTH)
|
||||||
|
part2 = substr($0, RSTART + RLENGTH, length($0))
|
||||||
|
gsub(/content="/, "", mid)
|
||||||
|
gsub(/"\/>/, "", mid)
|
||||||
|
gsub(/&/, "\\&", mid)
|
||||||
|
gsub(/</, "\\<", mid)
|
||||||
|
gsub(/>/, "\\>", mid)
|
||||||
|
mid = "content=\"" mid "\"/>"
|
||||||
|
$0 = part1 mid part2
|
||||||
|
}
|
||||||
|
|
||||||
# Recoll treats "Subject" as a "title" element (based on emails). The PDF
|
# Recoll treats "Subject" as a "title" element (based on emails). The PDF
|
||||||
# "Subject" metadata field is more like an HTML "description"
|
# "Subject" metadata field is more like an HTML "description"
|
||||||
|
|
|
@ -98,7 +98,8 @@ class ZipExtractor:
|
||||||
try:
|
try:
|
||||||
self.zip = ZipFile(filename)
|
self.zip = ZipFile(filename)
|
||||||
return True
|
return True
|
||||||
except:
|
except Exception, err:
|
||||||
|
self.em.rclog("openfile: failed: [%s]" % err)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def getipath(self, params):
|
def getipath(self, params):
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import xml.sax
|
import xml.sax
|
||||||
|
sys.path.append(sys.path[0]+"/msodump.zip")
|
||||||
|
from msodumper.globals import error
|
||||||
|
|
||||||
dtt = True
|
dtt = True
|
||||||
|
|
||||||
|
@ -47,6 +49,8 @@ class XlsXmlHandler(xml.sax.handler.ContentHandler):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
xml.sax.parse(sys.stdin, XlsXmlHandler())
|
xml.sax.parse(sys.stdin, XlsXmlHandler())
|
||||||
except:
|
except BaseException as err:
|
||||||
|
error("xml-parse: %s\n" % (str(sys.exc_info()[:2]),))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
|
@ -455,6 +455,7 @@ BeagleQueueIndexer::processone(const string &path,
|
||||||
|
|
||||||
if (doc.fmtime.empty())
|
if (doc.fmtime.empty())
|
||||||
doc.fmtime = ascdate;
|
doc.fmtime = ascdate;
|
||||||
|
dotdoc.fmtime = doc.fmtime;
|
||||||
|
|
||||||
char cbuf[100];
|
char cbuf[100];
|
||||||
sprintf(cbuf, "%lld", (long long)stp->st_size);
|
sprintf(cbuf, "%lld", (long long)stp->st_size);
|
||||||
|
|
|
@ -724,9 +724,12 @@ FsIndexer::processonefile(RclConfig *config,
|
||||||
if (doc.url.empty())
|
if (doc.url.empty())
|
||||||
doc.url = cstr_fileu + fn;
|
doc.url = cstr_fileu + fn;
|
||||||
const string *fnp = 0;
|
const string *fnp = 0;
|
||||||
if (doc.ipath.empty() &&
|
if (doc.ipath.empty()) {
|
||||||
(!doc.peekmeta(Rcl::Doc::keyfn, &fnp) || fnp->empty()))
|
if (!doc.peekmeta(Rcl::Doc::keyfn, &fnp) || fnp->empty())
|
||||||
doc.meta[Rcl::Doc::keyfn] = utf8fn;
|
doc.meta[Rcl::Doc::keyfn] = utf8fn;
|
||||||
|
}
|
||||||
|
// Set container file name for all docs, top or subdoc
|
||||||
|
doc.meta[Rcl::Doc::keytcfn] = utf8fn;
|
||||||
|
|
||||||
char cbuf[100];
|
char cbuf[100];
|
||||||
sprintf(cbuf, "%lld", (long long)stp->st_size);
|
sprintf(cbuf, "%lld", (long long)stp->st_size);
|
||||||
|
@ -811,7 +814,8 @@ FsIndexer::processonefile(RclConfig *config,
|
||||||
fileDoc.onlyxattr = true;
|
fileDoc.onlyxattr = true;
|
||||||
} else {
|
} else {
|
||||||
fileDoc.fmtime = ascdate;
|
fileDoc.fmtime = ascdate;
|
||||||
fileDoc.meta[Rcl::Doc::keyfn] = utf8fn;
|
fileDoc.meta[Rcl::Doc::keyfn] =
|
||||||
|
fileDoc.meta[Rcl::Doc::keytcfn] = utf8fn;
|
||||||
fileDoc.haschildren = true;
|
fileDoc.haschildren = true;
|
||||||
fileDoc.mimetype = mimetype;
|
fileDoc.mimetype = mimetype;
|
||||||
fileDoc.url = cstr_fileu + fn;
|
fileDoc.url = cstr_fileu + fn;
|
||||||
|
|
|
@ -46,15 +46,21 @@ using namespace std;
|
||||||
/// current/interesting file types.
|
/// current/interesting file types.
|
||||||
/// As a last resort we execute 'file' (except if forbidden by config)
|
/// As a last resort we execute 'file' (except if forbidden by config)
|
||||||
|
|
||||||
static string mimetypefromdata(const string &fn, bool usfc)
|
static string mimetypefromdata(RclConfig *cfg, const string &fn, bool usfc)
|
||||||
{
|
{
|
||||||
// First try the internal identifying routine
|
// First try the internal identifying routine
|
||||||
string mime = idFile(fn.c_str());
|
string mime = idFile(fn.c_str());
|
||||||
|
|
||||||
#ifdef USE_SYSTEM_FILE_COMMAND
|
#ifdef USE_SYSTEM_FILE_COMMAND
|
||||||
if (usfc && mime.empty()) {
|
if (usfc && mime.empty()) {
|
||||||
// Last resort: use "file -i"
|
// Last resort: use "file -i", or its configured replacement.
|
||||||
vector<string> cmd = create_vector<string>(FILE_PROG) ("-i") (fn);
|
vector<string> cmd = create_vector<string>(FILE_PROG) ("-i") (fn);
|
||||||
|
string scommand;
|
||||||
|
if (cfg->getConfParam("systemfilecommand", scommand)) {
|
||||||
|
stringToStrings(scommand, cmd);
|
||||||
|
cmd.push_back(fn);
|
||||||
|
}
|
||||||
|
|
||||||
string result;
|
string result;
|
||||||
if (!ExecCmd::backtick(cmd, result)) {
|
if (!ExecCmd::backtick(cmd, result)) {
|
||||||
LOGERR(("mimetypefromdata: exec %s failed\n", FILE_PROG));
|
LOGERR(("mimetypefromdata: exec %s failed\n", FILE_PROG));
|
||||||
|
@ -164,7 +170,7 @@ string mimetype(const string &fn, const struct stat *stp,
|
||||||
// only do this if we have an actual file (as opposed to a pure
|
// only do this if we have an actual file (as opposed to a pure
|
||||||
// name).
|
// name).
|
||||||
if (mtype.empty() && stp)
|
if (mtype.empty() && stp)
|
||||||
mtype = mimetypefromdata(fn, usfc);
|
mtype = mimetypefromdata(cfg, fn, usfc);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return mtype;
|
return mtype;
|
||||||
|
|
|
@ -279,13 +279,9 @@ python/samples/docdups.py
|
||||||
python/samples/mutt-recoll.py
|
python/samples/mutt-recoll.py
|
||||||
python/samples/rcldlkp.py
|
python/samples/rcldlkp.py
|
||||||
python/samples/rclmbox.py
|
python/samples/rclmbox.py
|
||||||
python/samples/recoll/
|
|
||||||
python/samples/recoll/cur/
|
|
||||||
python/samples/recoll/new/
|
|
||||||
python/samples/recollgui/
|
python/samples/recollgui/
|
||||||
python/samples/recollgui/Makefile
|
python/samples/recollgui/Makefile
|
||||||
python/samples/recollgui/qrecoll.py
|
python/samples/recollgui/qrecoll.py
|
||||||
python/samples/recollgui/rclmain.py
|
|
||||||
python/samples/recollgui/rclmain.ui
|
python/samples/recollgui/rclmain.ui
|
||||||
python/samples/recollq.py
|
python/samples/recollq.py
|
||||||
python/samples/recollqsd.py
|
python/samples/recollqsd.py
|
||||||
|
|
|
@ -62,7 +62,9 @@ typedef struct {
|
||||||
static void
|
static void
|
||||||
SearchData_dealloc(recoll_SearchDataObject *self)
|
SearchData_dealloc(recoll_SearchDataObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("SearchData_dealloc\n"));
|
LOGDEB(("SearchData_dealloc. Releasing. Count before: %d\n",
|
||||||
|
self->sd.getcnt()));
|
||||||
|
self->sd.release();
|
||||||
Py_TYPE(self)->tp_free((PyObject*)self);
|
Py_TYPE(self)->tp_free((PyObject*)self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,7 +180,7 @@ static PyObject *
|
||||||
SearchData_addclause(recoll_SearchDataObject* self, PyObject *args,
|
SearchData_addclause(recoll_SearchDataObject* self, PyObject *args,
|
||||||
PyObject *kwargs)
|
PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("SearchData_addclause\n"));
|
LOGDEB0(("SearchData_addclause\n"));
|
||||||
if (self->sd.isNull()) {
|
if (self->sd.isNull()) {
|
||||||
LOGERR(("SearchData_addclause: not init??\n"));
|
LOGERR(("SearchData_addclause: not init??\n"));
|
||||||
PyErr_SetString(PyExc_AttributeError, "sd");
|
PyErr_SetString(PyExc_AttributeError, "sd");
|
||||||
|
@ -302,8 +304,8 @@ Doc_dealloc(recoll_DocObject *self)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
recoll_DocObject *self;
|
|
||||||
LOGDEB(("Doc_new\n"));
|
LOGDEB(("Doc_new\n"));
|
||||||
|
recoll_DocObject *self;
|
||||||
|
|
||||||
self = (recoll_DocObject *)type->tp_alloc(type, 0);
|
self = (recoll_DocObject *)type->tp_alloc(type, 0);
|
||||||
if (self == 0)
|
if (self == 0)
|
||||||
|
@ -338,7 +340,7 @@ PyDoc_STRVAR(doc_Doc_getbinurl,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_getbinurl(recoll_DocObject *self)
|
Doc_getbinurl(recoll_DocObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Doc_getbinurl\n"));
|
LOGDEB0(("Doc_getbinurl\n"));
|
||||||
if (self->doc == 0 ||
|
if (self->doc == 0 ||
|
||||||
the_docs.find(self->doc) == the_docs.end()) {
|
the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc");
|
PyErr_SetString(PyExc_AttributeError, "doc");
|
||||||
|
@ -357,6 +359,7 @@ PyDoc_STRVAR(doc_Doc_setbinurl,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_setbinurl(recoll_DocObject *self, PyObject *value)
|
Doc_setbinurl(recoll_DocObject *self, PyObject *value)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Doc_setbinurl\n"));
|
||||||
if (self->doc == 0 ||
|
if (self->doc == 0 ||
|
||||||
the_docs.find(self->doc) == the_docs.end()) {
|
the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc??");
|
PyErr_SetString(PyExc_AttributeError, "doc??");
|
||||||
|
@ -378,7 +381,7 @@ PyDoc_STRVAR(doc_Doc_keys,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_keys(recoll_DocObject *self)
|
Doc_keys(recoll_DocObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Doc_keys\n"));
|
LOGDEB0(("Doc_keys\n"));
|
||||||
if (self->doc == 0 ||
|
if (self->doc == 0 ||
|
||||||
the_docs.find(self->doc) == the_docs.end()) {
|
the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc");
|
PyErr_SetString(PyExc_AttributeError, "doc");
|
||||||
|
@ -403,7 +406,7 @@ PyDoc_STRVAR(doc_Doc_items,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_items(recoll_DocObject *self)
|
Doc_items(recoll_DocObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Doc_items\n"));
|
LOGDEB0(("Doc_items\n"));
|
||||||
if (self->doc == 0 ||
|
if (self->doc == 0 ||
|
||||||
the_docs.find(self->doc) == the_docs.end()) {
|
the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc");
|
PyErr_SetString(PyExc_AttributeError, "doc");
|
||||||
|
@ -433,7 +436,7 @@ PyDoc_STRVAR(doc_Doc_get,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_get(recoll_DocObject *self, PyObject *args)
|
Doc_get(recoll_DocObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
LOGDEB(("Doc_get\n"));
|
LOGDEB0(("Doc_get\n"));
|
||||||
char *sutf8 = 0; // needs freeing
|
char *sutf8 = 0; // needs freeing
|
||||||
if (!PyArg_ParseTuple(args, "es:Doc_get",
|
if (!PyArg_ParseTuple(args, "es:Doc_get",
|
||||||
"utf-8", &sutf8)) {
|
"utf-8", &sutf8)) {
|
||||||
|
@ -487,6 +490,7 @@ static PyMethodDef Doc_methods[] = {
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Doc_getattro(recoll_DocObject *self, PyObject *nameobj)
|
Doc_getattro(recoll_DocObject *self, PyObject *nameobj)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Doc_getattro\n"));
|
||||||
if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) {
|
if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc");
|
PyErr_SetString(PyExc_AttributeError, "doc");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -514,7 +518,7 @@ Doc_getattro(recoll_DocObject *self, PyObject *nameobj)
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
key = rclconfig->fieldCanon(string(name));
|
key = rclconfig->fieldQCanon(string(name));
|
||||||
|
|
||||||
switch (key.at(0)) {
|
switch (key.at(0)) {
|
||||||
case 'u':
|
case 'u':
|
||||||
|
@ -605,11 +609,11 @@ Doc_getattro(recoll_DocObject *self, PyObject *nameobj)
|
||||||
static int
|
static int
|
||||||
Doc_setattr(recoll_DocObject *self, char *name, PyObject *value)
|
Doc_setattr(recoll_DocObject *self, char *name, PyObject *value)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Doc_setattr: doc %p\n", self->doc));
|
||||||
if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) {
|
if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) {
|
||||||
PyErr_SetString(PyExc_AttributeError, "doc??");
|
PyErr_SetString(PyExc_AttributeError, "doc??");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
LOGDEB1(("Doc_setmeta: doc %p\n", self->doc));
|
|
||||||
|
|
||||||
#if PY_MAJOR_VERSION < 3
|
#if PY_MAJOR_VERSION < 3
|
||||||
if (PyString_Check(value)) {
|
if (PyString_Check(value)) {
|
||||||
|
@ -636,7 +640,7 @@ Doc_setattr(recoll_DocObject *self, char *name, PyObject *value)
|
||||||
}
|
}
|
||||||
char* uvalue = PyBytes_AsString(putf8);
|
char* uvalue = PyBytes_AsString(putf8);
|
||||||
Py_DECREF(putf8);
|
Py_DECREF(putf8);
|
||||||
string key = rclconfig->fieldCanon(string(name));
|
string key = rclconfig->fieldQCanon(string(name));
|
||||||
|
|
||||||
LOGDEB0(("Doc_setattr: [%s] (%s) -> [%s]\n", key.c_str(), name, uvalue));
|
LOGDEB0(("Doc_setattr: [%s] (%s) -> [%s]\n", key.c_str(), name, uvalue));
|
||||||
// We set the value in the meta array in all cases. Good idea ? or do it
|
// We set the value in the meta array in all cases. Good idea ? or do it
|
||||||
|
@ -793,31 +797,36 @@ typedef struct {
|
||||||
PyDoc_STRVAR(doc_Query_close,
|
PyDoc_STRVAR(doc_Query_close,
|
||||||
"close(). Deallocate query. Object is unusable after the call."
|
"close(). Deallocate query. Object is unusable after the call."
|
||||||
);
|
);
|
||||||
static void
|
static PyObject *
|
||||||
Query_close(recoll_QueryObject *self)
|
Query_close(recoll_QueryObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_close\n"));
|
LOGDEB(("Query_close\n"));
|
||||||
if (self->query)
|
if (self->query) {
|
||||||
the_queries.erase(self->query);
|
the_queries.erase(self->query);
|
||||||
deleteZ(self->query);
|
deleteZ(self->query);
|
||||||
|
}
|
||||||
deleteZ(self->sortfield);
|
deleteZ(self->sortfield);
|
||||||
if (self->connection)
|
if (self->connection) {
|
||||||
Py_DECREF(self->connection);
|
Py_DECREF(self->connection);
|
||||||
|
self->connection = 0;
|
||||||
|
}
|
||||||
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Query_dealloc(recoll_QueryObject *self)
|
Query_dealloc(recoll_QueryObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_dealloc\n"));
|
LOGDEB(("Query_dealloc\n"));
|
||||||
Query_close(self);
|
PyObject *ret = Query_close(self);
|
||||||
|
Py_DECREF(ret);
|
||||||
Py_TYPE(self)->tp_free((PyObject*)self);
|
Py_TYPE(self)->tp_free((PyObject*)self);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
|
Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
recoll_QueryObject *self;
|
|
||||||
LOGDEB(("Query_new\n"));
|
LOGDEB(("Query_new\n"));
|
||||||
|
recoll_QueryObject *self;
|
||||||
|
|
||||||
self = (recoll_QueryObject *)type->tp_alloc(type, 0);
|
self = (recoll_QueryObject *)type->tp_alloc(type, 0);
|
||||||
if (self == 0)
|
if (self == 0)
|
||||||
|
@ -852,6 +861,7 @@ Query_init(recoll_QueryObject *self, PyObject *, PyObject *)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_iter(PyObject *self)
|
Query_iter(PyObject *self)
|
||||||
{
|
{
|
||||||
|
Py_INCREF(self);
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -865,7 +875,7 @@ PyDoc_STRVAR(doc_Query_sortby,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_sortby(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_sortby(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_sortby\n"));
|
LOGDEB0(("Query_sortby\n"));
|
||||||
static const char *kwlist[] = {"field", "ascending", NULL};
|
static const char *kwlist[] = {"field", "ascending", NULL};
|
||||||
char *sfield = 0;
|
char *sfield = 0;
|
||||||
PyObject *ascobj = 0;
|
PyObject *ascobj = 0;
|
||||||
|
@ -899,7 +909,7 @@ PyDoc_STRVAR(doc_Query_execute,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_execute(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_execute(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB1(("Query_execute\n"));
|
LOGDEB0(("Query_execute\n"));
|
||||||
static const char *kwlist[] = {"query_string", "stemming", "stemlang", NULL};
|
static const char *kwlist[] = {"query_string", "stemming", "stemlang", NULL};
|
||||||
char *sutf8 = 0; // needs freeing
|
char *sutf8 = 0; // needs freeing
|
||||||
char *sstemlang = 0;
|
char *sstemlang = 0;
|
||||||
|
@ -922,7 +932,7 @@ Query_execute(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
PyMem_Free(sstemlang);
|
PyMem_Free(sstemlang);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGDEB(("Query_execute: [%s] dostem %d stemlang [%s]\n", utf8.c_str(),
|
LOGDEB0(("Query_execute: [%s] dostem %d stemlang [%s]\n", utf8.c_str(),
|
||||||
dostem, stemlang.c_str()));
|
dostem, stemlang.c_str()));
|
||||||
|
|
||||||
if (self->query == 0 ||
|
if (self->query == 0 ||
|
||||||
|
@ -960,9 +970,9 @@ PyDoc_STRVAR(doc_Query_executesd,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_executesd(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_executesd(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Query_executeSD\n"));
|
||||||
static const char *kwlist[] = {"searchdata", NULL};
|
static const char *kwlist[] = {"searchdata", NULL};
|
||||||
recoll_SearchDataObject *pysd = 0;
|
recoll_SearchDataObject *pysd = 0;
|
||||||
LOGDEB(("Query_executeSD\n"));
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:Query_execute",
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:Query_execute",
|
||||||
(char **)kwlist,
|
(char **)kwlist,
|
||||||
&recoll_SearchDataType, &pysd)) {
|
&recoll_SearchDataType, &pysd)) {
|
||||||
|
@ -1002,8 +1012,8 @@ PyDoc_STRVAR(doc_Query_fetchone,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_fetchone(PyObject *_self)
|
Query_fetchone(PyObject *_self)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Query_fetchone/next\n"));
|
||||||
recoll_QueryObject* self = (recoll_QueryObject*)_self;
|
recoll_QueryObject* self = (recoll_QueryObject*)_self;
|
||||||
LOGDEB(("Query_fetchone/next\n"));
|
|
||||||
|
|
||||||
if (self->query == 0 ||
|
if (self->query == 0 ||
|
||||||
the_queries.find(self->query) == the_queries.end()) {
|
the_queries.find(self->query) == the_queries.end()) {
|
||||||
|
@ -1044,7 +1054,7 @@ PyDoc_STRVAR(doc_Query_fetchmany,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_fetchmany(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_fetchmany(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_fetchmany\n"));
|
LOGDEB0(("Query_fetchmany\n"));
|
||||||
static const char *kwlist[] = {"size", NULL};
|
static const char *kwlist[] = {"size", NULL};
|
||||||
int size = 0;
|
int size = 0;
|
||||||
|
|
||||||
|
@ -1096,7 +1106,7 @@ PyDoc_STRVAR(doc_Query_scroll,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_scroll(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_scroll(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_scroll\n"));
|
LOGDEB0(("Query_scroll\n"));
|
||||||
static const char *kwlist[] = {"position", "mode", NULL};
|
static const char *kwlist[] = {"position", "mode", NULL};
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
char *smode = 0;
|
char *smode = 0;
|
||||||
|
@ -1183,7 +1193,7 @@ public:
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_highlight(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
Query_highlight(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB1(("Query_highlight\n"));
|
LOGDEB0(("Query_highlight\n"));
|
||||||
static const char *kwlist[] = {"text", "ishtml", "eolbr", "methods", NULL};
|
static const char *kwlist[] = {"text", "ishtml", "eolbr", "methods", NULL};
|
||||||
char *sutf8 = 0; // needs freeing
|
char *sutf8 = 0; // needs freeing
|
||||||
int ishtml = 0;
|
int ishtml = 0;
|
||||||
|
@ -1205,7 +1215,7 @@ Query_highlight(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
|
||||||
ishtml = 1;
|
ishtml = 1;
|
||||||
if (eolbrobj && !PyObject_IsTrue(eolbrobj))
|
if (eolbrobj && !PyObject_IsTrue(eolbrobj))
|
||||||
eolbr = 0;
|
eolbr = 0;
|
||||||
LOGDEB(("Query_highlight: ishtml %d\n", ishtml));
|
LOGDEB0(("Query_highlight: ishtml %d\n", ishtml));
|
||||||
|
|
||||||
if (self->query == 0 ||
|
if (self->query == 0 ||
|
||||||
the_queries.find(self->query) == the_queries.end()) {
|
the_queries.find(self->query) == the_queries.end()) {
|
||||||
|
@ -1243,7 +1253,7 @@ PyDoc_STRVAR(doc_Query_makedocabstract,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_makedocabstract(recoll_QueryObject* self, PyObject *args,PyObject *kwargs)
|
Query_makedocabstract(recoll_QueryObject* self, PyObject *args,PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_makeDocAbstract\n"));
|
LOGDEB0(("Query_makeDocAbstract\n"));
|
||||||
static const char *kwlist[] = {"doc", "methods", NULL};
|
static const char *kwlist[] = {"doc", "methods", NULL};
|
||||||
recoll_DocObject *pydoc = 0;
|
recoll_DocObject *pydoc = 0;
|
||||||
PyObject *hlmethods = 0;
|
PyObject *hlmethods = 0;
|
||||||
|
@ -1313,7 +1323,7 @@ PyDoc_STRVAR(doc_Query_getxquery,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_getxquery(recoll_QueryObject* self, PyObject *, PyObject *)
|
Query_getxquery(recoll_QueryObject* self, PyObject *, PyObject *)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_getxquery self->query %p\n"));
|
LOGDEB0(("Query_getxquery self->query %p\n", self->query));
|
||||||
|
|
||||||
if (self->query == 0 ||
|
if (self->query == 0 ||
|
||||||
the_queries.find(self->query) == the_queries.end()) {
|
the_queries.find(self->query) == the_queries.end()) {
|
||||||
|
@ -1341,7 +1351,7 @@ PyDoc_STRVAR(doc_Query_getgroups,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Query_getgroups(recoll_QueryObject* self, PyObject *, PyObject *)
|
Query_getgroups(recoll_QueryObject* self, PyObject *, PyObject *)
|
||||||
{
|
{
|
||||||
LOGDEB(("Query_getxquery\n"));
|
LOGDEB0(("Query_getgroups\n"));
|
||||||
|
|
||||||
if (self->query == 0 ||
|
if (self->query == 0 ||
|
||||||
the_queries.find(self->query) == the_queries.end()) {
|
the_queries.find(self->query) == the_queries.end()) {
|
||||||
|
@ -1483,27 +1493,31 @@ typedef struct recoll_DbObject {
|
||||||
Rcl::Db *db;
|
Rcl::Db *db;
|
||||||
} recoll_DbObject;
|
} recoll_DbObject;
|
||||||
|
|
||||||
static void
|
static PyObject *
|
||||||
Db_close(recoll_DbObject *self)
|
Db_close(recoll_DbObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_close\n"));
|
LOGDEB(("Db_close. self %p\n", self));
|
||||||
if (self->db)
|
if (self->db) {
|
||||||
the_dbs.erase(self->db);
|
the_dbs.erase(self->db);
|
||||||
delete self->db;
|
delete self->db;
|
||||||
self->db = 0;
|
self->db = 0;
|
||||||
}
|
}
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Db_dealloc(recoll_DbObject *self)
|
Db_dealloc(recoll_DbObject *self)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_dealloc\n"));
|
LOGDEB(("Db_dealloc\n"));
|
||||||
Db_close(self);
|
PyObject *ret = Db_close(self);
|
||||||
|
Py_DECREF(ret);
|
||||||
Py_TYPE(self)->tp_free((PyObject*)self);
|
Py_TYPE(self)->tp_free((PyObject*)self);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
|
LOGDEB2(("Db_new\n"));
|
||||||
recoll_DbObject *self;
|
recoll_DbObject *self;
|
||||||
|
|
||||||
self = (recoll_DbObject *)type->tp_alloc(type, 0);
|
self = (recoll_DbObject *)type->tp_alloc(type, 0);
|
||||||
|
@ -1609,14 +1623,13 @@ Db_query(recoll_DbObject* self)
|
||||||
Py_INCREF(self);
|
Py_INCREF(self);
|
||||||
|
|
||||||
the_queries.insert(result->query);
|
the_queries.insert(result->query);
|
||||||
Py_INCREF(result);
|
|
||||||
return (PyObject *)result;
|
return (PyObject *)result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
|
Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_setAbstractParams\n"));
|
LOGDEB0(("Db_setAbstractParams\n"));
|
||||||
static const char *kwlist[] = {"maxchars", "contextwords", NULL};
|
static const char *kwlist[] = {"maxchars", "contextwords", NULL};
|
||||||
int ctxwords = -1, maxchars = -1;
|
int ctxwords = -1, maxchars = -1;
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ii", (char**)kwlist,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ii", (char**)kwlist,
|
||||||
|
@ -1627,7 +1640,7 @@ Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
|
||||||
PyErr_SetString(PyExc_AttributeError, "db id not found");
|
PyErr_SetString(PyExc_AttributeError, "db id not found");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LOGDEB(("Db_setAbstractParams: mxchrs %d, ctxwrds %d\n", maxchars, ctxwords));
|
LOGDEB0(("Db_setAbstractParams: mxchrs %d, ctxwrds %d\n", maxchars, ctxwords));
|
||||||
self->db->setAbstractParams(-1, maxchars, ctxwords);
|
self->db->setAbstractParams(-1, maxchars, ctxwords);
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
@ -1635,7 +1648,7 @@ Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_makeDocAbstract(recoll_DbObject* self, PyObject *args)
|
Db_makeDocAbstract(recoll_DbObject* self, PyObject *args)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_makeDocAbstract\n"));
|
LOGDEB0(("Db_makeDocAbstract\n"));
|
||||||
recoll_DocObject *pydoc = 0;
|
recoll_DocObject *pydoc = 0;
|
||||||
recoll_QueryObject *pyquery = 0;
|
recoll_QueryObject *pyquery = 0;
|
||||||
if (!PyArg_ParseTuple(args, "O!O!:Db_makeDocAbstract",
|
if (!PyArg_ParseTuple(args, "O!O!:Db_makeDocAbstract",
|
||||||
|
@ -1680,7 +1693,7 @@ PyDoc_STRVAR(doc_Db_termMatch,
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_termMatch(recoll_DbObject* self, PyObject *args, PyObject *kwargs)
|
Db_termMatch(recoll_DbObject* self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_termMatch\n"));
|
LOGDEB0(("Db_termMatch\n"));
|
||||||
static const char *kwlist[] = {"type", "expr", "field", "maxlen",
|
static const char *kwlist[] = {"type", "expr", "field", "maxlen",
|
||||||
"casesens", "diacsens", "lang", NULL};
|
"casesens", "diacsens", "lang", NULL};
|
||||||
char *tp = 0;
|
char *tp = 0;
|
||||||
|
@ -1749,9 +1762,9 @@ out:
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_needUpdate(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
Db_needUpdate(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Db_needUpdate\n"));
|
||||||
char *udi = 0; // needs freeing
|
char *udi = 0; // needs freeing
|
||||||
char *sig = 0; // needs freeing
|
char *sig = 0; // needs freeing
|
||||||
LOGDEB(("Db_needUpdate\n"));
|
|
||||||
if (!PyArg_ParseTuple(args, "eses:Db_needUpdate",
|
if (!PyArg_ParseTuple(args, "eses:Db_needUpdate",
|
||||||
"utf-8", &udi, "utf-8", &sig)) {
|
"utf-8", &udi, "utf-8", &sig)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1772,8 +1785,8 @@ Db_needUpdate(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_delete(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
Db_delete(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Db_delete\n"));
|
||||||
char *udi = 0; // needs freeing
|
char *udi = 0; // needs freeing
|
||||||
LOGDEB(("Db_delete\n"));
|
|
||||||
if (!PyArg_ParseTuple(args, "es:Db_delete", "utf-8", &udi)) {
|
if (!PyArg_ParseTuple(args, "es:Db_delete", "utf-8", &udi)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1791,6 +1804,7 @@ Db_delete(recoll_DbObject* self, PyObject *args, PyObject *kwds)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_purge(recoll_DbObject* self)
|
Db_purge(recoll_DbObject* self)
|
||||||
{
|
{
|
||||||
|
LOGDEB0(("Db_purge\n"));
|
||||||
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
|
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
|
||||||
LOGERR(("Db_purge: db not found %p\n", self->db));
|
LOGERR(("Db_purge: db not found %p\n", self->db));
|
||||||
PyErr_SetString(PyExc_AttributeError, "db");
|
PyErr_SetString(PyExc_AttributeError, "db");
|
||||||
|
@ -1803,7 +1817,7 @@ Db_purge(recoll_DbObject* self)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
Db_addOrUpdate(recoll_DbObject* self, PyObject *args, PyObject *)
|
Db_addOrUpdate(recoll_DbObject* self, PyObject *args, PyObject *)
|
||||||
{
|
{
|
||||||
LOGDEB(("Db_addOrUpdate\n"));
|
LOGDEB0(("Db_addOrUpdate\n"));
|
||||||
char *sudi = 0; // needs freeing
|
char *sudi = 0; // needs freeing
|
||||||
char *sparent_udi = 0; // needs freeing
|
char *sparent_udi = 0; // needs freeing
|
||||||
recoll_DocObject *pydoc;
|
recoll_DocObject *pydoc;
|
||||||
|
@ -1944,6 +1958,7 @@ static PyTypeObject recoll_DbType = {
|
||||||
static PyObject *
|
static PyObject *
|
||||||
recoll_connect(PyObject *self, PyObject *args, PyObject *kwargs)
|
recoll_connect(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||||
{
|
{
|
||||||
|
LOGDEB2(("recoll_connect\n"));
|
||||||
recoll_DbObject *db = (recoll_DbObject *)
|
recoll_DbObject *db = (recoll_DbObject *)
|
||||||
PyObject_Call((PyObject *)&recoll_DbType, args, kwargs);
|
PyObject_Call((PyObject *)&recoll_DbType, args, kwargs);
|
||||||
return (PyObject *)db;
|
return (PyObject *)db;
|
||||||
|
|
0
src/python/samples/recollqsd.py
Normal file → Executable file
0
src/python/samples/recollqsd.py
Normal file → Executable file
|
@ -583,11 +583,11 @@ Klepněte na tlačítko Zrušit pro úpravu souboru s nastavením, předtím ne
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Výchozí znaková sada</translation>
|
<translation type="obsolete">Výchozí znaková sada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Toto je znaková sada, která se používá pro čtení souborů, které svou znakovou sadu vnitřně neurčují, např.. soubory s textem.<br>Výchozí hodnota je prázdná a používá se hodnota prostředí NLS.</translation>
|
<translation type="obsolete">Toto je znaková sada, která se používá pro čtení souborů, které svou znakovou sadu vnitřně neurčují, např.. soubory s textem.<br>Výchozí hodnota je prázdná a používá se hodnota prostředí NLS.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -617,6 +617,14 @@ Klepněte na tlačítko Zrušit pro úpravu souboru s nastavením, předtím ne
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Historie webu</translation>
|
<translation>Historie webu</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -837,7 +845,7 @@ Prověřte soubor mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Filtr pro skupinu dokumentu</translation>
|
<translation type="obsolete">Filtr pro skupinu dokumentu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -969,20 +977,57 @@ Prověřte soubor mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>Rejstřík není pro tento soubor nejnovější. Ukázání nesprávného záznamu bylo zamítnuto.</translation>
|
<translation type="obsolete">Rejstřík není pro tento soubor nejnovější. Ukázání nesprávného záznamu bylo zamítnuto.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Klepněte na tlačítko pro aktualizaci rejstříku pro tento soubor, potom dotaz, až bude rejstříkování hotovo, spusťte znovu. Jinak klepněte na Zrušit.</translation>
|
<translation type="obsolete">Klepněte na tlačítko pro aktualizaci rejstříku pro tento soubor, potom dotaz, až bude rejstříkování hotovo, spusťte znovu. Jinak klepněte na Zrušit.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>Rejstříkovač běží, takže věci by se po dokončení rejstříkování měly zlepšit</translation>
|
<translation type="obsolete">Rejstříkovač běží, takže věci by se po dokončení rejstříkování měly zlepšit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Podřízené dokumenty a přílohy</translation>
|
<translation>Podřízené dokumenty a přílohy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Zdvojené dokumenty</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Tyto adresy ( | ipath) sdílejí totožný obsah:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -1016,11 +1061,11 @@ Prověřte soubor mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Nástroje pro hledání</translation>
|
<translation type="obsolete">Nástroje pro hledání</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Seznam s výsledky</translation>
|
<translation type="obsolete">Seznam s výsledky</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&About Recoll</source>
|
<source>&About Recoll</source>
|
||||||
|
@ -1108,7 +1153,7 @@ Prověřte soubor mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Vše</translation>
|
<translation type="obsolete">Vše</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1414,11 +1459,11 @@ Prověřte soubor mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Zdvojené dokumenty</translation>
|
<translation type="obsolete">Zdvojené dokumenty</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translation>Tyto adresy ( | ipath) sdílejí totožný obsah:</translation>
|
<translation type="obsolete">Tyto adresy ( | ipath) sdílejí totožný obsah:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1573,6 +1618,10 @@ Prověřte soubor mimeconf</translation>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Ukázat podřízené dokumenty/přílohy</translation>
|
<translation>Ukázat podřízené dokumenty/přílohy</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2418,6 +2467,22 @@ To pomůže při prohledávání velmi velkých textových souborů (např. soub
|
||||||
<translation>Vnější filtry pracující déle než po tak dlouhou dobu budou přerušeny. Je to pro ten zřídkavý případ (např. postscript), kdy by dokument mohl zapříčinit vejití filtru do smyčky. Nastavte na -1 pro žádné omezení.
|
<translation>Vnější filtry pracující déle než po tak dlouhou dobu budou přerušeny. Je to pro ten zřídkavý případ (např. postscript), kdy by dokument mohl zapříčinit vejití filtru do smyčky. Nastavte na -1 pro žádné omezení.
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2598,7 +2663,7 @@ To pomůže při prohledávání velmi velkých textových souborů (např. soub
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Zobrazit skupinový filtr jako nástrojový pruh místo tlačítkového panelu (potřebuje spustit program znovu).</translation>
|
<translation type="obsolete">Zobrazit skupinový filtr jako nástrojový pruh místo tlačítkového panelu (potřebuje spustit program znovu).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2846,5 +2911,25 @@ Výchozí hodnota je 2 (procenta).</translation>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Nastaví znovu styl okna s úryvky</translation>
|
<translation>Nastaví znovu styl okna s úryvky</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -582,11 +582,11 @@ Voreinstellung: leer.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Standard-Zeichensatz</translation>
|
<translation type="obsolete">Standard-Zeichensatz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>DIes ist der Zeichensatz, der für Dateien benutzt wird, die
|
<translation type="obsolete">DIes ist der Zeichensatz, der für Dateien benutzt wird, die
|
||||||
ihren Zeichensatz nicht intern definieren, z.B. Textdateien.
|
ihren Zeichensatz nicht intern definieren, z.B. Textdateien.
|
||||||
Der Standardwert ist leer und der Wert der NLS-Umgebung wird benutzt.</translation>
|
Der Standardwert ist leer und der Wert der NLS-Umgebung wird benutzt.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -620,6 +620,14 @@ Der Standardwert ist "Nein", um doppelte Indizierung zu vermeiden.</tr
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Web-Chronik</translation>
|
<translation>Web-Chronik</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -836,7 +844,7 @@ Please check the mimeconf file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Filter für Dokumenten-Kategorie</translation>
|
<translation type="obsolete">Filter für Dokumenten-Kategorie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -965,20 +973,57 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>Der Index ist für diese Datei nicht mehr aktuell. Einträge könnten fehlerhaft sein und werden nicht angezeigt.</translation>
|
<translation type="obsolete">Der Index ist für diese Datei nicht mehr aktuell. Einträge könnten fehlerhaft sein und werden nicht angezeigt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Drücken Sie Ok, um den Index für diese Datei zu aktualisieren und die Suche daraufhin zu wiederholen. Ansonsten drücken Sie auf Abbrechen.</translation>
|
<translation type="obsolete">Drücken Sie Ok, um den Index für diese Datei zu aktualisieren und die Suche daraufhin zu wiederholen. Ansonsten drücken Sie auf Abbrechen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>Indizierung ist im Gange. Die Resultate sollten sich nach der Fertigstelltung verbessert haben</translation>
|
<translation type="obsolete">Indizierung ist im Gange. Die Resultate sollten sich nach der Fertigstelltung verbessert haben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Untergeordnete Dokumente und Anhänge</translation>
|
<translation>Untergeordnete Dokumente und Anhänge</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Doppelte Dokumente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Diese URLs ( | ipath) sind inhaltsgleich:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -1012,11 +1057,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Suchwerkzeuge</translation>
|
<translation type="obsolete">Suchwerkzeuge</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Ergebnisliste</translation>
|
<translation type="obsolete">Ergebnisliste</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&About Recoll</source>
|
<source>&About Recoll</source>
|
||||||
|
@ -1104,7 +1149,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Alle</translation>
|
<translation type="obsolete">Alle</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1402,12 +1447,12 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Doppelte Dokumente</translation>
|
<translation type="obsolete">Doppelte Dokumente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translatorcomment>ipath?</translatorcomment>
|
<translatorcomment>ipath?</translatorcomment>
|
||||||
<translation>Diese URLs ( | ipath) sind inhaltsgleich:</translation>
|
<translation type="obsolete">Diese URLs ( | ipath) sind inhaltsgleich:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1554,6 +1599,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Untergeordnete Dokumente / Anhänge anzeigen</translation>
|
<translation>Untergeordnete Dokumente / Anhänge anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2406,6 +2455,22 @@ Auf -1 setzen, um keine Obergrenze zu haben.</translation>
|
||||||
Das ist für den seltenen Fall (Postscript), in dem ein Dokument eine unendliche Schleife auslöst.
|
Das ist für den seltenen Fall (Postscript), in dem ein Dokument eine unendliche Schleife auslöst.
|
||||||
Auf -1 setzen, um keine Obergrenze zu haben.</translation>
|
Auf -1 setzen, um keine Obergrenze zu haben.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2583,7 +2648,7 @@ für Ergebnisse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Kategorie-Filter in Werkzeugleiste statt als Radio-Buttons (Neustart erforderlich)</translation>
|
<translation type="obsolete">Kategorie-Filter in Werkzeugleiste statt als Radio-Buttons (Neustart erforderlich)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2823,5 +2888,25 @@ und vermindern den Nutzender automatischen Phrasen. Der Standardwert ist 2.</tra
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Setzt das Schnipsel-Fenster Style Sheet auf den Standardwert zurück</translation>
|
<translation>Setzt das Schnipsel-Fenster Style Sheet auf den Standardwert zurück</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -565,11 +565,11 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Προκαθορισμένο σύνολο χαρακτήρων</translation>
|
<translation type="obsolete">Προκαθορισμένο σύνολο χαρακτήρων</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Το σύνολο των χαρακτήρων που χρησιμοποιείται για την ανάγνωση των αρχείων στα οποία δεν μπορεί να αναγνωριστεί το σύνολο χαρακτήρων με εσωτερικό τρόπο, για παράδειγμα τα αρχεία απλού κειμένου.<br>Η προκαθορισμένη τιμή είναι κενή, και το πρόγραμμα χρησιμοποιεί αυτή του περιβάλλοντος.</translation>
|
<translation type="obsolete">Το σύνολο των χαρακτήρων που χρησιμοποιείται για την ανάγνωση των αρχείων στα οποία δεν μπορεί να αναγνωριστεί το σύνολο χαρακτήρων με εσωτερικό τρόπο, για παράδειγμα τα αρχεία απλού κειμένου.<br>Η προκαθορισμένη τιμή είναι κενή, και το πρόγραμμα χρησιμοποιεί αυτή του περιβάλλοντος.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -595,6 +595,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Ιστορικό ιστού</translation>
|
<translation>Ιστορικό ιστού</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -713,7 +721,7 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Φίλτρο κατηγοριών των εγγράφων</translation>
|
<translation type="obsolete">Φίλτρο κατηγοριών των εγγράφων</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Could not open external index. Db not open. Check external indexes list.</source>
|
<source>Could not open external index. Db not open. Check external indexes list.</source>
|
||||||
|
@ -931,20 +939,57 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>Η δεικτοδότηση δεν είναι ενημερωμένηη για αυτό το αρχείο. Πιθανός κίνδυνος εμφάνισης μιας λανθασμένης εισαγωγής.</translation>
|
<translation type="obsolete">Η δεικτοδότηση δεν είναι ενημερωμένηη για αυτό το αρχείο. Πιθανός κίνδυνος εμφάνισης μιας λανθασμένης εισαγωγής.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Κάντε κλικ στο Εντάξει για να ενημερώσετε τη δεικτοδότηση για αυτό το αρχείο, και στη συνέχεια επανεκκινήστε την αναζήτηση όταν θα έχει ολοκληρωθεί η δημιουργία του ευρετηρίου. Διαφορετικά, κλικ στο Ακύρωση.</translation>
|
<translation type="obsolete">Κάντε κλικ στο Εντάξει για να ενημερώσετε τη δεικτοδότηση για αυτό το αρχείο, και στη συνέχεια επανεκκινήστε την αναζήτηση όταν θα έχει ολοκληρωθεί η δημιουργία του ευρετηρίου. Διαφορετικά, κλικ στο Ακύρωση.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>Η δημιουργία του ευρετηρίου βρίσκεται σε εξέλιξη, το αρχείο θα ενημερωθεί μετά το πέρας της ενημέρωσης</translation>
|
<translation type="obsolete">Η δημιουργία του ευρετηρίου βρίσκεται σε εξέλιξη, το αρχείο θα ενημερωθεί μετά το πέρας της ενημέρωσης</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Υπο-έγγραφα και συνημμένα</translation>
|
<translation>Υπο-έγγραφα και συνημμένα</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Διπλότυπα έγγραφα</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Αυτά τα URL (| ipath) μοιράζονται το ίδιο περιεχόμενο:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -954,15 +999,15 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Όλα</translation>
|
<translation type="obsolete">Όλα</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Εργαλεία αναζήτησης</translation>
|
<translation type="obsolete">Εργαλεία αναζήτησης</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Λίστα αποτελεσμάτων</translation>
|
<translation type="obsolete">Λίστα αποτελεσμάτων</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1356,11 +1401,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Διπλότυπα έγγραφα</translation>
|
<translation type="obsolete">Διπλότυπα έγγραφα</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translation>Αυτά τα URL (| ipath) μοιράζονται το ίδιο περιεχόμενο:</translation>
|
<translation type="obsolete">Αυτά τα URL (| ipath) μοιράζονται το ίδιο περιεχόμενο:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1511,6 +1556,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Εμφάνιση των υπο-εγγράφων / συνημμένων</translation>
|
<translation>Εμφάνιση των υπο-εγγράφων / συνημμένων</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2105,6 +2154,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation>Τα εξωτερικά φίλτρα σε λειτουργία μεγαλύτερη από αυτό θα διακόπτονται. Χρήσιμο για τη σπάνια περίπτωση (π.χ. postscript) όπου ένα έγγραφο μπορεί να προκαλέσει ένα βρόγχο στο φίλτρο. Ορίστε το σε -1 για να αφαιρέσετε το όριο.</translation>
|
<translation>Τα εξωτερικά φίλτρα σε λειτουργία μεγαλύτερη από αυτό θα διακόπτονται. Χρήσιμο για τη σπάνια περίπτωση (π.χ. postscript) όπου ένα έγγραφο μπορεί να προκαλέσει ένα βρόγχο στο φίλτρο. Ορίστε το σε -1 για να αφαιρέσετε το όριο.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2277,7 +2342,7 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Εμφάνιση φίλτρ. κατηγορίας ως γρ. εργαλείων αντί για πίν. κουμπιών (απαιτεί επανεκκίνηση).</translation>
|
<translation type="obsolete">Εμφάνιση φίλτρ. κατηγορίας ως γρ. εργαλείων αντί για πίν. κουμπιών (απαιτεί επανεκκίνηση).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2505,5 +2570,25 @@ May be slow for big documents.</source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Επαναφορά του στυλ του παραθύρου αποσπασμάτων</translation>
|
<translation>Επαναφορά του στυλ του παραθύρου αποσπασμάτων</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -574,11 +574,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Conjunto de caracteres por defecto </translation>
|
<translation type="obsolete">Conjunto de caracteres por defecto </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Este es el conjunto de caracteres usado para leer archivos que no son identificados internamente, por ejemplo, archivos de texto puro.<br>El valor por defecto está vacío, y el valor del ambiente NLS es usado.</translation>
|
<translation type="obsolete">Este es el conjunto de caracteres usado para leer archivos que no son identificados internamente, por ejemplo, archivos de texto puro.<br>El valor por defecto está vacío, y el valor del ambiente NLS es usado.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -608,6 +608,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Historial Web</translation>
|
<translation>Historial Web</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -828,7 +836,7 @@ Por favor revise el fichero mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Filtro de categorías de documentos</translation>
|
<translation type="obsolete">Filtro de categorías de documentos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -959,20 +967,57 @@ Por favor revise el archivo mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>El índice no está actualizado para este archivo. Rehusando mostrar la entrada equivocada.</translation>
|
<translation type="obsolete">El índice no está actualizado para este archivo. Rehusando mostrar la entrada equivocada.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Presione Ok para actualizar el índice para este archivo, y ejecute de nuevo la consulta cuando la indexación termine. En caso contrario, cancele.</translation>
|
<translation type="obsolete">Presione Ok para actualizar el índice para este archivo, y ejecute de nuevo la consulta cuando la indexación termine. En caso contrario, cancele.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>El indexador está en ejecución, así que las cosas deberían mejorar cuando termine</translation>
|
<translation type="obsolete">El indexador está en ejecución, así que las cosas deberían mejorar cuando termine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Sub-documentos y adjuntos</translation>
|
<translation>Sub-documentos y adjuntos</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Documentos duplicados</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Estos URLs ( | ipath) comparten el mismo contenido: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -982,11 +1027,11 @@ Por favor revise el archivo mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Herramientas de búsqueda</translation>
|
<translation type="obsolete">Herramientas de búsqueda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Lista de resultados</translation>
|
<translation type="obsolete">Lista de resultados</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1098,7 +1143,7 @@ Por favor revise el archivo mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Todo</translation>
|
<translation type="obsolete">Todo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1396,11 +1441,11 @@ Por favor revise el archivo mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Documentos duplicados</translation>
|
<translation type="obsolete">Documentos duplicados</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translation>Estos URLs ( | ipath) comparten el mismo contenido: </translation>
|
<translation type="obsolete">Estos URLs ( | ipath) comparten el mismo contenido: </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1559,6 +1604,10 @@ Por favor revise el archivo mimeconf</translation>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Mostrar subdocumentos / adjuntos</translation>
|
<translation>Mostrar subdocumentos / adjuntos</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2185,6 +2234,22 @@ Esto ayuda con las búsquedas de archivos de texto muy grandes (ej: archivos de
|
||||||
</source>
|
</source>
|
||||||
<translation>Filtros externos que se ejecuten por más tiempo del establecido serán detenidos. Esto es por el caso inusual (ej: postscript) dónde un documento puede causar que un filtro entre en un ciclo infinito. Establezca el número -1 para indicar que no hay límite.</translation>
|
<translation>Filtros externos que se ejecuten por más tiempo del establecido serán detenidos. Esto es por el caso inusual (ej: postscript) dónde un documento puede causar que un filtro entre en un ciclo infinito. Establezca el número -1 para indicar que no hay límite.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2365,7 +2430,7 @@ Esto ayuda con las búsquedas de archivos de texto muy grandes (ej: archivos de
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Mostrar filtros de categorías como barra de herramientas en lugar de panel de botones (necesita reinicio).</translation>
|
<translation type="obsolete">Mostrar filtros de categorías como barra de herramientas en lugar de panel de botones (necesita reinicio).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2601,5 +2666,25 @@ El valor por defecto es 2 (por ciento).</translation>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Establece el valor por defecto para el estilo de la ventana de Fragmentos</translation>
|
<translation>Establece el valor por defecto para el estilo de la ventana de Fragmentos</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -582,11 +582,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Jeu de caractères par défaut</translation>
|
<translation type="obsolete">Jeu de caractères par défaut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Jeu de caractères utilisé pour lire les fichiers qui ne l'identifient pas de manière interne, par exemple les fichiers de texte pur. <br>La valeur par défaut est vide, et le programme utilise l'environnement.</translation>
|
<translation type="obsolete">Jeu de caractères utilisé pour lire les fichiers qui ne l'identifient pas de manière interne, par exemple les fichiers de texte pur. <br>La valeur par défaut est vide, et le programme utilise l'environnement.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -616,6 +616,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Historique Web</translation>
|
<translation>Historique Web</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -844,7 +852,7 @@ Vérifier le fichier mimeconf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Filtre de catégories de documents</translation>
|
<translation type="obsolete">Filtre de catégories de documents</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -975,20 +983,57 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>L'index n'est pas à jour pour ce fichier. Il y aurait un risque d'afficher une entrée incorrecte</translation>
|
<translation type="obsolete">L'index n'est pas à jour pour ce fichier. Il y aurait un risque d'afficher une entrée incorrecte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Cliquer Ok pour mettre à jour l'index pour ce fichier, puis relancer la recherche quand l'indexation est terminée. Sinon cliquer Annuler</translation>
|
<translation type="obsolete">Cliquer Ok pour mettre à jour l'index pour ce fichier, puis relancer la recherche quand l'indexation est terminée. Sinon cliquer Annuler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>L'indexeur est en cours d'execution, le fichier devrait être mis à jour</translation>
|
<translation type="obsolete">L'indexeur est en cours d'execution, le fichier devrait être mis à jour</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Sous-documents et attachements</translation>
|
<translation>Sous-documents et attachements</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Documents identiques</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Ces URLs(| ipath) partagent le même contenu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -1022,11 +1067,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Outils de recherche</translation>
|
<translation type="obsolete">Outils de recherche</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Liste de résultats</translation>
|
<translation type="obsolete">Liste de résultats</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&About Recoll</source>
|
<source>&About Recoll</source>
|
||||||
|
@ -1114,7 +1159,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Tout</translation>
|
<translation type="obsolete">Tout</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1428,11 +1473,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Documents identiques</translation>
|
<translation type="obsolete">Documents identiques</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translation>Ces URLs(| ipath) partagent le même contenu</translation>
|
<translation type="obsolete">Ces URLs(| ipath) partagent le même contenu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1587,6 +1632,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Afficher les sous-documents et attachements</translation>
|
<translation>Afficher les sous-documents et attachements</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2498,6 +2547,22 @@ Ceci diminue les ressources consommées par l'indexation et aide le chargem
|
||||||
</source>
|
</source>
|
||||||
<translation>Un filtre externe qui prend plus de temps sera arrêté. Traite le cas rare (possible avec postscript par exemple) où un document pourrait amener un filtre à boucler sans fin. Mettre -1 pour complètement supprimer la limite (déconseillé).</translation>
|
<translation>Un filtre externe qui prend plus de temps sera arrêté. Traite le cas rare (possible avec postscript par exemple) où un document pourrait amener un filtre à boucler sans fin. Mettre -1 pour complètement supprimer la limite (déconseillé).</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2678,7 +2743,7 @@ Ceci diminue les ressources consommées par l'indexation et aide le chargem
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Afficher le filtre de catégorie comme une barre d'outils plutot que comme un panneau de boutons (après le redémarrage).</translation>
|
<translation type="obsolete">Afficher le filtre de catégorie comme une barre d'outils plutot que comme un panneau de boutons (après le redémarrage).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2926,5 +2991,25 @@ La valeur par défaut est 2%</translation>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Réinitialise le style de la fenêtre des fragments</translation>
|
<translation>Réinitialise le style de la fenêtre des fragments</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -546,11 +546,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Set di caratteri di default</translation>
|
<translation type="obsolete">Set di caratteri di default</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Questa è la codifica caratteri usata per leggere i file che non contengono indicazioni interne sulla codifica usata, ad esempio file di testo semplice.<br>Il valore predefinito è vuoto, in modo che venga usata l'impostazione locale del sistema.</translation>
|
<translation type="obsolete">Questa è la codifica caratteri usata per leggere i file che non contengono indicazioni interne sulla codifica usata, ad esempio file di testo semplice.<br>Il valore predefinito è vuoto, in modo che venga usata l'impostazione locale del sistema.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -576,6 +576,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -777,10 +785,6 @@ Verifica il file mimeconf</translation>
|
||||||
<source>Missing helper programs</source>
|
<source>Missing helper programs</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Document category filter</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -899,20 +903,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -948,11 +977,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Strumenti di ricerca</translation>
|
<translation type="obsolete">Strumenti di ricerca</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Lista risultati</translation>
|
<translation type="obsolete">Lista risultati</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&About Recoll</source>
|
<source>&About Recoll</source>
|
||||||
|
@ -1038,10 +1067,6 @@ Please check the mimeview file</source>
|
||||||
<source>&Indexing configuration</source>
|
<source>&Indexing configuration</source>
|
||||||
<translation type="obsolete">Conf&igurazione indicizzazione</translation>
|
<translation type="obsolete">Conf&igurazione indicizzazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>All</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1304,14 +1329,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1425,6 +1442,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2242,6 +2263,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2420,10 +2457,6 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
<source>Choose editor applications</source>
|
<source>Choose editor applications</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
<translation>Inizia automaticamente una ricerca semplice digitando uno spazio.</translation>
|
<translation>Inizia automaticamente una ricerca semplice digitando uno spazio.</translation>
|
||||||
|
@ -2639,5 +2672,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -541,11 +541,11 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Numatytoji simbolių aibė</translation>
|
<translation type="obsolete">Numatytoji simbolių aibė</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Pasirinkta simbolių aibė bus naudojama skaityti bylų, kurių simbolių aibės nepavyksta nustatyti, turiniui.<br>Numatytoji vertė yra nepasirinkti konkrečios simbolių aibės - tokiu atveju naudojama NLS aplinkos vertė.</translation>
|
<translation type="obsolete">Pasirinkta simbolių aibė bus naudojama skaityti bylų, kurių simbolių aibės nepavyksta nustatyti, turiniui.<br>Numatytoji vertė yra nepasirinkti konkrečios simbolių aibės - tokiu atveju naudojama NLS aplinkos vertė.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -575,6 +575,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -798,7 +806,7 @@ Prašome patikrinti mimeconf bylą</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Dokumentų kategorijų filtras</translation>
|
<translation type="obsolete">Dokumentų kategorijų filtras</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -919,20 +927,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -944,11 +977,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Paieškos įrankiai</translation>
|
<translation type="obsolete">Paieškos įrankiai</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Rezultatų sąrašas</translation>
|
<translation type="obsolete">Rezultatų sąrašas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1060,7 +1093,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>Visi</translation>
|
<translation type="obsolete">Visi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1344,14 +1377,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1489,6 +1514,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2357,6 +2386,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2537,7 +2582,7 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Kategorijų filtrą rodyti kaip įrankų juostą (reikalauja perkrovimo).</translation>
|
<translation type="obsolete">Kategorijų filtrą rodyti kaip įrankų juostą (reikalauja perkrovimo).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2753,5 +2798,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -579,11 +579,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Кодировка по умолчанию</translation>
|
<translation type="obsolete">Кодировка по умолчанию</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Эта кодировка будет использована при чтении файлов, в которых таковая не указывается явно (например, чисто текстовых файлов).<br>Обычно значение пусто, тогда оно извлекается из окружения (локали).</translation>
|
<translation type="obsolete">Эта кодировка будет использована при чтении файлов, в которых таковая не указывается явно (например, чисто текстовых файлов).<br>Обычно значение пусто, тогда оно извлекается из окружения (локали).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -613,6 +613,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation>Посещённые web-страницы</translation>
|
<translation>Посещённые web-страницы</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -841,7 +849,7 @@ Please check the mimeconf file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>Фильтр категории документа</translation>
|
<translation type="obsolete">Фильтр категории документа</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -973,20 +981,57 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry.</source>
|
||||||
<translation>Индекс для этого файла устарел. Отказываюсь рисковать показывать неправильную запись.</translation>
|
<translation type="obsolete">Индекс для этого файла устарел. Отказываюсь рисковать показывать неправильную запись.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
||||||
<translation>Нажмите ОК, чтобы обновить индекс для файла, и перезапустите очередь по окончании. Или нажмите Отмена.</translation>
|
<translation type="obsolete">Нажмите ОК, чтобы обновить индекс для файла, и перезапустите очередь по окончании. Или нажмите Отмена.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>Indexer running so things should improve when it's done</source>
|
||||||
<translation>Индексация выполняется, так что по завершении положение должно улучшиться</translation>
|
<translation type="obsolete">Индексация выполняется, так что по завершении положение должно улучшиться</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>Sub-documents and attachments</source>
|
||||||
<translation>Вложенные документы</translation>
|
<translation>Вложенные документы</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished">Дублированные документы</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished">Данные URL ( | индексные пути) имеют одно и то же содержимое:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RclMainBase</name>
|
<name>RclMainBase</name>
|
||||||
|
@ -1012,11 +1057,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Инструменты поиска</translation>
|
<translation type="obsolete">Инструменты поиска</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Список результатов</translation>
|
<translation type="obsolete">Список результатов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>E&xit</source>
|
<source>E&xit</source>
|
||||||
|
@ -1112,7 +1157,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>все</translation>
|
<translation type="obsolete">все</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1414,11 +1459,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Duplicate documents</source>
|
<source>Duplicate documents</source>
|
||||||
<translation>Дублированные документы</translation>
|
<translation type="obsolete">Дублированные документы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
<translation>Данные URL ( | индексные пути) имеют одно и то же содержимое:</translation>
|
<translation type="obsolete">Данные URL ( | индексные пути) имеют одно и то же содержимое:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
|
@ -1573,6 +1618,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation>Показать вложенные документы</translation>
|
<translation>Показать вложенные документы</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2461,6 +2510,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
<translation>Внешние фильтры, выполняющиеся дольше указанного предельного времени работы, принудительно завершаются. Это может помочь в тех редких случаях, когда фильтр (например, postscript) зацикливается при обработке некоторого документа. Значение, равное -1, выключает проверку времени работы.
|
<translation>Внешние фильтры, выполняющиеся дольше указанного предельного времени работы, принудительно завершаются. Это может помочь в тех редких случаях, когда фильтр (например, postscript) зацикливается при обработке некоторого документа. Значение, равное -1, выключает проверку времени работы.
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2641,7 +2706,7 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>Показывать фильтр категории документа в виде выпадающего списка, а не панели с кнопками (требуется перезапуск).</translation>
|
<translation type="obsolete">Показывать фильтр категории документа в виде выпадающего списка, а не панели с кнопками (требуется перезапуск).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2881,5 +2946,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation>Сбрасывает стиль окна Фрагменты</translation>
|
<translation>Сбрасывает стиль окна Фрагменты</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -547,11 +547,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Öntanımlı karakter seti</translation>
|
<translation type="obsolete">Öntanımlı karakter seti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Bu karakter seti, karakter kodlaması uygulama tarafından belirlenemeyen dosyalar için kulanılır, Örneğin salt metin dosyaları.<br>Öntanımlı değer boştur ve NLS çevresel değişkeni kullanılır.</translation>
|
<translation type="obsolete">Bu karakter seti, karakter kodlaması uygulama tarafından belirlenemeyen dosyalar için kulanılır, Örneğin salt metin dosyaları.<br>Öntanımlı değer boştur ve NLS çevresel değişkeni kullanılır.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -577,6 +577,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -778,10 +786,6 @@ Lütfen mimeconf dosyasını kontrol edin</translation>
|
||||||
<source>Missing helper programs</source>
|
<source>Missing helper programs</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Document category filter</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -900,20 +904,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -925,11 +954,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Arama araçları</translation>
|
<translation type="obsolete">Arama araçları</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Sonuç listesi</translation>
|
<translation type="obsolete">Sonuç listesi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1039,10 +1068,6 @@ Please check the mimeview file</source>
|
||||||
<source>&Indexing configuration</source>
|
<source>&Indexing configuration</source>
|
||||||
<translation type="obsolete">İ&ndeksleme yapılandırması </translation>
|
<translation type="obsolete">İ&ndeksleme yapılandırması </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>All</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1305,14 +1330,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1426,6 +1443,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2242,6 +2263,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2420,10 +2457,6 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
<source>Choose editor applications</source>
|
<source>Choose editor applications</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
<translation>Beyaz alan girdisi olduğunda basit aramayı otomatik olarak başlat.</translation>
|
<translation>Beyaz alan girdisi olduğunda basit aramayı otomatik olarak başlat.</translation>
|
||||||
|
@ -2639,5 +2672,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -548,11 +548,11 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>Типове кодування</translation>
|
<translation type="obsolete">Типове кодування</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>Кодування, яке буде застосовано при читанні файлів, які не вказують таке особливо (наприклад, чисто текстових файлів).<br>Типово невказане, тоді використовується значення з оточення (локалі).</translation>
|
<translation type="obsolete">Кодування, яке буде застосовано при читанні файлів, які не вказують таке особливо (наприклад, чисто текстових файлів).<br>Типово невказане, тоді використовується значення з оточення (локалі).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -578,6 +578,14 @@ Click Cancel if you want to edit the configuration file before indexing starts,
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -799,10 +807,6 @@ Please check the mimeconf file</source>
|
||||||
<source>Choose a file name to save under</source>
|
<source>Choose a file name to save under</source>
|
||||||
<translation type="obsolete">Оберіть ім'я файла для збереження</translation>
|
<translation type="obsolete">Оберіть ім'я файла для збереження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Document category filter</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -921,20 +925,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -962,11 +991,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>Інструменти пошуку</translation>
|
<translation type="obsolete">Інструменти пошуку</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>Список результатів</translation>
|
<translation type="obsolete">Список результатів</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>E&xit</source>
|
<source>E&xit</source>
|
||||||
|
@ -1062,7 +1091,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>всі</translation>
|
<translation type="obsolete">всі</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1334,14 +1363,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1455,6 +1476,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2287,6 +2312,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2465,10 +2506,6 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
<source>Choose editor applications</source>
|
<source>Choose editor applications</source>
|
||||||
<translation>Оберіть редактори</translation>
|
<translation>Оберіть редактори</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
<translation>Починати простий пошук при введенні пробілу.</translation>
|
<translation>Починати простий пошук при введенні пробілу.</translation>
|
||||||
|
@ -2684,5 +2721,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -511,14 +511,6 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>These are patterns for file or directory names which should not be indexed.</source>
|
<source>These are patterns for file or directory names which should not be indexed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Default character set</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -543,6 +535,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -730,10 +730,6 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Missing helper programs</source>
|
<source>Missing helper programs</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Document category filter</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -848,20 +844,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -871,14 +892,6 @@ Please check the mimeview file</source>
|
||||||
<source>Recoll</source>
|
<source>Recoll</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search tools</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Result list</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -979,10 +992,6 @@ Please check the mimeview file</source>
|
||||||
<source>External index dialog</source>
|
<source>External index dialog</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>All</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1221,14 +1230,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -1311,6 +1312,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -1842,6 +1847,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -1992,10 +2013,6 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
<source>Choose editor applications</source>
|
<source>Choose editor applications</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -2205,5 +2222,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -612,11 +612,11 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>默认字符集</translation>
|
<translation type="obsolete">默认字符集</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>这是用来读取那些未标明自身的字符集的文件时所使用的字符集,例如纯文本文件。<br>默认值是空,会使用系统里的自然语言环境参数中的值。</translation>
|
<translation type="obsolete">这是用来读取那些未标明自身的字符集的文件时所使用的字符集,例如纯文本文件。<br>默认值是空,会使用系统里的自然语言环境参数中的值。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -646,6 +646,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -868,7 +876,7 @@ Please check the mimeconf file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>文档分类过滤器</translation>
|
<translation type="obsolete">文档分类过滤器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -993,20 +1001,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -1018,11 +1051,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>搜索工具</translation>
|
<translation type="obsolete">搜索工具</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>结果列表</translation>
|
<translation type="obsolete">结果列表</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1134,7 +1167,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>全部</translation>
|
<translation type="obsolete">全部</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1418,14 +1451,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished">结果数(估计值)</translation>
|
<translation type="unfinished">结果数(估计值)</translation>
|
||||||
|
@ -1575,6 +1600,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2179,6 +2208,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2351,7 +2396,7 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>将文件类型过滤器显示成工具条,而不是按钮面板(需要重启程序)。</translation>
|
<translation type="obsolete">将文件类型过滤器显示成工具条,而不是按钮面板(需要重启程序)。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2579,5 +2624,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -612,11 +612,11 @@ p, li { white-space: pre-wrap; }
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default character set</source>
|
<source>Default character set</source>
|
||||||
<translation>默认字符集</translation>
|
<translation type="obsolete">默认字符集</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
<source>This is the character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
<translation>这是用来读取那些未标明自身的字符集的文件时所使用的字符集,例如纯文本文件。<br>默认值是空,会使用系统里的自然语言环境参数中的值。</translation>
|
<translation type="obsolete">这是用来读取那些未标明自身的字符集的文件时所使用的字符集,例如纯文本文件。<br>默认值是空,会使用系统里的自然语言环境参数中的值。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Follow symbolic links</source>
|
<source>Follow symbolic links</source>
|
||||||
|
@ -646,6 +646,14 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Web history</source>
|
<source>Web history</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default<br>character set</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Character set used for reading files which do not identify the character set internally, for example pure text files.<br>The default value is empty, and the value from the NLS environnement is used.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RTIToolW</name>
|
<name>RTIToolW</name>
|
||||||
|
@ -868,7 +876,7 @@ Please check the mimeconf file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Document category filter</source>
|
<source>Document category filter</source>
|
||||||
<translation>文档分类过滤器</translation>
|
<translation type="obsolete">文档分类过滤器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No external viewer configured for mime type [</source>
|
<source>No external viewer configured for mime type [</source>
|
||||||
|
@ -993,20 +1001,45 @@ Please check the mimeview file</source>
|
||||||
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
<source>External applications/commands needed for your file types and not found, as stored by the last indexing pass in </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sub-documents and attachments</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
<source>Index not up to date for this file. Refusing to risk showing the wrong entry. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Click Ok to update the index for this file, then re-run the query when indexing is done. Else, Cancel.</source>
|
<source>Click Ok to update the index for this file, then you will need to re-run the query when indexing is done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Indexer running so things should improve when it's done</source>
|
<source>The indexer is running so things should improve when it's done. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sub-documents and attachments</source>
|
<source>The document belongs to an external indexwhich I can't update. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Click Cancel to return to the list. Click Ignore to show the preview anyway. </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Duplicate documents</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>These Urls ( | ipath) share the same content:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Bad desktop app spec for %1: [%2]
|
||||||
|
Please check the desktop file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
@ -1018,11 +1051,11 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search tools</source>
|
<source>Search tools</source>
|
||||||
<translation>搜索工具</translation>
|
<translation type="obsolete">搜索工具</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Result list</source>
|
<source>Result list</source>
|
||||||
<translation>结果列表</translation>
|
<translation type="obsolete">结果列表</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
|
@ -1134,7 +1167,7 @@ Please check the mimeview file</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All</source>
|
<source>All</source>
|
||||||
<translation>全部</translation>
|
<translation type="obsolete">全部</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Show missing helpers</source>
|
<source>&Show missing helpers</source>
|
||||||
|
@ -1418,14 +1451,6 @@ Please check the mimeview file</source>
|
||||||
<source><p><i>Alternate spellings: </i></source>
|
<source><p><i>Alternate spellings: </i></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Duplicate documents</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>These Urls ( | ipath) share the same content:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Result count (est.)</source>
|
<source>Result count (est.)</source>
|
||||||
<translation type="unfinished">结果数(估计值)</translation>
|
<translation type="unfinished">结果数(估计值)</translation>
|
||||||
|
@ -1575,6 +1600,10 @@ Please check the mimeview file</source>
|
||||||
<source>Show subdocuments / attachments</source>
|
<source>Show subdocuments / attachments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open With</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SSearch</name>
|
<name>SSearch</name>
|
||||||
|
@ -2179,6 +2208,22 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Only mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>An exclusive list of indexed mime types.<br>Nothing else will be indexed. Normally empty and inactive</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Exclude mime types</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mime types not to be indexed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>confgui::ConfTopPanelW</name>
|
<name>confgui::ConfTopPanelW</name>
|
||||||
|
@ -2351,7 +2396,7 @@ This will help searching very big text files (ie: log files).</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
<source>Display category filter as toolbar instead of button panel (needs restart).</source>
|
||||||
<translation>将文件类型过滤器显示成工具条,而不是按钮面板(需要重启程序)。</translation>
|
<translation type="obsolete">将文件类型过滤器显示成工具条,而不是按钮面板(需要重启程序)。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Auto-start simple search on whitespace entry.</source>
|
<source>Auto-start simple search on whitespace entry.</source>
|
||||||
|
@ -2579,5 +2624,25 @@ The default value is 2 (percent). </source>
|
||||||
<source>Resets the Snippets window style</source>
|
<source>Resets the Snippets window style</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Decide if document filters are shown as radio buttons, toolbar combobox, or menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Document filter choice style:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Buttons Panel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar Combobox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Menu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
#ifdef RCL_USE_ASPELL
|
#ifdef RCL_USE_ASPELL
|
||||||
#include "rclaspell.h"
|
#include "rclaspell.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "appformime.h"
|
||||||
#include "respopup.h"
|
#include "respopup.h"
|
||||||
|
|
||||||
static const QKeySequence quitKeySeq("Ctrl+q");
|
static const QKeySequence quitKeySeq("Ctrl+q");
|
||||||
|
@ -876,6 +877,20 @@ void ResList::linkWasClicked(const QUrl &url)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// Open parent folder
|
||||||
|
case 'F':
|
||||||
|
{
|
||||||
|
int i = atoi(ascurl.c_str()+1) - 1;
|
||||||
|
Rcl::Doc doc;
|
||||||
|
if (!getDoc(i, doc)) {
|
||||||
|
LOGERR(("ResList::linkWasClicked: can't get doc for %d\n", i));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
emit editRequested(ResultPopup::getParent(RefCntr<DocSequence>(),
|
||||||
|
doc));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
// Show query details
|
// Show query details
|
||||||
case 'H':
|
case 'H':
|
||||||
{
|
{
|
||||||
|
@ -911,6 +926,27 @@ void ResList::linkWasClicked(const QUrl &url)
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
resultPageBack();
|
resultPageBack();
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Run script. Link format Rnn|Script Name
|
||||||
|
case 'R':
|
||||||
|
{
|
||||||
|
int i = atoi(ascurl.c_str() + 1) - 1;
|
||||||
|
QString s = url.toString();
|
||||||
|
int bar = s.indexOf("|");
|
||||||
|
if (bar == -1 || bar >= s.size()-1)
|
||||||
|
break;
|
||||||
|
string cmdname = qs2utf8s(s.right(s.size() - (bar + 1)));
|
||||||
|
DesktopDb ddb(path_cat(theconfig->getConfDir(), "scripts"));
|
||||||
|
DesktopDb::AppDef app;
|
||||||
|
if (ddb.appByName(cmdname, app)) {
|
||||||
|
QAction act(QString::fromUtf8(app.name.c_str()), this);
|
||||||
|
QVariant v(QString::fromUtf8(app.command.c_str()));
|
||||||
|
act.setData(v);
|
||||||
|
m_popDoc = i;
|
||||||
|
menuOpenWith(&act);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Spelling: replacement suggestion clicked
|
// Spelling: replacement suggestion clicked
|
||||||
|
|
|
@ -77,6 +77,27 @@ QMenu *create(QWidget *me, int opts, RefCntr<DocSequence> source, Rcl::Doc& doc)
|
||||||
SLOT(menuOpenWith(QAction *)));
|
SLOT(menuOpenWith(QAction *)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// See if there are any desktop files in $RECOLL_CONFDIR/scripts
|
||||||
|
// and possibly create a "run script" menu.
|
||||||
|
aps.clear();
|
||||||
|
ddb = new DesktopDb(path_cat(theconfig->getConfDir(), "scripts"));
|
||||||
|
if (ddb && ddb->allApps(&aps) && !aps.empty()) {
|
||||||
|
QMenu *sub = popup->addMenu(me->tr("Run Script"));
|
||||||
|
if (sub) {
|
||||||
|
for (vector<DesktopDb::AppDef>::const_iterator it = aps.begin();
|
||||||
|
it != aps.end(); it++) {
|
||||||
|
QAction *act = new
|
||||||
|
QAction(QString::fromUtf8(it->name.c_str()), me);
|
||||||
|
QVariant v(QString::fromUtf8(it->command.c_str()));
|
||||||
|
act->setData(v);
|
||||||
|
sub->addAction(act);
|
||||||
|
}
|
||||||
|
sub->connect(sub, SIGNAL(triggered(QAction *)), me,
|
||||||
|
SLOT(menuOpenWith(QAction *)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete ddb;
|
||||||
}
|
}
|
||||||
|
|
||||||
popup->addAction(me->tr("Copy &File Name"), me, SLOT(menuCopyFN()));
|
popup->addAction(me->tr("Copy &File Name"), me, SLOT(menuCopyFN()));
|
||||||
|
@ -120,7 +141,7 @@ Rcl::Doc getParent(RefCntr<DocSequence> source, Rcl::Doc& doc)
|
||||||
if (source.isNull() || !source->getEnclosing(doc, pdoc)) {
|
if (source.isNull() || !source->getEnclosing(doc, pdoc)) {
|
||||||
// No parent doc: show enclosing folder with app configured for
|
// No parent doc: show enclosing folder with app configured for
|
||||||
// directories
|
// directories
|
||||||
pdoc.url = path_getfather(doc.url);
|
pdoc.url = url_parentfolder(doc.url);
|
||||||
pdoc.meta[Rcl::Doc::keychildurl] = doc.url;
|
pdoc.meta[Rcl::Doc::keychildurl] = doc.url;
|
||||||
pdoc.meta[Rcl::Doc::keyapptg] = "parentopen";
|
pdoc.meta[Rcl::Doc::keyapptg] = "parentopen";
|
||||||
pdoc.mimetype = "inode/directory";
|
pdoc.mimetype = "inode/directory";
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#include "respopup.h"
|
#include "respopup.h"
|
||||||
#include "rclmain_w.h"
|
#include "rclmain_w.h"
|
||||||
#include "multisave.h"
|
#include "multisave.h"
|
||||||
|
#include "appformime.h"
|
||||||
|
|
||||||
static const QKeySequence quitKeySeq("Ctrl+q");
|
static const QKeySequence quitKeySeq("Ctrl+q");
|
||||||
static const QKeySequence closeKeySeq("Ctrl+w");
|
static const QKeySequence closeKeySeq("Ctrl+w");
|
||||||
|
@ -764,6 +765,14 @@ void ResTable::linkWasClicked(const QUrl &url)
|
||||||
m_rclmain->newDupsW(m_detaildoc, dups);
|
m_rclmain->newDupsW(m_detaildoc, dups);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Open parent folder
|
||||||
|
case 'F':
|
||||||
|
{
|
||||||
|
emit editRequested(ResultPopup::getParent(RefCntr<DocSequence>(),
|
||||||
|
m_detaildoc));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 'P':
|
case 'P':
|
||||||
case 'E':
|
case 'E':
|
||||||
{
|
{
|
||||||
|
@ -773,6 +782,25 @@ void ResTable::linkWasClicked(const QUrl &url)
|
||||||
emit editRequested(m_detaildoc);
|
emit editRequested(m_detaildoc);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// Run script. Link format Rnn|Script Name
|
||||||
|
case 'R':
|
||||||
|
{
|
||||||
|
int bar = s.indexOf("|");
|
||||||
|
if (bar == -1 || bar >= s.size()-1)
|
||||||
|
break;
|
||||||
|
string cmdname = qs2utf8s(s.right(s.size() - (bar + 1)));
|
||||||
|
DesktopDb ddb(path_cat(theconfig->getConfDir(), "scripts"));
|
||||||
|
DesktopDb::AppDef app;
|
||||||
|
if (ddb.appByName(cmdname, app)) {
|
||||||
|
QAction act(QString::fromUtf8(app.name.c_str()), this);
|
||||||
|
QVariant v(QString::fromUtf8(app.command.c_str()));
|
||||||
|
act.setData(v);
|
||||||
|
menuOpenWith(&act);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
LOGERR(("ResTable::linkWasClicked: bad link [%s]\n", ascurl));
|
LOGERR(("ResTable::linkWasClicked: bad link [%s]\n", ascurl));
|
||||||
break;// ??
|
break;// ??
|
||||||
|
|
|
@ -381,6 +381,11 @@ endopts:
|
||||||
string titleorfn = doc.meta[Rcl::Doc::keytt];
|
string titleorfn = doc.meta[Rcl::Doc::keytt];
|
||||||
if (titleorfn.empty())
|
if (titleorfn.empty())
|
||||||
titleorfn = doc.meta[Rcl::Doc::keyfn];
|
titleorfn = doc.meta[Rcl::Doc::keyfn];
|
||||||
|
if (titleorfn.empty()) {
|
||||||
|
string url;
|
||||||
|
printableUrl(rclconfig->getDefCharset(), doc.url, url);
|
||||||
|
titleorfn = path_getsimple(url);
|
||||||
|
}
|
||||||
|
|
||||||
char cpc[20];
|
char cpc[20];
|
||||||
sprintf(cpc, "%d", doc.pc);
|
sprintf(cpc, "%d", doc.pc);
|
||||||
|
|
|
@ -179,6 +179,15 @@ void ResListPager::displayDoc(RclConfig *config, int i, Rcl::Doc& doc,
|
||||||
titleOrFilename = utf8fn;
|
titleOrFilename = utf8fn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Url for the parent directory. We strip the file:// part for local
|
||||||
|
// paths
|
||||||
|
string parenturl = url_parentfolder(url);
|
||||||
|
{
|
||||||
|
string localpath = fileurltolocalpath(parenturl);
|
||||||
|
if (!localpath.empty())
|
||||||
|
parenturl = localpath;
|
||||||
|
}
|
||||||
|
|
||||||
// Result number
|
// Result number
|
||||||
char numbuf[20];
|
char numbuf[20];
|
||||||
int docnumforlinks = m_winfirst + 1 + i;
|
int docnumforlinks = m_winfirst + 1 + i;
|
||||||
|
@ -286,6 +295,7 @@ void ResListPager::displayDoc(RclConfig *config, int i, Rcl::Doc& doc,
|
||||||
subs["L"] = linksbuf.str();
|
subs["L"] = linksbuf.str();
|
||||||
subs["N"] = numbuf;
|
subs["N"] = numbuf;
|
||||||
subs["M"] = doc.mimetype;
|
subs["M"] = doc.mimetype;
|
||||||
|
subs["P"] = parenturl;
|
||||||
subs["R"] = doc.meta[Rcl::Doc::keyrr];
|
subs["R"] = doc.meta[Rcl::Doc::keyrr];
|
||||||
subs["S"] = sizebuf;
|
subs["S"] = sizebuf;
|
||||||
subs["T"] = maybeEscapeHtml(titleOrFilename);
|
subs["T"] = maybeEscapeHtml(titleOrFilename);
|
||||||
|
|
|
@ -1033,9 +1033,10 @@ bool Db::isopen()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try to translate field specification into field prefix.
|
// Try to translate field specification into field prefix.
|
||||||
bool Db::fieldToTraits(const string& fld, const FieldTraits **ftpp)
|
bool Db::fieldToTraits(const string& fld, const FieldTraits **ftpp,
|
||||||
|
bool isquery)
|
||||||
{
|
{
|
||||||
if (m_config && m_config->getFieldTraits(fld, ftpp))
|
if (m_config && m_config->getFieldTraits(fld, ftpp, isquery))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
*ftpp = 0;
|
*ftpp = 0;
|
||||||
|
@ -1060,8 +1061,7 @@ class TextSplitDb : public TextSplitP {
|
||||||
Xapian::termpos curpos;
|
Xapian::termpos curpos;
|
||||||
|
|
||||||
TextSplitDb(Xapian::Document &d, TermProc *prc)
|
TextSplitDb(Xapian::Document &d, TermProc *prc)
|
||||||
: TextSplitP(prc),
|
: TextSplitP(prc), doc(d), basepos(1), curpos(0)
|
||||||
doc(d), basepos(1), curpos(0), wdfinc(1)
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// Reimplement text_to_words to insert the begin and end anchor terms.
|
// Reimplement text_to_words to insert the begin and end anchor terms.
|
||||||
|
@ -1072,7 +1072,7 @@ class TextSplitDb : public TextSplitP {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Index the possibly prefixed start term.
|
// Index the possibly prefixed start term.
|
||||||
doc.add_posting(prefix + start_of_field_term, basepos, wdfinc);
|
doc.add_posting(ft.pfx + start_of_field_term, basepos, ft.wdfinc);
|
||||||
++basepos;
|
++basepos;
|
||||||
} XCATCHERROR(ermsg);
|
} XCATCHERROR(ermsg);
|
||||||
if (!ermsg.empty()) {
|
if (!ermsg.empty()) {
|
||||||
|
@ -1087,8 +1087,8 @@ class TextSplitDb : public TextSplitP {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Index the possibly prefixed end term.
|
// Index the possibly prefixed end term.
|
||||||
doc.add_posting(prefix + end_of_field_term, basepos + curpos + 1,
|
doc.add_posting(ft.pfx + end_of_field_term, basepos + curpos + 1,
|
||||||
wdfinc);
|
ft.wdfinc);
|
||||||
++basepos;
|
++basepos;
|
||||||
} XCATCHERROR(ermsg);
|
} XCATCHERROR(ermsg);
|
||||||
if (!ermsg.empty()) {
|
if (!ermsg.empty()) {
|
||||||
|
@ -1103,27 +1103,17 @@ class TextSplitDb : public TextSplitP {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setprefix(const string& pref)
|
void setTraits(const FieldTraits& ftp)
|
||||||
{
|
{
|
||||||
if (pref.empty())
|
ft = ftp;
|
||||||
prefix.clear();
|
if (!ft.pfx.empty())
|
||||||
else
|
ft.pfx = wrap_prefix(ft.pfx);
|
||||||
prefix = wrap_prefix(pref);
|
|
||||||
}
|
|
||||||
|
|
||||||
void setwdfinc(int i)
|
|
||||||
{
|
|
||||||
wdfinc = i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
friend class TermProcIdx;
|
friend class TermProcIdx;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// If prefix is set, we also add a posting for the prefixed terms
|
FieldTraits ft;
|
||||||
// (ie: for titles, add postings for both "term" and "Sterm")
|
|
||||||
string prefix;
|
|
||||||
// Some fields have more weight
|
|
||||||
int wdfinc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class TermProcIdx : public TermProc {
|
class TermProcIdx : public TermProc {
|
||||||
|
@ -1145,15 +1135,18 @@ public:
|
||||||
try {
|
try {
|
||||||
// Index without prefix, using the field-specific weighting
|
// Index without prefix, using the field-specific weighting
|
||||||
LOGDEB1(("Emitting term at %d : [%s]\n", pos, term.c_str()));
|
LOGDEB1(("Emitting term at %d : [%s]\n", pos, term.c_str()));
|
||||||
m_ts->doc.add_posting(term, pos, m_ts->wdfinc);
|
if (!m_ts->ft.pfxonly)
|
||||||
|
m_ts->doc.add_posting(term, pos, m_ts->ft.wdfinc);
|
||||||
|
|
||||||
#ifdef TESTING_XAPIAN_SPELL
|
#ifdef TESTING_XAPIAN_SPELL
|
||||||
if (Db::isSpellingCandidate(term)) {
|
if (Db::isSpellingCandidate(term)) {
|
||||||
m_ts->db.add_spelling(term);
|
m_ts->db.add_spelling(term);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// Index the prefixed term.
|
// Index the prefixed term.
|
||||||
if (!m_ts->prefix.empty()) {
|
if (!m_ts->ft.pfx.empty()) {
|
||||||
m_ts->doc.add_posting(m_ts->prefix + term, pos, m_ts->wdfinc);
|
m_ts->doc.add_posting(m_ts->ft.pfx + term, pos,
|
||||||
|
m_ts->ft.wdfinc);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} XCATCHERROR(ermsg);
|
} XCATCHERROR(ermsg);
|
||||||
|
@ -1168,7 +1161,7 @@ public:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ts->doc.add_posting(m_ts->prefix + page_break_term, pos);
|
m_ts->doc.add_posting(m_ts->ft.pfx + page_break_term, pos);
|
||||||
if (pos == m_lastpagepos) {
|
if (pos == m_lastpagepos) {
|
||||||
m_pageincr++;
|
m_pageincr++;
|
||||||
LOGDEB2(("newpage: same pos, pageincr %d lastpagepos %d\n",
|
LOGDEB2(("newpage: same pos, pageincr %d lastpagepos %d\n",
|
||||||
|
@ -1351,15 +1344,15 @@ bool Db::addOrUpdate(const string &udi, const string &parent_udi, Doc &doc)
|
||||||
LOGDEB0(("Db::add: field [%s] pfx [%s] inc %d: [%s]\n",
|
LOGDEB0(("Db::add: field [%s] pfx [%s] inc %d: [%s]\n",
|
||||||
meta_it->first.c_str(), ftp->pfx.c_str(), ftp->wdfinc,
|
meta_it->first.c_str(), ftp->pfx.c_str(), ftp->wdfinc,
|
||||||
meta_it->second.c_str()));
|
meta_it->second.c_str()));
|
||||||
splitter.setprefix(ftp->pfx);
|
splitter.setTraits(*ftp);
|
||||||
splitter.setwdfinc(ftp->wdfinc);
|
|
||||||
if (!splitter.text_to_words(meta_it->second))
|
if (!splitter.text_to_words(meta_it->second))
|
||||||
LOGDEB(("Db::addOrUpdate: split failed for %s\n",
|
LOGDEB(("Db::addOrUpdate: split failed for %s\n",
|
||||||
meta_it->first.c_str()));
|
meta_it->first.c_str()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
splitter.setprefix(string());
|
|
||||||
splitter.setwdfinc(1);
|
// Reset to no prefix and default params
|
||||||
|
splitter.setTraits(FieldTraits());
|
||||||
|
|
||||||
if (splitter.curpos < baseTextPosition)
|
if (splitter.curpos < baseTextPosition)
|
||||||
splitter.basepos = baseTextPosition;
|
splitter.basepos = baseTextPosition;
|
||||||
|
@ -1539,6 +1532,21 @@ bool Db::addOrUpdate(const string &udi, const string &parent_udi, Doc &doc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// At this point, if the document "filename" field was empty,
|
||||||
|
// try to store the "container file name" value. This is done
|
||||||
|
// after indexing because we don't want search matches on
|
||||||
|
// this, but the filename is often useful for display
|
||||||
|
// purposes.
|
||||||
|
const string *fnp = 0;
|
||||||
|
if (!doc.peekmeta(Rcl::Doc::keyfn, &fnp) || fnp->empty()) {
|
||||||
|
if (doc.peekmeta(Rcl::Doc::keytcfn, &fnp) && !fnp->empty()) {
|
||||||
|
string value =
|
||||||
|
neutchars(truncate_to_word(*fnp,
|
||||||
|
m_idxMetaStoredLen), cstr_nc);
|
||||||
|
RECORD_APPEND(record, Rcl::Doc::keyfn, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If empty pages (multiple break at same pos) were recorded, save
|
// If empty pages (multiple break at same pos) were recorded, save
|
||||||
// them (this is because we have no way to record them in the
|
// them (this is because we have no way to record them in the
|
||||||
// Xapian list
|
// Xapian list
|
||||||
|
@ -1619,8 +1627,7 @@ bool Db::Native::docToXdocXattrOnly(TextSplitDb *splitter, const string &udi,
|
||||||
LOGDEB0(("Db::xattrOnly: field [%s] pfx [%s] inc %d: [%s]\n",
|
LOGDEB0(("Db::xattrOnly: field [%s] pfx [%s] inc %d: [%s]\n",
|
||||||
meta_it->first.c_str(), ftp->pfx.c_str(), ftp->wdfinc,
|
meta_it->first.c_str(), ftp->pfx.c_str(), ftp->wdfinc,
|
||||||
meta_it->second.c_str()));
|
meta_it->second.c_str()));
|
||||||
splitter->setprefix(ftp->pfx);
|
splitter->setTraits(*ftp);
|
||||||
splitter->setwdfinc(ftp->wdfinc);
|
|
||||||
if (!splitter->text_to_words(meta_it->second))
|
if (!splitter->text_to_words(meta_it->second))
|
||||||
LOGDEB(("Db::xattrOnly: split failed for %s\n",
|
LOGDEB(("Db::xattrOnly: split failed for %s\n",
|
||||||
meta_it->first.c_str()));
|
meta_it->first.c_str()));
|
||||||
|
|
|
@ -223,7 +223,8 @@ class Db {
|
||||||
/* Return configured stop words */
|
/* Return configured stop words */
|
||||||
const StopList& getStopList() const {return m_stops;}
|
const StopList& getStopList() const {return m_stops;}
|
||||||
/* Field name to prefix translation (ie: author -> 'A') */
|
/* Field name to prefix translation (ie: author -> 'A') */
|
||||||
bool fieldToTraits(const string& fldname, const FieldTraits **ftpp);
|
bool fieldToTraits(const string& fldname, const FieldTraits **ftpp,
|
||||||
|
bool isquery = false);
|
||||||
|
|
||||||
/* Update-related methods ******************************************/
|
/* Update-related methods ******************************************/
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ namespace Rcl {
|
||||||
const string Doc::keyds("dbytes");
|
const string Doc::keyds("dbytes");
|
||||||
const string Doc::keyfmt("fmtime");
|
const string Doc::keyfmt("fmtime");
|
||||||
const string Doc::keyfn("filename");
|
const string Doc::keyfn("filename");
|
||||||
|
const string Doc::keytcfn("containerfilename");
|
||||||
const string Doc::keyfs("fbytes");
|
const string Doc::keyfs("fbytes");
|
||||||
const string Doc::keyipt("ipath");
|
const string Doc::keyipt("ipath");
|
||||||
const string Doc::keykw("keywords");
|
const string Doc::keykw("keywords");
|
||||||
|
|
|
@ -246,7 +246,19 @@ class Doc {
|
||||||
// childurl. This is set when working with the parent of the result, to hold
|
// childurl. This is set when working with the parent of the result, to hold
|
||||||
// the child of interest url, typically to highlight a directory entry
|
// the child of interest url, typically to highlight a directory entry
|
||||||
static const string keychildurl;
|
static const string keychildurl;
|
||||||
static const string keyfn; // file name
|
// file name. This is set for filesystem-level containers or
|
||||||
|
// documents, and not inherited by subdocuments (which can get a
|
||||||
|
// keyfn anyway from, e.g, an attachment filename value). Subdocs
|
||||||
|
// used to inherit the file name, but this was undesirable (you
|
||||||
|
// usually don't want to see all subdocs when searching for the
|
||||||
|
// file name). Instead the container file name is now set in the
|
||||||
|
// document record but not indexed (see next entry).
|
||||||
|
static const string keyfn;
|
||||||
|
// Container file name. This is set for all subdocuments of a
|
||||||
|
// given top level container. It is not indexed by default but
|
||||||
|
// stored in the document record keyfn field if this is still
|
||||||
|
// empty when we create it, for display purposes.
|
||||||
|
static const string keytcfn;
|
||||||
static const string keyipt; // ipath
|
static const string keyipt; // ipath
|
||||||
static const string keytp; // mime type
|
static const string keytp; // mime type
|
||||||
static const string keyfmt; // file mtime
|
static const string keyfmt; // file mtime
|
||||||
|
|
|
@ -160,7 +160,7 @@ void Query::setSortBy(const string& fld, bool ascending) {
|
||||||
if (fld.empty()) {
|
if (fld.empty()) {
|
||||||
m_sortField.erase();
|
m_sortField.erase();
|
||||||
} else {
|
} else {
|
||||||
m_sortField = m_db->getConf()->fieldCanon(fld);
|
m_sortField = m_db->getConf()->fieldQCanon(fld);
|
||||||
m_sortAscending = ascending;
|
m_sortAscending = ascending;
|
||||||
}
|
}
|
||||||
LOGDEB0(("RclQuery::setSortBy: [%s] %s\n", m_sortField.c_str(),
|
LOGDEB0(("RclQuery::setSortBy: [%s] %s\n", m_sortField.c_str(),
|
||||||
|
|
|
@ -328,7 +328,7 @@ bool Db::idxTermMatch(int typ_sens, const string &lang, const string &root,
|
||||||
string prefix;
|
string prefix;
|
||||||
if (!field.empty()) {
|
if (!field.empty()) {
|
||||||
const FieldTraits *ftp = 0;
|
const FieldTraits *ftp = 0;
|
||||||
if (!fieldToTraits(field, &ftp) || ftp->pfx.empty()) {
|
if (!fieldToTraits(field, &ftp, true) || ftp->pfx.empty()) {
|
||||||
LOGDEB(("Db::termMatch: field is not indexed (no prefix): [%s]\n",
|
LOGDEB(("Db::termMatch: field is not indexed (no prefix): [%s]\n",
|
||||||
field.c_str()));
|
field.c_str()));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -686,7 +686,7 @@ void SearchDataClauseSimple::processSimpleSpan(Rcl::Db &db, string& ermsg,
|
||||||
|
|
||||||
string prefix;
|
string prefix;
|
||||||
const FieldTraits *ftp;
|
const FieldTraits *ftp;
|
||||||
if (!m_field.empty() && db.fieldToTraits(m_field, &ftp)) {
|
if (!m_field.empty() && db.fieldToTraits(m_field, &ftp, true)) {
|
||||||
prefix = wrap_prefix(ftp->pfx);
|
prefix = wrap_prefix(ftp->pfx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -743,7 +743,7 @@ void SearchDataClauseSimple::processPhraseOrNear(Rcl::Db &db, string& ermsg,
|
||||||
|
|
||||||
string prefix;
|
string prefix;
|
||||||
const FieldTraits *ftp;
|
const FieldTraits *ftp;
|
||||||
if (!m_field.empty() && db.fieldToTraits(m_field, &ftp)) {
|
if (!m_field.empty() && db.fieldToTraits(m_field, &ftp, true)) {
|
||||||
prefix = wrap_prefix(ftp->pfx);
|
prefix = wrap_prefix(ftp->pfx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
# (NOT CURRENTLY IMPLEMENTED) would automatically boost the weight of a
|
# (NOT CURRENTLY IMPLEMENTED) would automatically boost the weight of a
|
||||||
# caption-based field query (ie: caption:mytitle or title:mytitle) at query
|
# caption-based field query (ie: caption:mytitle or title:mytitle) at query
|
||||||
# time.
|
# time.
|
||||||
|
#
|
||||||
|
# The pfxonly attribute can also be set on entries to express that terms
|
||||||
|
# from the field should be indexed only with a prefix (in general, field
|
||||||
|
# terms are indexed both with and without a prefix).
|
||||||
|
|
||||||
# The following ones are probably hard-coded in the c code, can't change at
|
# The following ones are probably hard-coded in the c code, can't change at
|
||||||
# all.
|
# all.
|
||||||
|
@ -44,8 +48,10 @@ rclmd5 = XM
|
||||||
dir = XP
|
dir = XP
|
||||||
abstract = XS
|
abstract = XS
|
||||||
filename = XSFN
|
filename = XSFN
|
||||||
|
containerfilename = XCFN ; pfxonly = 1
|
||||||
rclUnsplitFN = XSFS
|
rclUnsplitFN = XSFS
|
||||||
xapyear = Y
|
xapyear = Y
|
||||||
|
recipient = XTO
|
||||||
|
|
||||||
# Extension examples. These are actually used by default by Recoll, you can
|
# Extension examples. These are actually used by default by Recoll, you can
|
||||||
# add your own to search for fields produced by the filters and not handled
|
# add your own to search for fields produced by the filters and not handled
|
||||||
|
@ -57,7 +63,6 @@ xapyear = Y
|
||||||
# I hereby commit to not using XY for Recoll:
|
# I hereby commit to not using XY for Recoll:
|
||||||
# *** USE XY for beginning your local prefixes *** ie:
|
# *** USE XY for beginning your local prefixes *** ie:
|
||||||
# myfield = XYMYPREF
|
# myfield = XYMYPREF
|
||||||
recipient = XTO
|
|
||||||
|
|
||||||
[stored]
|
[stored]
|
||||||
############################
|
############################
|
||||||
|
@ -105,6 +110,14 @@ mtype = mime mimetype xesam:mimetype contenttype xesam:contenttype dc:format
|
||||||
recipient = to xesam:recipient
|
recipient = to xesam:recipient
|
||||||
url = dc:identifier xesam:url
|
url = dc:identifier xesam:url
|
||||||
|
|
||||||
|
##################
|
||||||
|
# The queryaliases section defines aliases which are used exclusively at
|
||||||
|
# query time: there is no risk to pick up a random field from a document
|
||||||
|
# (e.g. an HTML meta field) and index it.
|
||||||
|
[queryaliases]
|
||||||
|
#filename = fn
|
||||||
|
#containerfilename = cfn
|
||||||
|
|
||||||
[xattrtofields]
|
[xattrtofields]
|
||||||
######################
|
######################
|
||||||
# Processing for extended file attributes.
|
# Processing for extended file attributes.
|
||||||
|
@ -113,10 +126,16 @@ url = dc:identifier xesam:url
|
||||||
# You can enter name translations as "xattrname = fieldname". Case matters.
|
# You can enter name translations as "xattrname = fieldname". Case matters.
|
||||||
# Entering an empty translation will disable use of the attribute.
|
# Entering an empty translation will disable use of the attribute.
|
||||||
# The values from the extended attributes will extend, not replace, the
|
# The values from the extended attributes will extend, not replace, the
|
||||||
# data found from equivalent fields inside the document. As an example, the
|
# data found from equivalent fields inside the document.
|
||||||
# following would map a quite plausible "tags" extended attribute into the
|
|
||||||
# "keywords" field.
|
# As an example, the following would map a quite plausible "tags" extended
|
||||||
|
# attribute into the "keywords" field.
|
||||||
tags = keywords
|
tags = keywords
|
||||||
|
|
||||||
|
# Proposed or standard freedesktop.org extended attributes
|
||||||
|
xdg.tags = keywords
|
||||||
|
xdg.comment = abstract
|
||||||
|
|
||||||
# Some standard fields are not to be indexed
|
# Some standard fields are not to be indexed
|
||||||
mime_type =
|
mime_type =
|
||||||
charset =
|
charset =
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#
|
#
|
||||||
# The script (ie: rcluncomp) must output the uncompressed file name on
|
# The script (ie: rcluncomp) must output the uncompressed file name on
|
||||||
# stdout.
|
# stdout.
|
||||||
|
application/gzip = uncompress rcluncomp gunzip %f %t
|
||||||
application/x-gzip = uncompress rcluncomp gunzip %f %t
|
application/x-gzip = uncompress rcluncomp gunzip %f %t
|
||||||
application/x-compress = uncompress rcluncomp gunzip %f %t
|
application/x-compress = uncompress rcluncomp gunzip %f %t
|
||||||
application/x-bzip2 = uncompress rcluncomp bunzip2 %f %t
|
application/x-bzip2 = uncompress rcluncomp bunzip2 %f %t
|
||||||
|
@ -41,6 +42,8 @@ application/x-lzma = uncompress rcluncomp unxz %f %t
|
||||||
# each filter, see the exemples below (ie: msword)
|
# each filter, see the exemples below (ie: msword)
|
||||||
[index]
|
[index]
|
||||||
application/epub+zip = execm rclepub
|
application/epub+zip = execm rclepub
|
||||||
|
# Returned by xdg-mime for .js. Future-proofing
|
||||||
|
application/javascript = internal text/plain
|
||||||
|
|
||||||
# MSWORD: the rcldoc script handles a number of marginal case that raw
|
# MSWORD: the rcldoc script handles a number of marginal case that raw
|
||||||
# antiword won't:
|
# antiword won't:
|
||||||
|
@ -106,6 +109,8 @@ application/x-mimehtml = internal message/rfc822
|
||||||
#application/x-mobipocket-ebook = execm rclmobi
|
#application/x-mobipocket-ebook = execm rclmobi
|
||||||
application/x-okular-notes = exec rclokulnote
|
application/x-okular-notes = exec rclokulnote
|
||||||
application/x-perl = internal text/plain
|
application/x-perl = internal text/plain
|
||||||
|
# Returned by xdg-mime for .php. Future-proofing
|
||||||
|
application/x-php = internal text/plain
|
||||||
application/x-rar = execm rclrar;charset=default
|
application/x-rar = execm rclrar;charset=default
|
||||||
application/x-scribus = exec rclscribus
|
application/x-scribus = exec rclscribus
|
||||||
application/x-shellscript = internal text/plain
|
application/x-shellscript = internal text/plain
|
||||||
|
@ -161,6 +166,7 @@ text/xml = exec rclxml
|
||||||
# Icons to be used in the result list if required by gui config
|
# Icons to be used in the result list if required by gui config
|
||||||
[icons]
|
[icons]
|
||||||
application/epub+zip = book
|
application/epub+zip = book
|
||||||
|
application/javascript = source
|
||||||
application/msword = wordprocessing
|
application/msword = wordprocessing
|
||||||
application/ogg = sownd
|
application/ogg = sownd
|
||||||
application/pdf = pdf
|
application/pdf = pdf
|
||||||
|
@ -203,6 +209,7 @@ application/x-mimehtml = message
|
||||||
application/x-mobipocket-ebook = document
|
application/x-mobipocket-ebook = document
|
||||||
application/x-okular-notes = document
|
application/x-okular-notes = document
|
||||||
application/x-perl = source
|
application/x-perl = source
|
||||||
|
application/x-php = source
|
||||||
application/x-rar = archive
|
application/x-rar = archive
|
||||||
application/x-scribus = document
|
application/x-scribus = document
|
||||||
application/x-scribus = wordprocessing
|
application/x-scribus = wordprocessing
|
||||||
|
|
|
@ -189,6 +189,10 @@ iconsdir = @prefix@/share/recoll/images
|
||||||
# identification ? This may be useful, but will usually cause the
|
# identification ? This may be useful, but will usually cause the
|
||||||
# indexation of many bogus 'text' files
|
# indexation of many bogus 'text' files
|
||||||
usesystemfilecommand = 1
|
usesystemfilecommand = 1
|
||||||
|
# Actual command to use as "file -i" workalike. xdg-mime works fine here.
|
||||||
|
# The file path will be added as a last parameter to the command line. If
|
||||||
|
# that's not what your preferred command would like, use an intermediary script
|
||||||
|
# systemfilecommand = xdg-mime query filetype
|
||||||
|
|
||||||
# Should we index the file names of files with mime types we don't
|
# Should we index the file names of files with mime types we don't
|
||||||
# know? (we can otherwise just ignore them)
|
# know? (we can otherwise just ignore them)
|
||||||
|
|
1647
src/unac/unac.c
1647
src/unac/unac.c
File diff suppressed because it is too large
Load diff
|
@ -35,7 +35,7 @@ extern "C" {
|
||||||
#define UNAC_BLOCK_SHIFT 3
|
#define UNAC_BLOCK_SHIFT 3
|
||||||
#define UNAC_BLOCK_MASK ((1 << UNAC_BLOCK_SHIFT) - 1)
|
#define UNAC_BLOCK_MASK ((1 << UNAC_BLOCK_SHIFT) - 1)
|
||||||
#define UNAC_BLOCK_SIZE (1 << UNAC_BLOCK_SHIFT)
|
#define UNAC_BLOCK_SIZE (1 << UNAC_BLOCK_SHIFT)
|
||||||
#define UNAC_BLOCK_COUNT 714
|
#define UNAC_BLOCK_COUNT 713
|
||||||
#define UNAC_INDEXES_SIZE (0x10000 >> UNAC_BLOCK_SHIFT)
|
#define UNAC_INDEXES_SIZE (0x10000 >> UNAC_BLOCK_SHIFT)
|
||||||
/* Generated by builder. Do not modify. End defines */
|
/* Generated by builder. Do not modify. End defines */
|
||||||
|
|
||||||
|
@ -893,7 +893,6 @@ extern unsigned short unac_data709[];
|
||||||
extern unsigned short unac_data710[];
|
extern unsigned short unac_data710[];
|
||||||
extern unsigned short unac_data711[];
|
extern unsigned short unac_data711[];
|
||||||
extern unsigned short unac_data712[];
|
extern unsigned short unac_data712[];
|
||||||
extern unsigned short unac_data713[];
|
|
||||||
/* Generated by builder. Do not modify. End declarations */
|
/* Generated by builder. Do not modify. End declarations */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -30,21 +30,15 @@ static const string desktopext("desktop");
|
||||||
|
|
||||||
static DesktopDb *theDb;
|
static DesktopDb *theDb;
|
||||||
|
|
||||||
typedef map<string, vector<DesktopDb::AppDef> > AppMap;
|
|
||||||
static AppMap theAppMap;
|
|
||||||
|
|
||||||
static std::string o_reason;
|
|
||||||
static bool o_ok;
|
|
||||||
|
|
||||||
class FstCb : public FsTreeWalkerCB {
|
class FstCb : public FsTreeWalkerCB {
|
||||||
public:
|
public:
|
||||||
FstCb(AppMap *appdefs)
|
FstCb(DesktopDb::AppMap *appdefs)
|
||||||
: m_appdefs(appdefs)
|
: m_appdefs(appdefs)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
virtual FsTreeWalker::Status
|
virtual FsTreeWalker::Status
|
||||||
processone(const string &, const struct stat *, FsTreeWalker::CbFlag);
|
processone(const string &, const struct stat *, FsTreeWalker::CbFlag);
|
||||||
AppMap *m_appdefs;
|
DesktopDb::AppMap *m_appdefs;
|
||||||
};
|
};
|
||||||
|
|
||||||
FsTreeWalker::Status FstCb::processone(const string& fn, const struct stat *,
|
FsTreeWalker::Status FstCb::processone(const string& fn, const struct stat *,
|
||||||
|
@ -100,27 +94,37 @@ DesktopDb* DesktopDb::getDb()
|
||||||
if (theDb == 0) {
|
if (theDb == 0) {
|
||||||
theDb = new DesktopDb();
|
theDb = new DesktopDb();
|
||||||
}
|
}
|
||||||
if (o_ok)
|
if (theDb && theDb->m_ok)
|
||||||
return theDb;
|
return theDb;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DesktopDb::build(const string& dir)
|
||||||
|
{
|
||||||
|
FstCb procapp(&m_appMap);
|
||||||
|
FsTreeWalker walker;
|
||||||
|
if (walker.walk(dir, procapp) != FsTreeWalker::FtwOk) {
|
||||||
|
m_ok = false;
|
||||||
|
m_reason = walker.getReason();
|
||||||
|
}
|
||||||
|
m_ok = true;
|
||||||
|
}
|
||||||
|
|
||||||
DesktopDb::DesktopDb()
|
DesktopDb::DesktopDb()
|
||||||
{
|
{
|
||||||
FstCb procapp(&theAppMap);
|
build(topappsdir);
|
||||||
FsTreeWalker walker;
|
|
||||||
if (walker.walk(topappsdir, procapp) != FsTreeWalker::FtwOk) {
|
|
||||||
o_ok = false;
|
|
||||||
o_reason = walker.getReason();
|
|
||||||
}
|
}
|
||||||
o_ok = true;
|
|
||||||
|
DesktopDb::DesktopDb(const string& dir)
|
||||||
|
{
|
||||||
|
build(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DesktopDb::appForMime(const string& mime, vector<AppDef> *apps,
|
bool DesktopDb::appForMime(const string& mime, vector<AppDef> *apps,
|
||||||
string *reason)
|
string *reason)
|
||||||
{
|
{
|
||||||
AppMap::const_iterator it = theAppMap.find(mime);
|
AppMap::const_iterator it = m_appMap.find(mime);
|
||||||
if (it == theAppMap.end()) {
|
if (it == m_appMap.end()) {
|
||||||
if (reason)
|
if (reason)
|
||||||
*reason = string("No application found for ") + mime;
|
*reason = string("No application found for ") + mime;
|
||||||
return false;
|
return false;
|
||||||
|
@ -129,9 +133,43 @@ bool DesktopDb::appForMime(const string& mime, vector<AppDef> *apps,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DesktopDb::allApps(vector<AppDef> *apps)
|
||||||
|
{
|
||||||
|
map<string, AppDef> allaps;
|
||||||
|
for (AppMap::const_iterator it = m_appMap.begin();
|
||||||
|
it != m_appMap.end(); it++) {
|
||||||
|
for (vector<AppDef>::const_iterator it1 = it->second.begin();
|
||||||
|
it1 != it->second.end(); it1++) {
|
||||||
|
allaps.insert(pair<string, AppDef>
|
||||||
|
(it1->name, AppDef(it1->name, it1->command)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (map<string, AppDef>::const_iterator it = allaps.begin();
|
||||||
|
it != allaps.end(); it++) {
|
||||||
|
apps->push_back(it->second);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DesktopDb::appByName(const string& nm, AppDef& app)
|
||||||
|
{
|
||||||
|
for (AppMap::const_iterator it = m_appMap.begin();
|
||||||
|
it != m_appMap.end(); it++) {
|
||||||
|
for (vector<AppDef>::const_iterator it1 = it->second.begin();
|
||||||
|
it1 != it->second.end(); it1++) {
|
||||||
|
if (!nm.compare(it1->name)) {
|
||||||
|
app.name = it1->name;
|
||||||
|
app.command = it1->command;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const string& DesktopDb::getReason()
|
const string& DesktopDb::getReason()
|
||||||
{
|
{
|
||||||
return o_reason;
|
return m_reason;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // TEST_APPFORMIME
|
#else // TEST_APPFORMIME
|
||||||
|
|
|
@ -33,13 +33,20 @@ public:
|
||||||
AppDef(const std::string& nm, const std::string& cmd)
|
AppDef(const std::string& nm, const std::string& cmd)
|
||||||
: name(nm), command(cmd)
|
: name(nm), command(cmd)
|
||||||
{}
|
{}
|
||||||
|
AppDef() {}
|
||||||
|
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string command;
|
std::string command;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Build/Get the db for the standard fdo directory */
|
||||||
static DesktopDb* getDb();
|
static DesktopDb* getDb();
|
||||||
static const string& getReason();
|
|
||||||
~DesktopDb();
|
/** Constructor for a db based on a non-standard location */
|
||||||
|
DesktopDb(const string& dir);
|
||||||
|
|
||||||
|
/** In case of error: what happened ? */
|
||||||
|
const string& getReason();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of applications able to process a given MIME type.
|
* Get a list of applications able to process a given MIME type.
|
||||||
|
@ -52,10 +59,30 @@ public:
|
||||||
bool appForMime(const std::string& mime, vector<AppDef> *apps,
|
bool appForMime(const std::string& mime, vector<AppDef> *apps,
|
||||||
std::string *reason = 0);
|
std::string *reason = 0);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all applications defs:
|
||||||
|
* @param[output] apps applications
|
||||||
|
* @return true
|
||||||
|
*/
|
||||||
|
bool allApps(vector<AppDef> *apps);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get app with given name
|
||||||
|
*/
|
||||||
|
bool appByName(const string& nm, AppDef& app);
|
||||||
|
|
||||||
|
typedef map<string, vector<DesktopDb::AppDef> > AppMap;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
/** This is used by getDb() and builds a db for the standard location */
|
||||||
DesktopDb();
|
DesktopDb();
|
||||||
|
void build(const string& dir);
|
||||||
DesktopDb(const DesktopDb &);
|
DesktopDb(const DesktopDb &);
|
||||||
DesktopDb& operator=(const DesktopDb &);
|
DesktopDb& operator=(const DesktopDb &);
|
||||||
|
|
||||||
|
AppMap m_appMap;
|
||||||
|
std::string m_reason;
|
||||||
|
bool m_ok;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -525,6 +525,20 @@ string url_gpath(const string& url)
|
||||||
return path_canon(url.substr(colon+1));
|
return path_canon(url.substr(colon+1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string url_parentfolder(const string& url)
|
||||||
|
{
|
||||||
|
// In general, the parent is the directory above the full path
|
||||||
|
string parenturl = path_getfather(url_gpath(url));
|
||||||
|
// But if this is http, make sure to keep the host part. Recoll
|
||||||
|
// only has file or http urls for now.
|
||||||
|
bool isfileurl = urlisfileurl(url);
|
||||||
|
if (!isfileurl && parenturl == "/") {
|
||||||
|
parenturl = url_gpath(url);
|
||||||
|
}
|
||||||
|
return isfileurl ? string("file://") + parenturl :
|
||||||
|
string("http://") + parenturl;
|
||||||
|
}
|
||||||
|
|
||||||
// Convert to file path if url is like file:
|
// Convert to file path if url is like file:
|
||||||
// Note: this only works with our internal pseudo-urls which are not
|
// Note: this only works with our internal pseudo-urls which are not
|
||||||
// encoded/escaped
|
// encoded/escaped
|
||||||
|
@ -540,6 +554,7 @@ string fileurltolocalpath(string url)
|
||||||
}
|
}
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool urlisfileurl(const string& url)
|
bool urlisfileurl(const string& url)
|
||||||
{
|
{
|
||||||
return url.find("file://") == 0;
|
return url.find("file://") == 0;
|
||||||
|
|
|
@ -60,6 +60,8 @@ extern bool printableUrl(const std::string &fcharset,
|
||||||
extern std::string fileurltolocalpath(std::string url);
|
extern std::string fileurltolocalpath(std::string url);
|
||||||
/// Test for file:/// url
|
/// Test for file:/// url
|
||||||
extern bool urlisfileurl(const std::string& url);
|
extern bool urlisfileurl(const std::string& url);
|
||||||
|
///
|
||||||
|
extern std::string url_parentfolder(const std::string& url);
|
||||||
|
|
||||||
/// Return the host+path part of an url. This is not a general
|
/// Return the host+path part of an url. This is not a general
|
||||||
/// routine, it does the right thing only in the recoll context
|
/// routine, it does the right thing only in the recoll context
|
||||||
|
|
|
@ -4,12 +4,9 @@ topdir=`dirname $0`/..
|
||||||
. $topdir/shared.sh
|
. $topdir/shared.sh
|
||||||
|
|
||||||
initvariables $0
|
initvariables $0
|
||||||
(
|
|
||||||
for q in xing;do
|
|
||||||
echo $q
|
|
||||||
recollq -q $q
|
|
||||||
done
|
|
||||||
|
|
||||||
|
(
|
||||||
|
recollq -S url -q xing dir:embed
|
||||||
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
||||||
|
|
||||||
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
||||||
|
|
|
@ -1,5 +1,2 @@
|
||||||
xing
|
1 results
|
||||||
3 results
|
|
||||||
message/rfc822 [file:///home/dockes/projets/fulltext/testrecoll/mail/outmail] [video+recdat] 1027 bytes
|
|
||||||
application/msword [file:///home/dockes/projets/fulltext/testrecoll/msword/xingfx1.doc] [xingfx1.doc] 24576 bytes
|
|
||||||
application/msword [file:///home/dockes/projets/fulltext/testrecoll/embed/thunderbirdlocalfolders.zip] [xingfx1.doc] 24576 bytes
|
application/msword [file:///home/dockes/projets/fulltext/testrecoll/embed/thunderbirdlocalfolders.zip] [xingfx1.doc] 24576 bytes
|
||||||
|
|
|
@ -6,9 +6,9 @@ topdir=`dirname $0`/..
|
||||||
initvariables $0
|
initvariables $0
|
||||||
|
|
||||||
(
|
(
|
||||||
recollq -S mtime 'Bienvenue Dans Univers De Lyx'
|
recollq -S url 'Bienvenue Dans Univers De Lyx'
|
||||||
recollq -S mtime 'Welcome To Lyx'
|
recollq -S url 'Welcome To Lyx'
|
||||||
recollq -S mtime 'LyX jol dokumentalt'
|
recollq -S url 'LyX jol dokumentalt'
|
||||||
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
||||||
|
|
||||||
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/accentué.lyx] [accentué.lyx] 3577 bytes
|
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/accentué.lyx] [accentué.lyx] 3577 bytes
|
||||||
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/fr_splash.lyx] [fr_splash.lyx] 3577 bytes
|
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/fr_splash.lyx] [fr_splash.lyx] 3577 bytes
|
||||||
2 results
|
2 results
|
||||||
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/with spaces.lyx] [with spaces.lyx] 2974 bytes
|
|
||||||
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/splash.lyx] [splash.lyx] 2974 bytes
|
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/splash.lyx] [splash.lyx] 2974 bytes
|
||||||
|
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/with spaces.lyx] [with spaces.lyx] 2974 bytes
|
||||||
1 results
|
1 results
|
||||||
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/hu_splash.lyx] [hu_splash.lyx] 4773 bytes
|
application/x-lyx [file:///home/dockes/projets/fulltext/testrecoll/lyx/hu_splash.lyx] [hu_splash.lyx] 4773 bytes
|
||||||
|
|
|
@ -6,8 +6,8 @@ topdir=`dirname $0`/..
|
||||||
initvariables $0
|
initvariables $0
|
||||||
|
|
||||||
(
|
(
|
||||||
recollq '"Evenements et programme 2006"'
|
recollq -S url '"Evenements et programme 2006"'
|
||||||
recollq 'pcx11 manuel de programmation iamactuallyanrtf'
|
recollq -S url 'pcx11 manuel de programmation iamactuallyanrtf'
|
||||||
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
||||||
|
|
||||||
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
||||||
|
|
|
@ -14,7 +14,7 @@ d=${tstdata}/partialpurge/
|
||||||
recollindex -Zi $d/testmbox
|
recollindex -Zi $d/testmbox
|
||||||
|
|
||||||
echo Should have 2 results: testmbox and longmbox:
|
echo Should have 2 results: testmbox and longmbox:
|
||||||
recollq -q deletedmessageuniqueterm
|
recollq -S url -q deletedmessageuniqueterm
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo Changing file and reindexing
|
echo Changing file and reindexing
|
||||||
|
@ -22,17 +22,17 @@ d=${tstdata}/partialpurge/
|
||||||
recollindex -Zi $d/testmbox
|
recollindex -Zi $d/testmbox
|
||||||
|
|
||||||
echo Should have 1 result: longmbox:
|
echo Should have 1 result: longmbox:
|
||||||
recollq -q deletedmessageuniqueterm
|
recollq -S url -q deletedmessageuniqueterm
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo Purging whole test file
|
echo Purging whole test file
|
||||||
recollindex -e $d/testmbox
|
recollindex -e $d/testmbox
|
||||||
|
|
||||||
echo Should have 1 result: longmbox:
|
echo Should have 1 result: longmbox:
|
||||||
recollq -q deletedmessageuniqueterm
|
recollq -S url -q deletedmessageuniqueterm
|
||||||
|
|
||||||
echo Should have 2 results: longmbox shortmbox:
|
echo Should have 2 results: longmbox shortmbox:
|
||||||
recollq -q stablemessageuniqueterm
|
recollq -S url -q stablemessageuniqueterm
|
||||||
|
|
||||||
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
||||||
|
|
||||||
|
|
|
@ -34,11 +34,11 @@ for doc in query:
|
||||||
for fld in ('title', 'testfield', 'filename'):
|
for fld in ('title', 'testfield', 'filename'):
|
||||||
print("getattr(doc, %s) -> [%s]"%(fld,utf8string(getattr(doc, fld))))
|
print("getattr(doc, %s) -> [%s]"%(fld,utf8string(getattr(doc, fld))))
|
||||||
print("doc.get(%s) -> [%s]"%(fld,utf8string(doc.get(fld))))
|
print("doc.get(%s) -> [%s]"%(fld,utf8string(doc.get(fld))))
|
||||||
print("\nfor fld in doc.keys():")
|
print("\nfor fld in sorted(doc.keys()):")
|
||||||
for fld in doc.keys():
|
for fld in sorted(doc.keys()):
|
||||||
print(utf8string("[%s] -> [%s]" % (fld, getattr(doc, fld))))
|
print(utf8string("[%s] -> [%s]" % (fld, getattr(doc, fld))))
|
||||||
print("\nfor k,v in doc.items().items():")
|
print("\nfor k,v in sorted(doc.items().items()):")
|
||||||
for k,v in doc.items().items():
|
for k,v in sorted(doc.items().items(), key=lambda itm: itm[0]):
|
||||||
print(utf8string("[%s] -> [%s]" % (k, v)))
|
print(utf8string("[%s] -> [%s]" % (k, v)))
|
||||||
|
|
||||||
print("\nAccented query:")
|
print("\nAccented query:")
|
||||||
|
|
|
@ -10,7 +10,7 @@ doc.get(testfield) -> [testfieldvalue1]
|
||||||
getattr(doc, filename) -> [htmlfield1.html]
|
getattr(doc, filename) -> [htmlfield1.html]
|
||||||
doc.get(filename) -> [htmlfield1.html]
|
doc.get(filename) -> [htmlfield1.html]
|
||||||
|
|
||||||
for fld in doc.keys():
|
for fld in sorted(doc.keys()):
|
||||||
[abstract] -> [ ThisIsTheFieldHtmlTestFile]
|
[abstract] -> [ ThisIsTheFieldHtmlTestFile]
|
||||||
[caption] -> [HTML fields test file: été à noël]
|
[caption] -> [HTML fields test file: été à noël]
|
||||||
[dbytes] -> [27]
|
[dbytes] -> [27]
|
||||||
|
@ -24,29 +24,29 @@ for fld in doc.keys():
|
||||||
[pcbytes] -> [267]
|
[pcbytes] -> [267]
|
||||||
[rcludi] -> [/home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html|]
|
[rcludi] -> [/home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html|]
|
||||||
[relevancyrating] -> [100%]
|
[relevancyrating] -> [100%]
|
||||||
[sig] -> [2671383154417]
|
[sig] -> [2671402138880]
|
||||||
[testfield] -> [testfieldvalue1]
|
[testfield] -> [testfieldvalue1]
|
||||||
[title] -> [HTML fields test file: été à noël]
|
[title] -> [HTML fields test file: été à noël]
|
||||||
[url] -> [file:///home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html]
|
[url] -> [file:///home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html]
|
||||||
|
|
||||||
for k,v in doc.items().items():
|
for k,v in sorted(doc.items().items()):
|
||||||
[testfield] -> [testfieldvalue1]
|
|
||||||
[ipath] -> []
|
|
||||||
[url] -> [file:///home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html]
|
|
||||||
[abstract] -> [ ThisIsTheFieldHtmlTestFile]
|
[abstract] -> [ ThisIsTheFieldHtmlTestFile]
|
||||||
[pcbytes] -> [267]
|
[caption] -> [HTML fields test file: été à noël]
|
||||||
|
[dbytes] -> [27]
|
||||||
[fbytes] -> [267]
|
[fbytes] -> [267]
|
||||||
[filename] -> [htmlfield1.html]
|
[filename] -> [htmlfield1.html]
|
||||||
[mtype] -> [text/html]
|
|
||||||
[caption] -> [HTML fields test file: été à noël]
|
|
||||||
[fmtime] -> [01383154417]
|
[fmtime] -> [01383154417]
|
||||||
[dbytes] -> [27]
|
[ipath] -> []
|
||||||
[sig] -> [2671383154417]
|
|
||||||
[mtime] -> [01383154417]
|
[mtime] -> [01383154417]
|
||||||
[title] -> [HTML fields test file: été à noël]
|
[mtype] -> [text/html]
|
||||||
|
[origcharset] -> [utf-8]
|
||||||
|
[pcbytes] -> [267]
|
||||||
[rcludi] -> [/home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html|]
|
[rcludi] -> [/home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html|]
|
||||||
[relevancyrating] -> [100%]
|
[relevancyrating] -> [100%]
|
||||||
[origcharset] -> [utf-8]
|
[sig] -> [2671402138880]
|
||||||
|
[testfield] -> [testfieldvalue1]
|
||||||
|
[title] -> [HTML fields test file: été à noël]
|
||||||
|
[url] -> [file:///home/dockes/projets/fulltext/testrecoll/html/htmlfield1.html]
|
||||||
|
|
||||||
Accented query:
|
Accented query:
|
||||||
User query [title:"été à noël"]
|
User query [title:"été à noël"]
|
||||||
|
|
|
@ -7,6 +7,8 @@ else:
|
||||||
ISP3 = False
|
ISP3 = False
|
||||||
|
|
||||||
def utf8string(s):
|
def utf8string(s):
|
||||||
|
if s is None:
|
||||||
|
return "None"
|
||||||
if ISP3:
|
if ISP3:
|
||||||
return s
|
return s
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
|
|
||||||
RECOLL_TESTDATA=/home/dockes/projets/fulltext/testrecoll
|
RECOLL_TESTDATA=/home/dockes/projets/fulltext/testrecoll
|
||||||
|
|
||||||
RECOLL_CONFDIR=/home/dockes/projets/fulltext/recoll/tests/config
|
# All source'rs should set topdir as a relative path from their location to
|
||||||
|
# this directory
|
||||||
|
topdir=${topdir:-.}
|
||||||
|
|
||||||
|
RECOLL_CONFDIR=$topdir/config/
|
||||||
export RECOLL_CONFDIR
|
export RECOLL_CONFDIR
|
||||||
|
|
||||||
ECHON="/bin/echo -n"
|
ECHON="/bin/echo -n"
|
||||||
|
|
|
@ -7,8 +7,8 @@ initvariables $0
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
||||||
recollq -S mtime -q '"simulating shock turbulence interactions"'
|
recollq -S url -q '"simulating shock turbulence interactions"'
|
||||||
recollq -S mtime Utf8pathunique
|
recollq -S url Utf8pathunique
|
||||||
|
|
||||||
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
) 2> $mystderr | egrep -v '^Recoll query: ' > $mystdout
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
2 results
|
2 results
|
||||||
image/vnd.djvu [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/1999_Hu_Shu.OCR.djvu] [1999_Hu_Shu.OCR.djvu] 753409 bytes
|
|
||||||
image/vnd.djvu [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/1999_Hu_Shu.OCR.djvu] [1999_Hu_Shu.OCR.djvu] 753409 bytes
|
image/vnd.djvu [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/1999_Hu_Shu.OCR.djvu] [1999_Hu_Shu.OCR.djvu] 753409 bytes
|
||||||
|
image/vnd.djvu [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/1999_Hu_Shu.OCR.djvu] [1999_Hu_Shu.OCR.djvu] 753409 bytes
|
||||||
2 results
|
2 results
|
||||||
text/plain [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/utf8path.txt] [utf8path.txt] 49 bytes
|
|
||||||
text/plain [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/utf8path.txt] [utf8path.txt] 49 bytes
|
text/plain [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/utf8path.txt] [utf8path.txt] 49 bytes
|
||||||
|
text/plain [file:///home/dockes/projets/fulltext/testrecoll/utfInPath/accentué/utf8path.txt] [utf8path.txt] 49 bytes
|
||||||
|
|
|
@ -97,6 +97,8 @@ sub main {
|
||||||
# Hindi Devanagari
|
# Hindi Devanagari
|
||||||
&& !(hex $code_value >= 0x0900 && hex $code_value <= 0x097f)
|
&& !(hex $code_value >= 0x0900 && hex $code_value <= 0x097f)
|
||||||
&& !(hex $code_value >= 0xa8e0 && hex $code_value <= 0xa8ff)
|
&& !(hex $code_value >= 0xa8e0 && hex $code_value <= 0xa8ff)
|
||||||
|
# Bengali
|
||||||
|
&& !(hex $code_value >= 0x0980 && hex $code_value <= 0x09ff)
|
||||||
) {
|
) {
|
||||||
# If a decomposition exists, record it
|
# If a decomposition exists, record it
|
||||||
if($character_decomposition_mapping =~ /(<.*>)?\s*(.+)/) {
|
if($character_decomposition_mapping =~ /(<.*>)?\s*(.+)/) {
|
||||||
|
|
1647
unac/unac.c
1647
unac/unac.c
File diff suppressed because it is too large
Load diff
|
@ -35,7 +35,7 @@ extern "C" {
|
||||||
#define UNAC_BLOCK_SHIFT 3
|
#define UNAC_BLOCK_SHIFT 3
|
||||||
#define UNAC_BLOCK_MASK ((1 << UNAC_BLOCK_SHIFT) - 1)
|
#define UNAC_BLOCK_MASK ((1 << UNAC_BLOCK_SHIFT) - 1)
|
||||||
#define UNAC_BLOCK_SIZE (1 << UNAC_BLOCK_SHIFT)
|
#define UNAC_BLOCK_SIZE (1 << UNAC_BLOCK_SHIFT)
|
||||||
#define UNAC_BLOCK_COUNT 714
|
#define UNAC_BLOCK_COUNT 713
|
||||||
#define UNAC_INDEXES_SIZE (0x10000 >> UNAC_BLOCK_SHIFT)
|
#define UNAC_INDEXES_SIZE (0x10000 >> UNAC_BLOCK_SHIFT)
|
||||||
/* Generated by builder. Do not modify. End defines */
|
/* Generated by builder. Do not modify. End defines */
|
||||||
|
|
||||||
|
@ -893,7 +893,6 @@ extern unsigned short unac_data709[];
|
||||||
extern unsigned short unac_data710[];
|
extern unsigned short unac_data710[];
|
||||||
extern unsigned short unac_data711[];
|
extern unsigned short unac_data711[];
|
||||||
extern unsigned short unac_data712[];
|
extern unsigned short unac_data712[];
|
||||||
extern unsigned short unac_data713[];
|
|
||||||
/* Generated by builder. Do not modify. End declarations */
|
/* Generated by builder. Do not modify. End declarations */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
later versions. Bugs listed in the topmost section may also exist in older
|
later versions. Bugs listed in the topmost section may also exist in older
|
||||||
versions.</i></p>
|
versions.</i></p>
|
||||||
|
|
||||||
<h2><a name="b_latest">recoll 1.19.14p1</a></h2>
|
<h2><a name="b_latest">recoll 1.19.14p2</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>The Open/LibreOffice document filter does not output white space
|
<li>The Open/LibreOffice document filter does not output white space
|
||||||
for tab-separated words in input, leading to search failures.</li>
|
for tab-separated words in input, leading to search failures.</li>
|
||||||
|
@ -67,6 +67,12 @@ versions.</i></p>
|
||||||
recoll.</li>
|
recoll.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="b_1_19_14p1">recoll 1.19.14p1</a></h2>
|
||||||
|
<ul>
|
||||||
|
<li>The Py_INCREF fix in 1.19.14p1 activated a bug in the Query
|
||||||
|
object iterator, a missing INCREF this time.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h2><a name="b_1_19_14">recoll 1.19.14</a></h2>
|
<h2><a name="b_1_19_14">recoll 1.19.14</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>A stray Py_INCREF causes a descriptor and memory leak in the Python
|
<li>A stray Py_INCREF causes a descriptor and memory leak in the Python
|
||||||
|
|
|
@ -67,7 +67,7 @@ function showdiv(viewid)
|
||||||
<div id="general">
|
<div id="general">
|
||||||
<h2><a name="general">General information</a></h2>
|
<h2><a name="general">General information</a></h2>
|
||||||
|
|
||||||
<p>The current version is 1.19.14p1. <a href="release-1.19.html">Release
|
<p>The current version is 1.19.14p2. <a href="release-1.19.html">Release
|
||||||
notes</a>.</p>
|
notes</a>.</p>
|
||||||
|
|
||||||
<p>The download page for Recoll 1.18 is <a href="download-1.18.html">still
|
<p>The download page for Recoll 1.18 is <a href="download-1.18.html">still
|
||||||
|
@ -117,17 +117,23 @@ is probably no necessity to upgrade anyway.</p>
|
||||||
<div id="source">
|
<div id="source">
|
||||||
<h2><a name="source">Source</a></h2>
|
<h2><a name="source">Source</a></h2>
|
||||||
|
|
||||||
<h3>Current release distribution: 1.19.14:</h3>
|
<h3>Current release distribution: 1.19.14p2:</h3>
|
||||||
<!-- Attention: source packages must remain here, not in a
|
<!-- Attention: source packages must remain here, not in a
|
||||||
subdirectory, because of all the places they're referred from
|
subdirectory, because of all the places they're referred from
|
||||||
(package watches) -->
|
(package watches) -->
|
||||||
|
|
||||||
<p><a href="recoll-1.19.14.tar.gz">recoll-1.19.14.tar.gz</a>. </p>
|
<p><a href="recoll-1.19.14p2.tar.gz">recoll-1.19.14p2.tar.gz</a>. </p>
|
||||||
|
|
||||||
<h3>1.20 preview</h3>
|
<h3>1.20 preview</h3>
|
||||||
|
|
||||||
<p>See the <a href="release-1.20.html">release notes</a>.</p>
|
<p>Recoll 1.20 will contain no revolutionary changes, but a set of
|
||||||
<p><a href="recoll-1.20.0.tar.gz">recoll-1.20.0.tar.gz</a>. </p>
|
hopefully useful adjustments, which will be released in a series of
|
||||||
|
incremental snapshots. The current snapshot is
|
||||||
|
|
||||||
|
<a href="recoll-1.20.0p2.tar.gz">recoll-1.20.0p2.tar.gz</a>.
|
||||||
|
|
||||||
|
See the <a href="release-1.20.html">release notes</a> for what's in
|
||||||
|
there.</p>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<h3>Snapshot</h3>
|
<h3>Snapshot</h3>
|
||||||
|
@ -202,6 +208,8 @@ branch for the current production version.</p>
|
||||||
<h3>Older recoll releases:</h3>
|
<h3>Older recoll releases:</h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
<a href="recoll-1.19.14p1.tar.gz">1.19.14p1</a>.
|
||||||
|
<a href="recoll-1.19.14.tar.gz">1.19.14</a>.
|
||||||
<a href="recoll-1.19.13.tar.gz">1.19.13</a>.
|
<a href="recoll-1.19.13.tar.gz">1.19.13</a>.
|
||||||
<a href="recoll-1.19.12p1.tar.gz">1.19.12p1</a>.
|
<a href="recoll-1.19.12p1.tar.gz">1.19.12p1</a>.
|
||||||
<a href="recoll-1.19.9.tar.gz">1.19.9</a>.
|
<a href="recoll-1.19.9.tar.gz">1.19.9</a>.
|
||||||
|
|
|
@ -43,7 +43,8 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li>It can search
|
<li>It can search
|
||||||
most <span class="important"><a href="features.html#doctypes">document
|
most <span class="important"><a href="features.html#doctypes">document
|
||||||
formats</a></span>.</li>
|
formats</a></span>. <a href="features.html#doctypes">You may
|
||||||
|
need external applications for text extraction</a>.</li>
|
||||||
<li>It can reach any storage place: files,
|
<li>It can reach any storage place: files,
|
||||||
archive members, email attachments, transparently
|
archive members, email attachments, transparently
|
||||||
handling decompression.</li>
|
handling decompression.</li>
|
||||||
|
@ -51,10 +52,11 @@
|
||||||
display an even quicker text preview.</li>
|
display an even quicker text preview.</li>
|
||||||
<li>The software is free, open source,
|
<li>The software is free, open source,
|
||||||
and licensed under the GPL.</li>
|
and licensed under the GPL.</li>
|
||||||
<li><a href="features.html">Detailed features</a>.
|
<li><a href="features.html">Detailed features</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>The current <span class="application">Recoll</span> version is
|
<p>The current <span class="application">Recoll</span> version is
|
||||||
<a href="download.html">1.19.14p1</a>
|
<a href="download.html">1.19.14p2</a>
|
||||||
(<a href="release-1.19.html">Release notes</a>,
|
(<a href="release-1.19.html">Release notes</a>,
|
||||||
<a href="BUGS.html">known bugs</a>).</p>
|
<a href="BUGS.html">known bugs</a>).</p>
|
||||||
|
|
||||||
|
@ -92,10 +94,16 @@
|
||||||
<div class="news">
|
<div class="news">
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>2014-06-26</dt> <dd>Recoll version 1.19.14p1 fixes a
|
<dt>2014-07-28</dt> <dd>A nice new application to complement
|
||||||
descriptor (and memory) leak in the Python module. Only the
|
Recoll: <a href="https://github.com/pidlug/recollfs">recollfs</a>
|
||||||
Python package needs upgrading (no changes to the main
|
implements a Fuse filesystem where Recoll queries are
|
||||||
library or programs).</dd>
|
represented as directories, the contents of which are links
|
||||||
|
to the result documents.</dd>
|
||||||
|
|
||||||
|
<dt>2014-07-16</dt> <dd>Recoll version 1.19.14p2 fixes more
|
||||||
|
resource management issues in the Python module (only the
|
||||||
|
Python package needs upgrading for this), and the processing
|
||||||
|
of Bengali characters (no more diacritics stripping).</dd>
|
||||||
|
|
||||||
<dt>2014-06-24</dt> <dd><a href="filters/filters.html#soff1">An
|
<dt>2014-06-24</dt> <dd><a href="filters/filters.html#soff1">An
|
||||||
updated filter</a> for Open/LibreOffice documents. The
|
updated filter</a> for Open/LibreOffice documents. The
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
<p><span class="application">Recoll</span> est un logiciel libre
|
<p><span class="application">Recoll</span> est un logiciel libre
|
||||||
gratuit, dont le code source est disponible sous licence GPL.
|
gratuit, dont le code source est disponible sous licence GPL.
|
||||||
La dernière version est
|
La dernière version est
|
||||||
<a class="important" href="download.html">1.19.14</a>
|
<a class="important" href="download.html">1.19.14p2</a>
|
||||||
(<a href="release-1.19.html">notes sur la version, en
|
(<a href="release-1.19.html">notes sur la version, en
|
||||||
anglais</a>)</p>
|
anglais</a>)</p>
|
||||||
|
|
||||||
|
@ -77,7 +77,9 @@
|
||||||
<li>Traite la plupart des <a href="fr/features.html#doctypes">
|
<li>Traite la plupart des <a href="fr/features.html#doctypes">
|
||||||
types de documents</a> courants, les messages et leurs fichiers
|
types de documents</a> courants, les messages et leurs fichiers
|
||||||
attachés. Peut aussi traiter leurs versions comprimées
|
attachés. Peut aussi traiter leurs versions comprimées
|
||||||
(gzip ou bzip2) de tous ces documents.</li>
|
(gzip ou bzip2) de tous ces documents.
|
||||||
|
<a href="features.html#doctypes">Application externes pour
|
||||||
|
l'extraction du texte</a>.</li>
|
||||||
|
|
||||||
<li>Fonctions de recherche puissantes, avec expressions Booléennes,
|
<li>Fonctions de recherche puissantes, avec expressions Booléennes,
|
||||||
phrases et proximité, wildcards, filtrage sur les types de fichiers
|
phrases et proximité, wildcards, filtrage sur les types de fichiers
|
||||||
|
@ -88,6 +90,7 @@
|
||||||
|
|
||||||
<li><a class="weak" href="fr/features.html">
|
<li><a class="weak" href="fr/features.html">
|
||||||
(plus de détails)</a></li>
|
(plus de détails)</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><b><i>Déjà utilisateur ?</i></b> Il est possible qu'il
|
<p><b><i>Déjà utilisateur ?</i></b> Il est possible qu'il
|
||||||
|
|
|
@ -63,6 +63,11 @@ Configuration</em> menu.</p>
|
||||||
|
|
||||||
<h2><a name="minor_releases">Minor releases at a glance</a></h2>
|
<h2><a name="minor_releases">Minor releases at a glance</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>1.19.14p2 fixes another reference count issue in the Python
|
||||||
|
module (a problem with the Query iterator put in evidence by the
|
||||||
|
change in 1.19.14p1). It also changes the handling of diacritics
|
||||||
|
for Bengali (accents are now unstripped, as for Hindi).</li>
|
||||||
|
|
||||||
<li>1.19.14p1 fixes a descriptor and memory leak in the Python
|
<li>1.19.14p1 fixes a descriptor and memory leak in the Python
|
||||||
module. The main library and programs are unchanged.</li>
|
module. The main library and programs are unchanged.</li>
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
opposed to only bug fixes). There will be a freeze at some
|
opposed to only bug fixes). There will be a freeze at some
|
||||||
point.
|
point.
|
||||||
|
|
||||||
<h2>Changes in Recoll 1.20.0</h2>
|
<h2>Changes in Recoll 1.20.0p1</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li>An <em>Open With</em> entry was added to the result list
|
<li>An <em>Open With</em> entry was added to the result list
|
||||||
|
@ -97,6 +97,8 @@
|
||||||
possible to search for left-truncated versions of the
|
possible to search for left-truncated versions of the
|
||||||
compound, e.g., all emails from a given domain.</li>
|
compound, e.g., all emails from a given domain.</li>
|
||||||
|
|
||||||
|
<li>Recoll now indexes <em>#hashtags</em> as such.</li>
|
||||||
|
|
||||||
<li>It is now possible to configure the GUI in wide form
|
<li>It is now possible to configure the GUI in wide form
|
||||||
factor by dragging the toolbars to one of the sides (their
|
factor by dragging the toolbars to one of the sides (their
|
||||||
location is remembered between sessions), and moving the
|
location is remembered between sessions), and moving the
|
||||||
|
@ -109,11 +111,40 @@
|
||||||
ininteresting variables were also removed.</li>
|
ininteresting variables were also removed.</li>
|
||||||
|
|
||||||
<li>When indexing, we no longer add the top container
|
<li>When indexing, we no longer add the top container
|
||||||
file-name as a term for the contained sub-documents (if
|
file name as a term for the contained sub-documents (if
|
||||||
any). This made no sense at all in most cases. However,
|
any). This made no sense in most cases, as it meant that
|
||||||
this was sometimes useful when searching email
|
you would get hits on all the sections from a chm or epub
|
||||||
folders. Complain if you do not like this change, and I'll
|
when the top file name matched the search, when you
|
||||||
make it configurable.</li>
|
probably wanted only the parent document in this case.<br>
|
||||||
|
However, the container file name was sometimes useful for
|
||||||
|
filtering results, and it is still accessible, in a
|
||||||
|
different way: the top container file name is added as a
|
||||||
|
term to all the sub-documents, <em>only for searching with
|
||||||
|
a prefix</em>. The field name
|
||||||
|
is <span class="literal">containerfilename</span>, and no
|
||||||
|
match on the subdocuments will occur if the field is not
|
||||||
|
specified (this is different from
|
||||||
|
previous <span class="literal">filename</span> processing,
|
||||||
|
which was indexed as a general
|
||||||
|
term. <span class="literal">containerfilename</span> is
|
||||||
|
also set on files without sub-documents (e.g. a pdf).</li>
|
||||||
|
|
||||||
|
<li>A new attribute, <span class="literal">pfxonly</span>,
|
||||||
|
was created. This can be set on any metadata field inside
|
||||||
|
the <span class="literal">[prefixes]</span> section of
|
||||||
|
the <span class="filename">fields</span> file.</li>
|
||||||
|
|
||||||
|
<li>A new <span class="literal">[queryaliases]</span>
|
||||||
|
section was created in
|
||||||
|
the <span class="filename">fields</span>, for definining
|
||||||
|
field name aliases to be used only at query time (to avoid
|
||||||
|
unwanted collection of data on random fields during
|
||||||
|
indexing). The section is empty by default, but 2 obvious
|
||||||
|
alias are in
|
||||||
|
comment: <span class="literal">filename=fn</span>
|
||||||
|
and <span class="literal">containerfilename=cfn</span>. Setting
|
||||||
|
them in your personal file may save you some typing if you
|
||||||
|
search on file names.</li>
|
||||||
|
|
||||||
<li>You can now use both <em>-e</em> and <em>-i</em> for
|
<li>You can now use both <em>-e</em> and <em>-i</em> for
|
||||||
erasing then updating the index for the given file
|
erasing then updating the index for the given file
|
||||||
|
@ -127,6 +158,20 @@
|
||||||
terms was added. See
|
terms was added. See
|
||||||
<span class="filename">src/python/samples/docdups.py</span></li>
|
<span class="filename">src/python/samples/docdups.py</span></li>
|
||||||
|
|
||||||
|
<li>The command used to identify the mime types of files
|
||||||
|
when the internal method is <span class="literal">file
|
||||||
|
-i</span> by default. It is now possible to customize this
|
||||||
|
command by setting
|
||||||
|
the <span class="literal">systemfilecommand</span> in the
|
||||||
|
configuration. A suggested value would
|
||||||
|
be <span class="filename">xdg-mime</span>, which sometimes
|
||||||
|
works better than <span class="filename">file</span>.</li>
|
||||||
|
|
||||||
|
<li>The result list has two new elements: %P substitution
|
||||||
|
for printing the parent folder name, and an <tt>F</tt>
|
||||||
|
link target which will open the parent folder in a
|
||||||
|
file manager window.</li>
|
||||||
|
|
||||||
<li><span class="filename">/media</span> was added to the default
|
<li><span class="filename">/media</span> was added to the default
|
||||||
skippedPaths list mostly as a reminder that blindly
|
skippedPaths list mostly as a reminder that blindly
|
||||||
processing these with the general indexer is a bad idea
|
processing these with the general indexer is a bad idea
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue