[Dctrl-tools-devel] [SCM] Debian control file query tools branch, master, updated. 2.14-23-g7287a72

Antti-Juhani Kaijanaho ajk at debian.org
Sat Aug 28 06:39:51 UTC 2010


The following commit has been merged in the master branch:
commit 9b69ca03454f3e555c5213a530461b4fecebdb7a
Author: Antti-Juhani Kaijanaho <ajk at debian.org>
Date:   Sat Aug 28 09:37:23 2010 +0300

    Grab po files from 2.14.1

diff --git a/po/ca.po b/po/ca.po
index d933d8c..4fe410a 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,163 +7,120 @@ msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-10-28 21:45+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-30 14:38+0000\n"
 "Last-Translator: Jordi Mallach <jordi at canonical.com>\n"
 "Language-Team: Catalan <debian-l10n-catalan at lists.debian.org>\n"
+"Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: s'està usant «%s com a paginador\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: popen ha fallat per a %s: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "el predicat és massa complexe"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "avís: s'esperaven dos punts"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "s'esperaven dos punts"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "El fitxer d'entrada per defecte és malformat"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "el proprietari no sou vosaltres o el superusuari, s'omet"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "té permisos d'escriptura per al grup o altres, s'omet"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "s'està llegint el fitxer de configuració"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "ha fallat la lectura o la memòria s'ha exhaurit"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "error de sintaxi: es necessita un nom d'executable"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "error de sintaxi: es necessita un nom de fitxer d'entrada"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "s'està considerant el nom de l'executable"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "sí, s'utilitzarà el nom d'executable"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "fitxer d'entrada per defecte"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr ""
-"no s'ha trobat el nom de l'executable; s'està llegint des de l'entrada "
-"estàndard"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (fill): no s'ha pogut executar /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: l'ordre (%s) ha fallat (estat d'eixida %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: l'ordre (%s) ha estat terminada pel senyal %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: no es pot fer stat(): %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "és un directori, s'està ometent"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "és un dispositiu de bloc, s'està ometent"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "s'ha produït un error intern"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "és un sòcol, s'està ometent"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "el tipus de fitxer és desconegut, s'està ometent"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: s'està usant «%s com a paginador\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: popen ha fallat per a %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "avís: s'esperaven dos punts"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "s'esperaven dos punts"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "el predicat és massa complexe"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "S'ha produït un error d'anàlisi al camp."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- cerca patrons en fitxers de control de Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Mostra l'avís de prova."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "NIVELL"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Estableix el nivell de depuració a NIVELL."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "CAMP,CAMP,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Restringeix la coincidència de patrons als CAMPs donats."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Això és una forma curta per a -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Això és una forma curta per a -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "Mostra només el cos d'aquests camps dels paràgrafs coincidents."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
@@ -171,225 +128,364 @@ msgstr ""
 "Mostra només la primera línia del camp «Description» dels paràgrafs "
 "coincidents."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Suprimeix els noms dels camps quan mostra els camps especificats."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Considera el patró com una expressió regular estesa POSIX."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "El patró és una expressió regular estàndard POSIX."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr ""
 "No distigueixes entre majúscules i minúscules quan cerca una coincidència."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Mostra només els paràgrafs que no coincideixen."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Mostra només el compte de paràgrafs coincidents."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "NOMFITXER"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Utilitza NOMFITXER com el fitxer de configuració."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Fes una coincidència exacta."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Mostra la llicència del copyright."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Predicats conjunts."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Predicats disjunts."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Nega el següent predicat."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Comprova la igualtat del número de versió."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Comparació del número de versió: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Comparació del número de versió: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Comparació del número de versió: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Comparació del número de versió: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Depura l'anàlisi d'opcions."
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "No mostres res a l'eixida estàndard."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "Intenta fer «mmap» dels fitxers d'entrada"
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Descarta els errors d'anàlisi"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "PATRÓ"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Especifiqueu el patró que voleu cercar"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "el predicat és massa llarg"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "els modificadors d'àtom no són consistents"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "hi ha massa camps d'eixida"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "aquest nivell de registre no existeix"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "No es permeten múltiples patrons per al mateix àtom"
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "hi ha massa noms de fitxers"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "s'ha trobat un final del predicat inesperat"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "s'ha trobat un «!» inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "s'ha trobat un «-a» inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "s'ha trobat un «-o» inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "s'ha trobat un «(» inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "s'ha trobat un «)» inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "s'ha trobat un àtom inesperat a la línia d'ordres"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "manca un «)» en la línia d'ordres"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Es requereix un patró"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "es requereix un predicat"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "predicat malformat"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "hi ha massa camps d'eixida"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 "S'està afegint «Description» als camps d'eixida seleccionats a causa de -d"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
+msgstr "no es pot suprimir els noms de camp quan es mostren paràgrafs sencers"
+
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "El fitxer d'entrada per defecte és malformat"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "el proprietari no sou vosaltres o el superusuari, s'omet"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "té permisos d'escriptura per al grup o altres, s'omet"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "s'està llegint el fitxer de configuració"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "ha fallat la lectura o la memòria s'ha exhaurit"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "error de sintaxi: es necessita un nom d'executable"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "error de sintaxi: es necessita un nom de fitxer d'entrada"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "s'està considerant el nom de l'executable"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "sí, s'utilitzarà el nom d'executable"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "fitxer d'entrada per defecte"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
 msgstr ""
-"no es pot suprimir els noms de camp quan es mostren paràgrafs sencers"
+"no s'ha trobat el nom de l'executable; s'està llegint des de l'entrada "
+"estàndard"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "ESPECCLAU"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Especifica les claus d'ordenació."
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "senyalador de clau invàlid"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- ordena fitxers de control de Debian"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "DELIM"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Especifica un delimitador."
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "ESPEC"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Afegeix la columna especificada."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "La longitud de la columna no és vàlida"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabula fitxers de control de Debian"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "el caràcter multioctet és invàlid"
 
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "ESPECCLAU"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- ordena fitxers de control de Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "fitxer d'entrada per defecte"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
+
 #~ msgid "unexpected end of file"
 #~ msgstr "s'ha trobat un final de fitxer inesperat"
 
@@ -416,8 +512,8 @@ msgstr "el caràcter multioctet és invàlid"
 
 #~ msgid "Unexpected atom in command line. Did you forget to use a connective?"
 #~ msgstr ""
-#~ "S'ha trobat un àtom inesperat en la línia d'ordres. Heu oblidat utilitzar un "
-#~ "connector?"
+#~ "S'ha trobat un àtom inesperat en la línia d'ordres. Heu oblidat utilitzar "
+#~ "un connector?"
 
 #~ msgid "%s: %s: %s\n"
-#~ msgstr "%s: %s: %s\n"
\ No newline at end of file
+#~ msgstr "%s: %s: %s\n"
diff --git a/po/cs.po b/po/cs.po
index 65cea3f..64cb4e7 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,10 +7,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2008-07-27 21:43+0200\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2008-08-04 11:22-0300\n"
 "Last-Translator: Miroslav Kure <kurem at debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -65,15 +66,15 @@ msgstr "%s: používám „%s“ jako pager\n"
 msgid "%s: popen failed for %s: %s\n"
 msgstr "%s: volání popen selhalo pro %s: %s\n"
 
-#: lib/paragraph.c:122
+#: lib/paragraph.c:140
 msgid "warning: expected a colon"
 msgstr "varování: očekávána dvojtečka"
 
-#: lib/paragraph.c:128
+#: lib/paragraph.c:145
 msgid "expected a colon"
 msgstr "očekávána dvojtečka"
 
-#: lib/predicate.c:40 grep-dctrl/grep-dctrl.c:227 grep-dctrl/grep-dctrl.c:336
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
 msgid "predicate is too complex"
 msgstr "predikát je příliš složitý"
 
@@ -228,86 +229,95 @@ msgstr "VZOR"
 msgid "Specify the pattern to search for"
 msgstr "Zadá vzor, který se má hledat"
 
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
 #: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "predikát je příliš dlouhý"
 
-#: grep-dctrl/grep-dctrl.c:363
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "nekonzistentní modifikátory atomu"
 
-#: grep-dctrl/grep-dctrl.c:422 grep-dctrl/grep-dctrl.c:820
-#: join-dctrl/join-dctrl.c:112
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
 msgid "too many output fields"
 msgstr "příliš mnoho výstupních polí"
 
-#: grep-dctrl/grep-dctrl.c:446 sort-dctrl/sort-dctrl.c:101
-#: tbl-dctrl/tbl-dctrl.c:289 join-dctrl/join-dctrl.c:167
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "taková úroveň logování neexistuje"
 
-#: grep-dctrl/grep-dctrl.c:540
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Více vzorů pro stejný atom není povoleno"
 
-#: grep-dctrl/grep-dctrl.c:572 sort-dctrl/sort-dctrl.c:117
-#: tbl-dctrl/tbl-dctrl.c:301 join-dctrl/join-dctrl.c:179
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "příliš mnoho názvů souborů"
 
-#: grep-dctrl/grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "neočekávaný konec predikátu"
 
-#: grep-dctrl/grep-dctrl.c:664
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "neočekávaný „!“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:667
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "neočekávané „-a“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:670
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "neočekávané „-o“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:673
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "neočekávaná „(“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:676
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "neočekávaná „)“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:680
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "neočekávaný atom v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:693
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "chybějící „)“ v příkazové řádce"
 
-#: grep-dctrl/grep-dctrl.c:802
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Vzor je povinný"
 
-#: grep-dctrl/grep-dctrl.c:809
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "je vyžadován predikát"
 
-#: grep-dctrl/grep-dctrl.c:814
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "zkomolený predikát"
 
-#: grep-dctrl/grep-dctrl.c:824
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr "K vybraným výstupním polím přidávám „Description“ (díky parametru -d)"
 
-#: grep-dctrl/grep-dctrl.c:833
+#: grep-dctrl/grep-dctrl.c:847
 msgid "-I requires at least one instance of -s"
 msgstr "-I vyžaduje nejméně jeden výskyt -s"
 
-#: grep-dctrl/grep-dctrl.c:839
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr "při zobrazování celých odstavců nemohu potlačit názvy polí"
 
@@ -339,19 +349,19 @@ msgstr "chyba syntaxe: potřebuji jméno spustitelného souboru"
 msgid "syntax error: need an input file name"
 msgstr "chyba syntaxe: potřebuji jméno vstupního souboru"
 
-#: grep-dctrl/rc.c:175
+#: grep-dctrl/rc.c:176
 msgid "considering executable name"
 msgstr "zvažuji spustitelný soubor"
 
-#: grep-dctrl/rc.c:177
+#: grep-dctrl/rc.c:179
 msgid "yes, will use executable name"
 msgstr "ano, použiji spustitelný soubor"
 
-#: grep-dctrl/rc.c:179
+#: grep-dctrl/rc.c:181
 msgid "default input file"
 msgstr "výchozí vstupní soubor"
 
-#: grep-dctrl/rc.c:190
+#: grep-dctrl/rc.c:193
 msgid "executable name not found; reading from standard input"
 msgstr "spustitelný soubor nenalezen; čtu ze standardního vstupu"
 
@@ -363,11 +373,11 @@ msgstr "KLÍČE"
 msgid "Specify sort keys."
 msgstr "Určí klíče pro řazení."
 
-#: sort-dctrl/sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "neplatný klíč"
 
-#: sort-dctrl/sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- řadí debianí soubory control"
 
@@ -391,15 +401,15 @@ msgstr "SPEC"
 msgid "Append the specified column."
 msgstr "Přidá zadaný sloupec."
 
-#: tbl-dctrl/tbl-dctrl.c:272
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "neplatná délka sloupce"
 
-#: tbl-dctrl/tbl-dctrl.c:326
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- převádí debianí soubory control do tabulek"
 
-#: tbl-dctrl/tbl-dctrl.c:340
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "chybný vícebajtový znak"
 
@@ -448,22 +458,22 @@ msgstr "slučovací pole pro první soubor již bylo zadáno"
 msgid "the join field of the second file has already been specified"
 msgstr "slučovací pole pro druhý soubor již bylo zadáno"
 
-#: join-dctrl/join-dctrl.c:127
+#: join-dctrl/join-dctrl.c:128
 msgid "missing '.' in output field specification"
 msgstr "chybějící „.“ ve specifikaci výstupního pole"
 
-#: join-dctrl/join-dctrl.c:144
+#: join-dctrl/join-dctrl.c:146
 msgid "expected either '1.' or '2.' at the start of the field specification"
 msgstr "na začátku specifikace pole očekávám „1.“ nebo „2.“."
 
-#: join-dctrl/join-dctrl.c:250
+#: join-dctrl/join-dctrl.c:251
 msgid "join-dctrl -- join two Debian control files"
 msgstr "join-dctrl -- sloučí dva debianí soubory control"
 
-#: join-dctrl/join-dctrl.c:269
+#: join-dctrl/join-dctrl.c:270
 msgid "need exactly two input files"
 msgstr "vyžaduji právě dva vstupní soubory"
 
-#: join-dctrl/join-dctrl.c:294
+#: join-dctrl/join-dctrl.c:295
 msgid "cannot join a stream with itself"
 msgstr "nemohu sloučit proud sám se sebou"
diff --git a/po/de.po b/po/de.po
index 7c6b00e..70f901a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,17 +1,18 @@
 # German translation of dctrl-tools
-# Copyright © 2004, 2006, 2008, 2009 by Gerfried Fuchs <rhonda at debian.at>
+# Copyright © 2004, 2006, 2008, 2009, 2010 by Gerfried Fuchs <rhonda at debian.at>
 # This file is distributed under the same license as the dctrl-tools package.
 #
-# Gerfried Fuchs <rhonda at debian.at>, 2004, 2006, 2008, 2009.
+# Gerfried Fuchs <rhonda at debian.at>, 2004, 2006, 2008, 2009, 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2009-10-20 20:07+0200\n"
-"PO-Revision-Date: 2009-10-20 20:12+0200\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
+"PO-Revision-Date: 2010-08-08 12:39+0200\n"
 "Last-Translator: Gerfried Fuchs <rhonda at debian.at>\n"
 "Language-Team: German <debian-l10n-german at lists.debian.org>\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -67,11 +68,11 @@ msgstr "%s: »%s« wird als Pager verwendet\n"
 msgid "%s: popen failed for %s: %s\n"
 msgstr "%s: popen für %s schlug fehl: %s\n"
 
-#: lib/paragraph.c:123
+#: lib/paragraph.c:140
 msgid "warning: expected a colon"
 msgstr "Warnung: Doppelpunkt wurde erwartet"
 
-#: lib/paragraph.c:128
+#: lib/paragraph.c:145
 msgid "expected a colon"
 msgstr "Doppelpunkt wurde erwartet"
 
@@ -231,8 +232,8 @@ msgid "Specify the pattern to search for"
 msgstr "Gibt das zu suchende Muster an"
 
 #: grep-dctrl/grep-dctrl.c:142
-msgid "Do (eregex) matching on whole package names"
-msgstr "Führt eine (eregex-)Prüfung auf den gesamten Paketnamen durch"
+msgid "Match only whole package names (this implies -e)"
+msgstr "Nur auf komplett passende Paketnamen prüfen (impliziert -e)"
 
 #: grep-dctrl/grep-dctrl.c:304
 msgid "file names are not allowed within the predicate"
@@ -251,7 +252,7 @@ msgstr "Inkonsistenter Atom-Modifikator"
 msgid "too many output fields"
 msgstr "Zu viele Ausgabefelder"
 
-#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:101
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
 #: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
 #, c-format
 msgid "no such log level '%s'"
@@ -261,7 +262,7 @@ msgstr "Keine Log-Ebene »%s«"
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Mehrere Muster für das selbe Atom sind nicht erlaubt"
 
-#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
 #: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "Zu viele Dateinamen"
@@ -379,7 +380,7 @@ msgstr "Sortierungsschlüssel angeben."
 msgid "invalid key flag"
 msgstr "Ungültiges Schlüssel-Flag"
 
-#: sort-dctrl/sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- sortiert Debian-Control-Dateien"
 
@@ -467,7 +468,8 @@ msgstr "Fehlender ».« in der Ausgabefeldspezifikation"
 
 #: join-dctrl/join-dctrl.c:146
 msgid "expected either '1.' or '2.' at the start of the field specification"
-msgstr "Entweder »1.« oder »2.« am Anfang der Feld-Spezifikation wurde erwartet"
+msgstr ""
+"Entweder »1.« oder »2.« am Anfang der Feld-Spezifikation wurde erwartet"
 
 #: join-dctrl/join-dctrl.c:251
 msgid "join-dctrl -- join two Debian control files"
diff --git a/po/en_GB.po b/po/en_GB.po
index a229cfd..2df7a15 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -7,162 +7,121 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
-"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2006-04-03 00:41+0300\n"
+"Report-Msgid-Bugs-To: ajk at debian.org\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-09-27 07:58+0000\n"
 "Last-Translator: Jeff Bailes <thepizzaking at gmail.com>\n"
 "Language-Team: English (United Kingdom) <en_GB at li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: using `%s' as pager\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: popen failed for %s: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "predicate is too complex"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "warning: expected a colon"
-
-#: paragraph.c:122
-msgid "expected a colon"
-msgstr "expected a colon"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Malformed default input file name"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "not owned by you or root, ignoring"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "write permissions for group or others, ignoring"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "reading config file"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "read failure or out of memory"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "syntax error: need a executable name"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "syntax error: need an input file name"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "considering executable name"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "yes, will use executable name"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "default input file"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "executable name not found; reading from standard input"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (child): failed to exec /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: command (%s) failed (exit status %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: command (%s) was killed by signal %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: cannot stat: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "is a directory, skipping"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "is a block device, skipping"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "internal error"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "is a socket, skipping"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "unknown file type, skipping"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: using `%s' as pager\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: popen failed for %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "warning: expected a colon"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "expected a colon"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "predicate is too complex"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Parse error in field."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- grep Debian control files"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Show the testing banner."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "LEVEL"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Set debugging level to LEVEL."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "FIELD,FIELD,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Restrict pattern matching to the FIELDs given."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "This is a shorthand for -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "This is a shorthand for -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "Show only the body of these fields from the matching paragraphs."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
@@ -170,218 +129,356 @@ msgstr ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Suppress field names when showing specified fields."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Regard the pattern as an extended POSIX regular expression."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "The pattern is a standard POSIX regular expression."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Ignore case when looking for a match."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Show only paragraphs that do not match."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Show only the count of matching paragraphs."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "FNAME"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Use FNAME as the config file."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Do an exact match."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Print out the copyright licence."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Conjunct predicates."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Disjunct predicates."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Negate the following predicate."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Test for version number equality."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Version number comparison: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Version number comparison: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Version number comparison: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Version number comparison: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Debug option parsing."
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "Do no output to stdout."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "Attempt mmapping input files"
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Ignore parse errors"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Specify the pattern to search for"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "predicate is too long"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "inconsistent atom modifiers"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "too many output fields"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "no such log level"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Multiple patterns for the same atom are not allowed"
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "too many file names"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "unexpected end of predicate"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "unexpected '!' in command line"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "unexpected '-a' in command line"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "unexpected '-o' in command line"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "unexpected '(' in command line"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "unexpected ')' in command line"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "unexpected atom in command line"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "missing ')' in command line"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "A pattern is mandatory"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "a predicate is required"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "malformed predicate"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "too many output fields"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr "Adding \"Description\" to selected output fields because of -d"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr "cannot suppress field names when showing whole paragraphs"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Malformed default input file name"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "not owned by you or root, ignoring"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "write permissions for group or others, ignoring"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "reading config file"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "read failure or out of memory"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "syntax error: need a executable name"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "syntax error: need an input file name"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "considering executable name"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "yes, will use executable name"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "default input file"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr "executable name not found; reading from standard input"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "KEYSPEC"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Specify sort keys."
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "invalid key flag"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- sort Debian control files"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "DELIM"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Specify a delimiter."
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "SPEC"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Append the specified column."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "invalid column length"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabularise Debian control files"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
-msgstr "bad multibyte character"
\ No newline at end of file
+msgstr "bad multibyte character"
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "KEYSPEC"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- sort Debian control files"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "default input file"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
diff --git a/po/es.po b/po/es.po
index 516be5d..5d06e62 100644
--- a/po/es.po
+++ b/po/es.po
@@ -15,7 +15,7 @@
 #
 # Equipo de traducción al español, por favor lean antes de traducir
 # los siguientes documentos:
-# 
+#
 # - El proyecto de traducción de Debian al español
 #   http://www.debian.org/intl/spanish/
 #   especialmente las notas y normas de traducción en
@@ -33,378 +33,485 @@ msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-10-13 20:59+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-31 00:35+0100\n"
 "Last-Translator: Javier Fernandez-Sanguino <jfs at debian.org>\n"
 "Language-Team: Debian Spanish <debian-l10n-spanish at lists.debian.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: se utilizará «%s» como paginador\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: falló «popen» para %s: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "el predicado es demasiado complejo"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "aviso: se esperaba un signo de dos puntos"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "se esperaba un signo de dos puntos"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Nombre del archivo de entrada predeterminado mal formado"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "no le pertenece a vd. ni a root, se ignorará"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "permiso de escritura para el grupo y para los demás, se ignorará"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "leyendo el archivo de configuración"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "fallo en la lectura o memoria llena"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "error sintáctico: se necesita un nombre de ejecutable"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "error sintático: se necesita el nombre de un archivo de entrada"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "analizando el nombre del ejecutable"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "sí, se utilizará el nombre del ejecutable"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "archivo de entrada predeterminado"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "no se encontró el nombre del ejecutable, se leerá de la entrada estándar"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (hijo): se produjo un fallo al ejecutar /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: falló la orden (%s) (error de salida %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: la orden (%s) fue interrumpida por una señal %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: no se puede hacer «stat»: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "es un directorio, se omitirá"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "es un dispositivo de bloques, se omitirá"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "error interno"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "es un socket, se omitirá"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "tipo de archivo desconocido, se omitirá"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: se utilizará «%s» como paginador\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: falló «popen» para %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "aviso: se esperaba un signo de dos puntos"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "se esperaba un signo de dos puntos"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "el predicado es demasiado complejo"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Error de interpretación en un campo."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- buscar en los archivos de control Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Mostrar el mensaje de pruebas."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "NIVEL"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Establecer el nivel de depuración a NIVEL."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "CAMPO, CAMPO, ..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Restringe la búsqueda de patrones a los CAMPOs dados."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Este es un atajo para -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Este es un atajo para -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
-msgstr "Sólo muestra el contenido de estos campos dentro de los párrafos coincidentes."
+msgstr ""
+"Sólo muestra el contenido de estos campos dentro de los párrafos "
+"coincidentes."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
-msgstr "Muestra sólo la primera línea del campo «Description» (Descripción) en los párrafos coincidentes."
+msgstr ""
+"Muestra sólo la primera línea del campo «Description» (Descripción) en los "
+"párrafos coincidentes."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
-msgstr "Omite los nombres de los campos cuando se muestran los campos especificados."
+msgstr ""
+"Omite los nombres de los campos cuando se muestran los campos especificados."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Trata el patrón como una expresión regular POSIX extendida."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "El patrón es una expresión regular POSIX estándar."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Ignora las mayúsculas o minúsculas al buscar coincidencias."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Muestra sólo los párrafos que no coinciden."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Muestra sólo el número total de párrafos que coinciden."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "NOMBRE"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Utiliza NOMBRE como archivo de configuración."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Hace una coincidencia exacta."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Muestra la licencia de copia."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Predicados conjuntos."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Predicados disjuntos."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Negar el predicado siguiente."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Sólo probar la igualdad en el número de versión."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Comparación del número de versión: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Comparación del número de versión: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Comparación del número de versión: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Comparación del número de versión: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Depurar la interpretación de las opciones."
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "No sacar los mensajes por la salida estándar."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "Intentar mapear a memoria los archivos de entrada."
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Ignorar los errores del intérprete"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "PATRÓN"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Especificar el patrón a utilizar en las búsquedas"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "el predicado es demasiado largo"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "modificadores atómicos inconsistentes"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "demasiados campos de salida"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "no existe ese nivel de registro"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "No se permite la utilización de múltiples patrones para el mismo átomo"
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "demasiados nombres de archivo"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "fin de predicado inesperado"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "no se esperaba un «!» en la línea de órdenes"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "no se esperaba un «-a» en la línea de órdenes"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "no se esperaba un «-o» en la línea de órdenes"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "no se esperaba un «(» en la línea de órdenes"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "no se esperaba un «)» en la línea de órdenes"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "no se esperaba un átomo en la línea de órdenes"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "falta un «)» en la línea de órdenes"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Es necesario un patrón"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "es necesario un predicado"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "predicado mal formado"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "demasiados campos de salida"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
-msgstr "Se añadirá el campo «Description» a los campos de salida porque se utilizó «-d»"
+msgstr ""
+"Se añadirá el campo «Description» a los campos de salida porque se utilizó «-"
+"d»"
+
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
-msgstr "no se puede suprimir el nombre del campo cuando se muestran párrafos completos"
+msgstr ""
+"no se puede suprimir el nombre del campo cuando se muestran párrafos "
+"completos"
+
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Nombre del archivo de entrada predeterminado mal formado"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "no le pertenece a vd. ni a root, se ignorará"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "permiso de escritura para el grupo y para los demás, se ignorará"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "leyendo el archivo de configuración"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "fallo en la lectura o memoria llena"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "error sintáctico: se necesita un nombre de ejecutable"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "error sintático: se necesita el nombre de un archivo de entrada"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "analizando el nombre del ejecutable"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "sí, se utilizará el nombre del ejecutable"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "archivo de entrada predeterminado"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr ""
+"no se encontró el nombre del ejecutable, se leerá de la entrada estándar"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "SPECCLAVE"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Indica las claves de ordenación."
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "indicador de clave inválido"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- ordena los archivos de control Debian"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "DELIM"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Indica un delimitador."
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "SPEC"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Añade la columna indicada."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "longitud de columna inválida"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabula los archivos de control Debian"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "carácter multibyte inválido"
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "SPECCLAVE"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- ordena los archivos de control Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "archivo de entrada predeterminado"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
diff --git a/po/fi.po b/po/fi.po
index 4238378..94f0a5a 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,16 +1,17 @@
 # Finnish translation of dctrl-tools
-# Copyright (C) 2004 Antti-Juhani Kaijanaho
+# Copyright (C) 2004-2010 Antti-Juhani Kaijanaho
 # This file is distributed under the same license as the dctrl-tools package.
-# Antti-Juhani Kaijanaho <ajk at debian.org>, 2004.
+# Antti-Juhani Kaijanaho <ajk at debian.org>, 2004-2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2008-07-04 18:21+0300\n"
-"PO-Revision-Date: 2008-07-04 18:34+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
+"PO-Revision-Date: 2010-08-08 12:19+0300\n"
 "Last-Translator: Antti-Juhani Kaijanaho <ajk at debian.org>\n"
 "Language-Team: Finnish <debian-l10n-finnish at lists.debian.org>\n"
+"Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -65,15 +66,15 @@ msgstr "%s: käytetään '%s':ää sivuttimena\n"
 msgid "%s: popen failed for %s: %s\n"
 msgstr "%s: popen-systeemikutsu epäonnistui '%s':lle: %s\n"
 
-#: lib/paragraph.c:122
+#: lib/paragraph.c:140
 msgid "warning: expected a colon"
 msgstr "varoitus: kaksoispiste puuttuu"
 
-#: lib/paragraph.c:128
+#: lib/paragraph.c:145
 msgid "expected a colon"
 msgstr "kaksoispiste puuttuu"
 
-#: lib/predicate.c:40 grep-dctrl/grep-dctrl.c:227 grep-dctrl/grep-dctrl.c:336
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
 msgid "predicate is too complex"
 msgstr "predikaatti on liian monimutkainen"
 
@@ -228,86 +229,95 @@ msgstr "HAHMO"
 msgid "Specify the pattern to search for"
 msgstr "Anna haussa käytettävä hahmo"
 
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr "Etsi vain kokonaisilla paketinnimillä (tämä kääntää päälle myös -e:n)"
+
 #: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr "tiedostonimiä ei sallita predikaatin sisällä"
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "predikaatti on liian pitkä"
 
-#: grep-dctrl/grep-dctrl.c:363
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "ristitiitaiset atomin määritteet"
 
-#: grep-dctrl/grep-dctrl.c:422 grep-dctrl/grep-dctrl.c:820
-#: join-dctrl/join-dctrl.c:112
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
 msgid "too many output fields"
 msgstr "liikaa tulostettavia kenttiä"
 
-#: grep-dctrl/grep-dctrl.c:446 sort-dctrl/sort-dctrl.c:101
-#: tbl-dctrl/tbl-dctrl.c:289 join-dctrl/join-dctrl.c:167
-msgid "no such log level"
-msgstr "ei sellaista seurantatasoa ole"
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, c-format
+msgid "no such log level '%s'"
+msgstr "ei sellaista seurantatasoa kuin '%s' ole"
 
-#: grep-dctrl/grep-dctrl.c:540
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Samassa atomissa ei saa olla useita hahmoja"
 
-#: grep-dctrl/grep-dctrl.c:572 sort-dctrl/sort-dctrl.c:117
-#: tbl-dctrl/tbl-dctrl.c:301 join-dctrl/join-dctrl.c:179
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "liikaa tiedostonimiä"
 
-#: grep-dctrl/grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "odottamaton predikaatin loppu"
 
-#: grep-dctrl/grep-dctrl.c:664
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "odottamaton '!' komentorivillä"
 
-#: grep-dctrl/grep-dctrl.c:667
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "odottamaton '-a' komentorivill�"
 
-#: grep-dctrl/grep-dctrl.c:670
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "odottamaton '-o' komentorivill�"
 
-#: grep-dctrl/grep-dctrl.c:673
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "odottamaton '(' komentorivill�"
 
-#: grep-dctrl/grep-dctrl.c:676
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "odottamaton ')' komentorivill�"
 
-#: grep-dctrl/grep-dctrl.c:680
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "odottamaton atomi komentorivill�"
 
-#: grep-dctrl/grep-dctrl.c:693
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "komentoriviltä puuttuu ')'"
 
-#: grep-dctrl/grep-dctrl.c:802
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Hakuehto on välttämätön."
 
-#: grep-dctrl/grep-dctrl.c:809
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "predikaatti on välttämätön"
 
-#: grep-dctrl/grep-dctrl.c:814
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "rikkinäinen predikaatti"
 
-#: grep-dctrl/grep-dctrl.c:824
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr "Merkitsen \"Description\"-kentän tulostettavaksi -d-valitsimen takia"
 
-#: grep-dctrl/grep-dctrl.c:833
+#: grep-dctrl/grep-dctrl.c:847
 msgid "-I requires at least one instance of -s"
 msgstr "-I vaatii ainakin yhden -s:n"
 
-#: grep-dctrl/grep-dctrl.c:839
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
 "en voi jättää näyttämättä kenttien nimiä, kun näytän kokonaisia tietueita"
@@ -340,19 +350,19 @@ msgstr "syntaksivirhe: tarvitsen ohjelmannimen"
 msgid "syntax error: need an input file name"
 msgstr "syntaksivirhe: tarvitsen syötetiedoston nimen"
 
-#: grep-dctrl/rc.c:175
+#: grep-dctrl/rc.c:176
 msgid "considering executable name"
 msgstr "harkitsen ohjelmannimeä"
 
-#: grep-dctrl/rc.c:177
+#: grep-dctrl/rc.c:179
 msgid "yes, will use executable name"
 msgstr "kyllä, käytän ohjelmannimeä"
 
-#: grep-dctrl/rc.c:179
+#: grep-dctrl/rc.c:181
 msgid "default input file"
 msgstr "oletussyötetiedosto"
 
-#: grep-dctrl/rc.c:190
+#: grep-dctrl/rc.c:193
 msgid "executable name not found; reading from standard input"
 msgstr "en löydä ohjelmannimeä; luen vakiosyötteestä"
 
@@ -364,11 +374,11 @@ msgstr "AVAINMÄÄR"
 msgid "Specify sort keys."
 msgstr "Anna järjestysavaimet."
 
-#: sort-dctrl/sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "sopimaton avainvalitsin"
 
-#: sort-dctrl/sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- järjestä Debianin kontrollitiedostoja"
 
@@ -392,15 +402,15 @@ msgstr "MÄÄR"
 msgid "Append the specified column."
 msgstr "Lisää loppuun annettu sarake."
 
-#: tbl-dctrl/tbl-dctrl.c:272
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "kelvoton sarakepituus"
 
-#: tbl-dctrl/tbl-dctrl.c:326
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- taulukoi Debianin kontrollitiedostoja"
 
-#: tbl-dctrl/tbl-dctrl.c:340
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "rikkinäinen pitkä merkki"
 
@@ -449,62 +459,22 @@ msgstr "ensimmäisen tiedoston liitoskenttä on jo annettu"
 msgid "the join field of the second file has already been specified"
 msgstr "toisen tiedoston liitoskenttä on jo annettu"
 
-#: join-dctrl/join-dctrl.c:127
+#: join-dctrl/join-dctrl.c:128
 msgid "missing '.' in output field specification"
 msgstr "tuloskentän määrittelystä puuttuu '.'"
 
-#: join-dctrl/join-dctrl.c:144
+#: join-dctrl/join-dctrl.c:146
 msgid "expected either '1.' or '2.' at the start of the field specification"
 msgstr "joko '1.' tai '2.' tarvitaan kenttämäärityksen alussa"
 
-#: join-dctrl/join-dctrl.c:250
+#: join-dctrl/join-dctrl.c:251
 msgid "join-dctrl -- join two Debian control files"
 msgstr "join-dctrl -- liitä yhteen kaksi Debianin kontrollitiedostoa"
 
-#: join-dctrl/join-dctrl.c:269
+#: join-dctrl/join-dctrl.c:270
 msgid "need exactly two input files"
 msgstr "tarvitaan täsmälleen kaksi syötetiedostoa"
 
-#: join-dctrl/join-dctrl.c:294
+#: join-dctrl/join-dctrl.c:295
 msgid "cannot join a stream with itself"
 msgstr "virtaa ei voi liittää yhteen itsensä kanssa"
-
-#, fuzzy
-#~ msgid "unexpected end of file (expected a colon)"
-#~ msgstr "odottamaton tiedoston loppu"
-
-#, fuzzy
-#~ msgid "unexpected end of line (expected a colon)"
-#~ msgstr "odottamaton rivin loppu"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "odottamaton tiedoston loppu"
-
-#, fuzzy
-#~ msgid "pretty-dctrl -- pretty-print Debian control files"
-#~ msgstr "grep-dctrl -- hae Debianin kontrollitiedostoista"
-
-#~ msgid "invalid numeric pattern"
-#~ msgstr "rikkinäinen lukuhakuehto"
-
-#, fuzzy
-#~ msgid "parse of a field failed"
-#~ msgstr "numeerisen kentän jäsennys epäonnistui"
-
-#~ msgid "Numerical test: <."
-#~ msgstr "Numeerinen testi: <."
-
-#~ msgid "Numerical test: <=."
-#~ msgstr "Numeerinen testi: <=."
-
-#~ msgid "Numerical test: >."
-#~ msgstr "Numeerinen testi: >."
-
-#~ msgid "Numerical test: >=."
-#~ msgstr "Numeerinen testi: >=."
-
-#~ msgid "syntax error in command line"
-#~ msgstr "komentorivillä on syntaksivirhe"
-
-#~ msgid "Unexpected atom in command line. Did you forget to use a connective?"
-#~ msgstr "Odottamaton atomi komentorivillä.  Unohditko konnektiivin jostain?"
diff --git a/po/fr.po b/po/fr.po
index c32ef5e..f1eee73 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,25 +1,29 @@
 # French translation for dctrl-tools
-# Copyright (C) YEAR Antti-Juhani Kaijanaho
+# Copyright (C) 2004-2007, 2010 Debian French l10n team <debian-l10n-french at lists.debian.org>
 # This file is distributed under the same license as the dctrl-tools package.
+#
 # Nicolas Bertolissio <nico.bertol at free.fr>, 2004, 2005.
 # Frédéric Bothamy <frederic.bothamy at free.fr>, 2006, 2007.
-#
+# David Prévot <david at tilapin.org>, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools 2.11\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2007-08-05 21:20+0300\n"
-"PO-Revision-Date: 2007-08-06 15:42+0200\n"
-"Last-Translator: Frédéric Bothamy <frederic.bothamy at free.fr>\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
+"PO-Revision-Date: 2010-08-13 15:30-0400\n"
+"Last-Translator: David Prévot <david at tilapin.org>\n"
 "Language-Team: French <debian-l10n-french at lists.debian.org>\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
-msgstr "%s (enfant) : échec d'exécution de /bin/sh : %s\n"
+msgstr "%s (enfant) : échec de l'exécution de /bin/sh : %s\n"
 
 #: lib/ifile.c:100
 #, c-format
@@ -66,15 +70,15 @@ msgstr "%s: utilisation de « %s » comme paginateur\n"
 msgid "%s: popen failed for %s: %s\n"
 msgstr "%s: échec de popen pour %s : %s\n"
 
-#: lib/paragraph.c:133
+#: lib/paragraph.c:140
 msgid "warning: expected a colon"
 msgstr "avertissement : deux-points (« : ») attendus"
 
-#: lib/paragraph.c:140
+#: lib/paragraph.c:145
 msgid "expected a colon"
 msgstr "deux-points (« : ») attendus"
 
-#: lib/predicate.c:40 grep-dctrl/grep-dctrl.c:227 grep-dctrl/grep-dctrl.c:336
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
 msgid "predicate is too complex"
 msgstr "le prédicat est trop complexe"
 
@@ -84,7 +88,7 @@ msgstr "Échec d'analyse syntaxique dans le champ."
 
 #: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
-msgstr "grep-dctrl -- sélectionner dans des fichiers de contrôle Debian"
+msgstr "grep-dctrl -- recherche dans des fichiers de contrôle Debian"
 
 #: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
@@ -98,7 +102,7 @@ msgstr "NIVEAU"
 #: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
 #: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
-msgstr "Sélectionner le niveau de débogage NIVEAU."
+msgstr "Choisir le niveau de débogage NIVEAU."
 
 #: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
@@ -154,7 +158,7 @@ msgstr "Afficher les champs qui n'ont PAS été sélectionnés avec -s."
 
 #: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
-msgstr "N'afficher que le nombre de paragraphes qui correspondent."
+msgstr "N'afficher que le décompte de paragraphes qui correspondent."
 
 #: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
@@ -230,91 +234,100 @@ msgstr "MOTIF"
 msgid "Specify the pattern to search for"
 msgstr "Spécifier le motif de recherche"
 
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr "Correspond seulement aux noms complets du paquet (cela implique -e)"
+
 #: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr "les noms de fichiers ne sont pas autorisés dans le prédicat"
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "le prédicat est trop long"
 
-#: grep-dctrl/grep-dctrl.c:363
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "modificateurs d'atome incohérents"
 
-#: grep-dctrl/grep-dctrl.c:422 grep-dctrl/grep-dctrl.c:813
-#: join-dctrl/join-dctrl.c:112
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
 msgid "too many output fields"
 msgstr "trop de champs de sortie"
 
-#: grep-dctrl/grep-dctrl.c:446 sort-dctrl/sort-dctrl.c:101
-#: tbl-dctrl/tbl-dctrl.c:289 join-dctrl/join-dctrl.c:167
-msgid "no such log level"
-msgstr "niveau de journalisation inexistant"
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, c-format
+msgid "no such log level '%s'"
+msgstr "niveau de journalisation « %s » inexistant"
 
-#: grep-dctrl/grep-dctrl.c:540
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Des motifs multiples pour le même atome ne sont pas autorisés"
 
-#: grep-dctrl/grep-dctrl.c:572 sort-dctrl/sort-dctrl.c:117
-#: tbl-dctrl/tbl-dctrl.c:301 join-dctrl/join-dctrl.c:179
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "trop de noms de fichiers"
 
-#: grep-dctrl/grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "fin de prédicat inattendue"
 
-#: grep-dctrl/grep-dctrl.c:664
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "« ! » inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:667
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "« -a » inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:670
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "« -o » inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:673
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "« ( » inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:676
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "« ) » inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:680
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "atome inattendu sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:693
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "« ) » manquante sur la ligne de commande"
 
-#: grep-dctrl/grep-dctrl.c:795
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
-msgstr "Un motif est nécessaire"
+msgstr "Un motif est obligatoire"
 
-#: grep-dctrl/grep-dctrl.c:802
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "un prédicat est nécessaire"
 
-#: grep-dctrl/grep-dctrl.c:807
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "prédicat mal formé"
 
-#: grep-dctrl/grep-dctrl.c:817
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 "Ajout de « Description » aux champs de sortie sélectionnés à cause de -d"
 
-#: grep-dctrl/grep-dctrl.c:826
+#: grep-dctrl/grep-dctrl.c:847
 msgid "-I requires at least one instance of -s"
 msgstr "-I nécessite au moins une instance de -s"
 
-#: grep-dctrl/grep-dctrl.c:832
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
-"impossible de supprimer les noms de champs lors de l'affichage des "
-"paragraphes complets"
+"impossible de supprimer les noms de champs lors de l'affichage complet "
+"des paragraphes"
 
 #: grep-dctrl/rc.c:55
 msgid "Malformed default input file name"
@@ -344,19 +357,19 @@ msgstr "erreur de syntaxe : nécessite un nom d'exécutable"
 msgid "syntax error: need an input file name"
 msgstr "erreur de syntaxe : nécessite un nom de fichier d'entrée"
 
-#: grep-dctrl/rc.c:175
+#: grep-dctrl/rc.c:176
 msgid "considering executable name"
-msgstr "étude de l'exécutable nommé"
+msgstr "étude du nom d'exécutable"
 
-#: grep-dctrl/rc.c:177
+#: grep-dctrl/rc.c:179
 msgid "yes, will use executable name"
-msgstr "utilise l'exécutable nommé"
+msgstr "oui, utilisera le nom d'exécutable"
 
-#: grep-dctrl/rc.c:179
+#: grep-dctrl/rc.c:181
 msgid "default input file"
 msgstr "fichier d'entrée par défaut"
 
-#: grep-dctrl/rc.c:190
+#: grep-dctrl/rc.c:193
 msgid "executable name not found; reading from standard input"
 msgstr "nom d'exécutable non trouvé ; lecture depuis l'entrée standard"
 
@@ -368,11 +381,11 @@ msgstr "KEYSPEC"
 msgid "Specify sort keys."
 msgstr "Spécifier les clés de tri."
 
-#: sort-dctrl/sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "drapeau de clé non valable"
 
-#: sort-dctrl/sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- trier des fichiers de contrôle Debian"
 
@@ -396,15 +409,15 @@ msgstr "SPEC"
 msgid "Append the specified column."
 msgstr "Ajouter la colonne spécifiée."
 
-#: tbl-dctrl/tbl-dctrl.c:272
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
-msgstr "taille de colonne invalide"
+msgstr "longueur de colonne non valable"
 
-#: tbl-dctrl/tbl-dctrl.c:326
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabuler des fichiers de contrôle Debian"
 
-#: tbl-dctrl/tbl-dctrl.c:340
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "caractère multioctets erroné"
 
@@ -455,23 +468,23 @@ msgstr "le champ de jointure du premier fichier a déjà été spécifié"
 msgid "the join field of the second file has already been specified"
 msgstr "le champ de jointure pour le second fichier a déjà été spécifié"
 
-#: join-dctrl/join-dctrl.c:127
+#: join-dctrl/join-dctrl.c:128
 msgid "missing '.' in output field specification"
-msgstr "« . » absent dans la spécification du champ de sortie"
+msgstr "« . » manquant dans la spécification du champ de sortie"
 
-#: join-dctrl/join-dctrl.c:144
+#: join-dctrl/join-dctrl.c:146
 msgid "expected either '1.' or '2.' at the start of the field specification"
 msgstr "« 1. » ou « 2. » attendu au début de la spécification du champ"
 
-#: join-dctrl/join-dctrl.c:250
+#: join-dctrl/join-dctrl.c:251
 msgid "join-dctrl -- join two Debian control files"
 msgstr "join-dctrl -- fusionner deux fichiers de contrôle Debian"
 
-#: join-dctrl/join-dctrl.c:269
+#: join-dctrl/join-dctrl.c:270
 msgid "need exactly two input files"
-msgstr "nécessite d'exactement deux fichiers d'entrée"
+msgstr "nécessite exactement deux fichiers d'entrée"
 
-#: join-dctrl/join-dctrl.c:294
+#: join-dctrl/join-dctrl.c:295
 msgid "cannot join a stream with itself"
 msgstr "impossible de fusionner un flux avec lui-même"
 
diff --git a/po/it.po b/po/it.po
index 1117b5a..c816571 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,166 +7,125 @@ msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools 2.7\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-04-03 00:40+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-03-24 12:27+0000\n"
 "Last-Translator: Danilo Piazzalunga <danilopiazza at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: si sta usando «%s» come pager\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: chiamata popen per «%s» non riuscita: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "il predicato è troppo complesso"
-
-#: paragraph.c:116
-#, fuzzy
-msgid "warning: expected a colon"
-msgstr "«-a» non previsto sulla riga di comando"
-
-#: paragraph.c:122
-#, fuzzy
-msgid "expected a colon"
-msgstr "«-a» non previsto sulla riga di comando"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Nome del file di input predefinito non corretto"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "viene ignorato perché non ha come proprietario né te né root"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "viene ignorato perché è scrivibile dal gruppo e/o da tutti"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "lettura del file di configurazione"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "errore di lettura o memoria esaurita"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "errore di sintassi: serve il nome di un programma"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "errore di sintassi: serve il nome di un file di input"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "nome del programma da considerare"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "nome del programma da usare"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "file di input predefinito"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "nome del programma non trovato; lettura dallo standard input"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (figlio): impossibile eseguire /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: il comando (%s) non è riuscito (stato di uscita %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: il comando (%s) è stato ucciso dal segnale %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: impossibile fare stat di «%s»: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "è una directory e viene ignorata"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "è un file speciale a blocchi e viene ignorato"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "errore interno"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "è un socket e viene ignorato"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "è un file di tipo sconosciuto e viene ignorato"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: si sta usando «%s» come pager\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: chiamata popen per «%s» non riuscita: %s\n"
+
+#: lib/paragraph.c:140
+#, fuzzy
+msgid "warning: expected a colon"
+msgstr "«-a» non previsto sulla riga di comando"
+
+#: lib/paragraph.c:145
+#, fuzzy
+msgid "expected a colon"
+msgstr "«-a» non previsto sulla riga di comando"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "il predicato è troppo complesso"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr ""
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- ricerca attraverso i file di controllo di Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Mostra l'avviso fastidioso."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "LIVELLO"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Imposta il livello di debug a LIVELLO."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "CAMPO,CAMPO,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Cerca le corrispondenze solo all'interno dei campi specificati."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Questa è una forma abbreviata per «-FPackage»."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 #, fuzzy
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Questa è una forma abbreviata per «-FPackage»."
 
 # NdT: era msgstr "Mostra solo i campi specificati anziché l'intero "
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr ""
 "Mostra solo il valore dei campi selezionati del paragrafo corrispondente."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
@@ -174,226 +133,363 @@ msgstr ""
 "Mostra solo la prima riga del campo «Description» dei paragrafi "
 "corrispondenti."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Mostra solo il contenuto (e non il nome) dei campi specificati."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Considera il modello come un'espressione regolare POSIX estesa."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "Considera il modello come un'espressione regolare POSIX standard."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Ignora maiuscole/minuscole durante il confronto."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Mostra solo i paragrafi non corrispondenti."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Mostra solo il conteggio dei paragrafi corrispondenti."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "NOMEFILE"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Usa NOMEFILE come file di configurazione."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Cerca solo corrispondenze esatte."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Mostra la licenza."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Effettua la congiunzione di due predicati."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Effettua la disgiunzione di due predicati."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Negazione del predicato che lo segue."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 #, fuzzy
 msgid "Test for version number equality."
 msgstr "Controlla l'uguaglianza numerica."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr ""
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr ""
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr ""
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr ""
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Fa il debug dell'analisi delle opzioni."
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "Non invia output verso stdout."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr ""
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr ""
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr ""
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr ""
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "il predicato è troppo lungo"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "modificatori di atomi incoerenti"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "troppi campi da visualizzare"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "livello di log inesistente"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr ""
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "troppi nomi di file"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "improvvisa fine del predicato"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "«!» non previsto sulla riga di comando"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "«-a» non previsto sulla riga di comando"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "«-o» non previsto sulla riga di comando"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "«(» non prevista sulla riga di comando"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "«)» non prevista sulla riga di comando"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "atomo non previsto sulla riga di comando"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "manca una «)» sulla riga di comando"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Bisogna specificare un modello di ricerca"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "bisogna specificare un predicato"
 
 # NdT: credo che il termine tecnico corretto sia
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "il predicato non è ben formato"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "troppi campi da visualizzare"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr "È stato aggiunto «Description» ai campi da mostrare a causa di -d"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
 "impossibile omettere i nomi dei campi quando si mostra l'intero paragrafo"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Nome del file di input predefinito non corretto"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "viene ignorato perché non ha come proprietario né te né root"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "viene ignorato perché è scrivibile dal gruppo e/o da tutti"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "lettura del file di configurazione"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "errore di lettura o memoria esaurita"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "errore di sintassi: serve il nome di un programma"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "errore di sintassi: serve il nome di un file di input"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "nome del programma da considerare"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "nome del programma da usare"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "file di input predefinito"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr "nome del programma non trovato; lettura dallo standard input"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr ""
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr ""
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr ""
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- ordina i file di controllo di Debian"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr ""
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr ""
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr ""
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr ""
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr ""
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 #, fuzzy
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "grep-dctrl -- ricerca attraverso i file di controllo di Debian"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr ""
 
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+msgid "FIELDSPEC"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- ordina i file di controllo di Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "file di input predefinito"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
+
 #, fuzzy
 #~ msgid "unexpected end of file (expected a colon)"
 #~ msgstr "improvvisa fine del file"
diff --git a/po/ja.po b/po/ja.po
index d29ab1f..ba2fa8a 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,162 +8,121 @@ msgid ""
 msgstr ""
 "Project-Id-Version: dctrl-tools 2.9.2\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-10-13 20:59+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-30 23:27+0900\n"
 "Last-Translator: Noritada Kobayashi <nori1 at dolphin.c.u-tokyo.ac.jp>\n"
 "Language-Team: Japanese\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: ページャとして `%s' を使用します\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: %s の popen に失敗しました: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "述部が複雑すぎます"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "警告: コロンを期待しました"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "コロンを期待しました"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "デフォルトの入力ファイル名が不正です"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "所持者があなたでも root でもないので無視します"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "グループや他人に書き込み権限があるので無視します"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "設定ファイルを読み込んでいます"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "読み込みが失敗したか、またはメモリが不足しています"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "構文エラー: 実行ファイル名が必要です"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "構文エラー: 入力ファイル名が必要です"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "実行ファイル名を検討中です"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "はい、実行ファイル名を使用します"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "デフォルトの入力ファイル"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "実行ファイル名が見つかりません。標準入力から読み込みます"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (子プロセス): /bin/sh の実行に失敗しました: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: コマンド (%s) が失敗しました (終了ステータス %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: コマンド (%s) がシグナル %d によって kill されました\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: stat できません: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "ディレクトリなので飛ばします"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "ブロックデバイスなので飛ばします"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "内部エラーです"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "ソケットなので飛ばします"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "ファイル形式が不明なので飛ばします"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: ページャとして `%s' を使用します\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: %s の popen に失敗しました: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "警告: コロンを期待しました"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "コロンを期待しました"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "述部が複雑すぎます"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "フィールドのパース中にエラーが発生しました。"
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- Debian control ファイルを grep します"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "テスト用のバナーを表示します。"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "<レベル>"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "デバッグレベルを <レベル> に設定します。"
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "<フィールド>,<フィールド>,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "パターンマッチの対象を指定のフィールドに制限します。"
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "これは -FPackage の省略表現です。"
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "これは -FSource:Package の省略表現です。"
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "マッチするパラグラフの、これらのフィールドの中身のみを表示します。"
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
@@ -171,220 +130,358 @@ msgstr ""
 "マッチするパラグラフの、\"Description\" (パッケージ説明) フィールドの 1 行目"
 "のみを表示します。"
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "指定のフィールドを表示する際にフィールド名を表示しません。"
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "パターンを POSIX 拡張正規表現と見なします。"
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "パターンは POSIX 標準正規表現です。"
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "マッチするものを探す際に大文字・小文字を区別しません。"
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "マッチしないパラグラフのみ表示します。"
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "マッチするパラグラフの数のみ表示します。"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "<ファイル名>"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "設定ファイルとして <ファイル名> を使用します。"
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "正確なマッチを行います。"
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "著作権使用許諾を表示します。"
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "述部を結合します。"
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "述部を分離します。"
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "以降の述部を否定します。"
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "バージョン番号が等しいかをテストします。"
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "バージョン番号の比較: <。"
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "バージョン番号の比較: <=。"
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "バージョン番号の比較: >。"
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "バージョン番号の比較: >=。"
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "デバッグオプションをパースします。"
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "標準出力に出力しません。"
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "mmap 用入力ファイルを試します"
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "パースエラーを無視します"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "<パターン>"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "検索に用いるパターンを指定します"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "述部が長すぎます"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "単位修飾子が矛盾しています"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "出力フィールドが多すぎます"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "そのようなログレベルはありません"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "同じ単位に複数のパターンを使用することはできません"
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "ファイル名が多すぎます"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "述部が突然途切れました"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "コマンドラインに想定外の '!' が含まれています"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "コマンドラインに想定外の '-a' が含まれています"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "コマンドラインに想定外の '-o' が含まれています"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "コマンドラインに想定外の '(' が含まれています"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "コマンドラインに想定外の ')' が含まれています"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "コマンドラインに想定外の単位が含まれています"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "コマンドラインに ')' が含まれていません"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "パターンが必須です"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "述部が必要です"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "述部が不正です"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "出力フィールドが多すぎます"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 "-d がついているので選択された出力フィールドに \"Description\" (パッケージ説"
 "明) を追加します。"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr "パラグラフ全体を表示する際にフィールド名を表示しないようにできません"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "デフォルトの入力ファイル名が不正です"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "所持者があなたでも root でもないので無視します"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "グループや他人に書き込み権限があるので無視します"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "設定ファイルを読み込んでいます"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "読み込みが失敗したか、またはメモリが不足しています"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "構文エラー: 実行ファイル名が必要です"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "構文エラー: 入力ファイル名が必要です"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "実行ファイル名を検討中です"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "はい、実行ファイル名を使用します"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "デフォルトの入力ファイル"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr "実行ファイル名が見つかりません。標準入力から読み込みます"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "<キー指定>"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "ソートフラグを指定します。"
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "不正なキーフラグです"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- Debian control ファイルをソートします"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "<デリミタ>"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "デリミタを指定します。"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "<指定>"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "指定のカラムを追加します。"
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "カラムの長さが不正です"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- Debian control ファイルを集計して表にします"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "マルチバイト文字が不正です"
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "<キー指定>"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- Debian control ファイルをソートします"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "デフォルトの入力ファイル"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
diff --git a/po/pl.po b/po/pl.po
index cc66d1e..e452fec 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,379 +7,475 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: grep-dctrl\n"
-"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2006-04-03 00:41+0300\n"
+"Report-Msgid-Bugs-To: ajk at debian.org\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-08-04 19:33+0000\n"
 "Last-Translator: Simek <gosimek at gmail.com>\n"
 "Language-Team: Polish <pl at li.org>\n"
+"Language: pl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr ""
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr ""
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "orzeczenie jest zbyd skomplikowane"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr ""
-
-#: paragraph.c:122
-msgid "expected a colon"
-msgstr ""
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr ""
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr ""
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr ""
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "czytam plik konfiguracyjy"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "odczy nie powiódł się lub zabrakło pamięci"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr ""
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr ""
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr ""
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr ""
-
-#: rc.c:190
-msgid "default input file"
-msgstr "domyślny plik wsadowy"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr ""
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr ""
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr ""
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr ""
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr ""
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "jest folderem, pomijanie"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr ""
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "błąd wewnętrzny"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "jest gniazdem, pomijanie"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "nieznany typ pliku, pomijanie"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr ""
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr ""
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr ""
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr ""
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "orzeczenie jest zbyd skomplikowane"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Analizowanie błędu w polu."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- panel sterowania plików grep Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Pokaż baner testowy."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "POZIOM"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Ustaw poziom debugera na POZIOM."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "POLE,POLE,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr ""
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "To jest skrót od -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "To jest skrót od -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "Pokaż tylko zawartość pól z pasujących paragrafów."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
 msgstr "Pokaż tylko pierwszą linię \"OPISU\" pól z pasujących paragrafów."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Nie pokazuj nazw pól podczas ich oglądania."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr ""
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr ""
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Ignoruj rozmiar liter, gdy wyglÄ…da na pasujÄ…cy."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Pokaż tylko nie pasujące paragrafy."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Pokaż tylko liczbe pasujących paragrafów."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "FNAME"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Używaj FNAME jako pliku konfiguracyjnego."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Pokaż tylko idealnie pasujące."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Wydrukuj licencjÄ™."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Zespól orzeczenia"
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Rozłącz orzeczenia."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Neguj nieprawne orzeczenia."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Test poprawność numeru wersji."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Porównanie numeru wersji: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Porównanie numeru wersji: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Porównanie numeru wersji: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Porównanie numeru wersji: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr ""
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr ""
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr ""
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Ignoruj analize błędów"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "WZÓR"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Określ wzór szukania"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "orzeczenie jest za długie"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr ""
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "za dużo wyjściowych pól"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, c-format
+msgid "no such log level '%s'"
 msgstr ""
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr ""
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "za dużo nazw pliku"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "nieprzewidywany koniec orzeczenia"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "nieprzewidywany \"!\" w linii komend"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "nieprzewidywany '-a' w linii komend"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "nieprzewidywany '-o' w linii komend"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "nieprzewidywany '(' w linii komend"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "nieprzewidywany ')' w linii komend"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr ""
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "brakujÄ…cy ')' w linii komend"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr ""
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "wymagane jest orzeczenie"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr ""
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "za dużo wyjściowych pól"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr ""
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr ""
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr ""
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "czytam plik konfiguracyjy"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "odczy nie powiódł się lub zabrakło pamięci"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr ""
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr ""
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr ""
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr ""
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "domyślny plik wsadowy"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr ""
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr ""
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr ""
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr ""
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr ""
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr ""
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr ""
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr ""
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr ""
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "nieprawidłowa długość kolumny"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr ""
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
-msgstr ""
\ No newline at end of file
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+msgid "FIELDSPEC"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "grep-dctrl -- panel sterowania plików grep Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "domyślny plik wsadowy"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 82484e0..aa28b84 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,165 +8,124 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grep-dctrl tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-10-28 21:45+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-30 19:32+0000\n"
 "Last-Translator: Mauricio Bomfim Cruz Vieira <mauricio.vieira at gmail.com>\n"
-"Language-Team: Brazilian Portuguese <debian-l10n-"
-"portuguese at lists.debian.org>\n"
+"Language-Team: Brazilian Portuguese <debian-l10n-portuguese at lists.debian."
+"org>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: usando `%s' como paginador\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: popen falhou para %s: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "predicado é muito complexo"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "aviso: dois-pontos esperado"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "dois-pontos esperado"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Nome de arquivo de entrada padrão incorreto"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "não é possuído por você ou root, ignorando"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "permissão de escrita para grupo ou outros, ignorando"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "lendo arquivo de configuração"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "falha na leitura ou memória esgotada"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "erro de sintaxe: é necessário um arquivo executável"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "erro de sintaxe: é necessário um nome de arquivo de entrada"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "considerando o nome executável"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "sim, irá usar o nome executável"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "arquivo de entrada padrão"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "nome executável não encontrado; lendo da entrada padrão"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (filho): falha ao executar /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: comando (%s) falhou (status de saída %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: comando (%s) foi morto pelo sinal %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: não foi possível executar: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "é um diretório, pulando"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "é um dispositivo em bloco, pulando"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "erro interno"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "é um socket, pulando"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "tipo de arquivo desconhecido, pulando"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: usando `%s' como paginador\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: popen falhou para %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "aviso: dois-pontos esperado"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "dois-pontos esperado"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "predicado é muito complexo"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Erro de formatação no campo."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr ""
 "grep-dctrl -- busca por expressões regulares em arquivos de controle Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Mostra a mensagem de aviso teste."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "NÍVEL"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Ajusta o nível de depuração para NÍVEL."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "CAMPO,CAMPO,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Restringe casamento de padrões para os CAMPOs dados."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Isto é um acrônimo para -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Isto é um acrônimo para -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr ""
 "Mostra apenas o corpo destes campos a partir dos parágrafos que estão sendo "
 "casados."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
@@ -174,227 +133,365 @@ msgstr ""
 "Mostra apenas a primeira linha do campo \"Descrição\" dos parágrafos que "
 "estão sendo casados."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Suprime o nomes dos campos quando mostra os campos específicos."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Trata o padrão como uma expressão regular POSIX estendida."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "O padrão é uma expressão regular POSIX padrão."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr ""
 "Ignora maiúculas/minúsculas quando estiver procurando por uma "
 "correspondência."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Mostra apenas parágrafos que não correspondem."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Mostra apenas a soma dos parágrafos que correspondem."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "ARQUIVO"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Use ARQUIVO como o arquivo de configuração."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Faz uma correspondência exata."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Imprime a licença de copyright."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Faz conjunção dos predicados."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Faz disjunção dos predicados."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Nega o predicado seguinte."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Testa igualdade do número de versão."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Comparação do número de versão: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Comparação do número de versão: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Comparação do número de versão: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Comparação do número de versão: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Depura leitura das opções."
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "Não imprime a saída na saída padrão."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "Tentativa de mapear arquivos de entrada"
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Ignorar erros de análise."
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "PADRÃO"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Especifique o padrão a ser procurado"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "predicado é muito longo"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "modificadores atômicos inconsistentes"
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "muitos campos de saída"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "não existe este nível de log"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Múltiplos padrões para o mesmo átomo não é permitida"
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "muitos nomes de arquivos"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "fim de predicado inesperado"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "'!' inesperado na linha de comando"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "'-a' inesperado na linha de comando"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "'-o' inesperado na linha de comando"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "'(' inesperado na linha de comando"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "')' inesperado na linha de comando"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "átomo inesperado na linha de comando"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "')' faltando na linha de comando"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Um padrão é obrigatório"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "um predicado é requerido"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "predicado malformado"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "muitos campos de saída"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 "Adicionando \"Descrição\" aos campos de saída selecionados por causa do -d"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
 "não pode suprimir nomes dos campos quando estiver mostrando parágrafos "
 "completamente"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Nome de arquivo de entrada padrão incorreto"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "não é possuído por você ou root, ignorando"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "permissão de escrita para grupo ou outros, ignorando"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "lendo arquivo de configuração"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "falha na leitura ou memória esgotada"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "erro de sintaxe: é necessário um arquivo executável"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "erro de sintaxe: é necessário um nome de arquivo de entrada"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "considerando o nome executável"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "sim, irá usar o nome executável"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "arquivo de entrada padrão"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr "nome executável não encontrado; lendo da entrada padrão"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "KEYSPEC"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Especificar chaves de ordenação."
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "chave inválida"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "grep-dctrl -- ordenar arquivos de controle Debian"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "DELIM"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Especificar um delimitador"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "SPEC"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Anexar à coluna especificada."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "tamanho de coluna inválido"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabular arquivos de controle Debian"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "caracter multibyte inválido"
 
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "KEYSPEC"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "grep-dctrl -- ordenar arquivos de controle Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "arquivo de entrada padrão"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
+
 #, fuzzy
 #~ msgid "unexpected end of file (expected a colon)"
 #~ msgstr "fim de arquivo inesperado"
@@ -409,7 +506,8 @@ msgstr "caracter multibyte inv
 #, fuzzy
 #~ msgid "pretty-dctrl -- pretty-print Debian control files"
 #~ msgstr ""
-#~ "grep-dctrl -- busca por expressões regulares em arquivos de controle Debian"
+#~ "grep-dctrl -- busca por expressões regulares em arquivos de controle "
+#~ "Debian"
 
 #~ msgid "invalid numeric pattern"
 #~ msgstr "padrão numérico invalido"
@@ -428,4 +526,4 @@ msgstr "caracter multibyte inv
 #~ msgstr "Teste numérico: >."
 
 #~ msgid "Numerical test: >=."
-#~ msgstr "Teste numérico: >=."
\ No newline at end of file
+#~ msgstr "Teste numérico: >=."
diff --git a/po/ru.po b/po/ru.po
index ce12f51..e3e84a3 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,23 +1,24 @@
 # translation of ru.po to Russian
 # Copyright (C) YEAR Antti-Juhani Kaijanaho
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the dctrl-tools package.
 #
 # Yuri Kozlov <kozlov.y at gmail.com>, 2006.
-# Yuri Kozlov <yuray at komyakino.ru>, 2009.
+# Yuri Kozlov <yuray at komyakino.ru>, 2009, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: dctrl-tools 2.13.1\n"
+"Project-Id-Version: dctrl-tools 2.14\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2009-12-13 17:39+0100\n"
-"PO-Revision-Date: 2009-01-25 23:09+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
+"PO-Revision-Date: 2010-08-16 19:11+0400\n"
 "Last-Translator: Yuri Kozlov <yuray at komyakino.ru>\n"
 "Language-Team: Russian <debian-l10n-russian at lists.debian.org>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 #: lib/ifile.c:54
 #, c-format
@@ -233,12 +234,12 @@ msgid "Specify the pattern to search for"
 msgstr "Задать шаблон поиска"
 
 #: grep-dctrl/grep-dctrl.c:142
-msgid "Do (eregex) matching on whole package names"
-msgstr ""
+msgid "Match only whole package names (this implies -e)"
+msgstr "Искать во всех именах пакетов (подразумевает -e)"
 
 #: grep-dctrl/grep-dctrl.c:304
 msgid "file names are not allowed within the predicate"
-msgstr ""
+msgstr "имена файлов в предикате не разрешены"
 
 #: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
@@ -254,17 +255,17 @@ msgid "too many output fields"
 msgstr "слишком много выходных файлов"
 
 #: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
-#: tbl-dctrl/tbl-dctrl.c:301 join-dctrl/join-dctrl.c:168
-#, fuzzy, c-format
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, c-format
 msgid "no such log level '%s'"
-msgstr "нет такого уровня отладки"
+msgstr "уровня журнала %s не существует"
 
 #: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Нельзя задать несколько шаблонов для одно атома"
 
 #: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
-#: tbl-dctrl/tbl-dctrl.c:313 join-dctrl/join-dctrl.c:180
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "слишком много имён файлов"
 
@@ -325,47 +326,47 @@ msgid "cannot suppress field names when showing whole paragraphs"
 msgstr ""
 "невозможно не выводить имена полей, если показываются параграфы целиком"
 
-#: grep-dctrl/rc.c:54
+#: grep-dctrl/rc.c:55
 msgid "Malformed default input file name"
 msgstr "Неправильный формат имени по умолчанию входного файла"
 
-#: grep-dctrl/rc.c:67
+#: grep-dctrl/rc.c:68
 msgid "not owned by you or root, ignoring"
 msgstr "не принадлежит вам или root, игнорируется"
 
-#: grep-dctrl/rc.c:72
+#: grep-dctrl/rc.c:73
 msgid "write permissions for group or others, ignoring"
 msgstr "разрешена запись для группы или всеми, игнорируется"
 
-#: grep-dctrl/rc.c:112
+#: grep-dctrl/rc.c:113
 msgid "reading config file"
 msgstr "чтение файла настройки"
 
-#: grep-dctrl/rc.c:139
+#: grep-dctrl/rc.c:140
 msgid "read failure or out of memory"
 msgstr "ошибка при чтении или нехватка памяти"
 
-#: grep-dctrl/rc.c:161
+#: grep-dctrl/rc.c:162
 msgid "syntax error: need a executable name"
 msgstr "синтаксическая ошибка: требуется имя исполняемого файла"
 
-#: grep-dctrl/rc.c:169
+#: grep-dctrl/rc.c:170
 msgid "syntax error: need an input file name"
 msgstr "синтаксическая ошибка: требуется имя входного файла"
 
-#: grep-dctrl/rc.c:175
+#: grep-dctrl/rc.c:176
 msgid "considering executable name"
 msgstr "рассматривается имя исполняемого файла"
 
-#: grep-dctrl/rc.c:178
+#: grep-dctrl/rc.c:179
 msgid "yes, will use executable name"
 msgstr "да, будет использовано имя исполняемого файла"
 
-#: grep-dctrl/rc.c:180
+#: grep-dctrl/rc.c:181
 msgid "default input file"
 msgstr "входной файл по умолчанию"
 
-#: grep-dctrl/rc.c:192
+#: grep-dctrl/rc.c:193
 msgid "executable name not found; reading from standard input"
 msgstr "имя исполняемого файла не найдено; чтение со стандартного входа"
 
@@ -405,16 +406,16 @@ msgstr "SPEC"
 msgid "Append the specified column."
 msgstr "Добавить указанную колонку."
 
-#: tbl-dctrl/tbl-dctrl.c:284
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "неправильная длина колонки"
 
-#: tbl-dctrl/tbl-dctrl.c:338
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr ""
 "tbl-dctrl -- показать информацию из управляющих файлов Debian в виде таблицы"
 
-#: tbl-dctrl/tbl-dctrl.c:359
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "плохой мультибайтовый символ"
 
@@ -482,3 +483,4 @@ msgstr "требуется ровно два входных файла"
 #: join-dctrl/join-dctrl.c:295
 msgid "cannot join a stream with itself"
 msgstr "невозможно объединить поток сам с собой"
+
diff --git a/po/sv.po b/po/sv.po
index fabeda9..865a331 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,381 +7,478 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: grep-dctrl\n"
-"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2006-10-28 21:45+0300\n"
+"Report-Msgid-Bugs-To: ajk at debian.org\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-30 12:09+0000\n"
 "Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
 "Language-Team: Swedish <sv at li.org>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s: använder \"%s\" som visare\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: popen misslyckades för %s: %s\n"
-
-#: predicate.c:40 grep-dctrl.c:221 grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "påståendet är för komplext"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "varning: förväntade ett kolon"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "förväntade ett kolon"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Felformulerat filnamn för standardinmatning"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "ägs inte av dig eller root, ignorerar"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "skrivrättigheter för grupp eller övriga, ignorerar"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "läser konfigurationsfil"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "läsfel eller slut på minne"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "syntaxfel: behöver ett namn på körbar fil"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "syntaxfel: behöver ett filnamn för inmatning"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "överväg körbart namn"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "ja, kommer att använda namn på körbar fil"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "standardinmatningsfil"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "körbart namn hittades inte; läser från standard in"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (barn): misslyckades med att köra /bin/sh: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: kommandot (%s) misslyckades (felkod %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: kommandot (%s) dödades av signalen %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: kan inte få status: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "är en katalog, hoppar över"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "är en blockenhet, hoppar över"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "internt fel"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "är ett uttag, hoppar över"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "okänd filtyp, hoppar över"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s: använder \"%s\" som visare\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: popen misslyckades för %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "varning: förväntade ett kolon"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "förväntade ett kolon"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "påståendet är för komplext"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Tolkningsfel i fält."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- kör \"grep\" på Debians kontrollfiler"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Visa testningsrubriken."
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "NIVÃ…"
 
-#: grep-dctrl.c:112 sort-dctrl.c:39 tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Ställ in felsökningsnivå till NIVÅ."
 
-#: grep-dctrl.c:113 grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "FÄLT,FÄLT,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Begränsa mönstermatchning till angivna FÄLT."
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Det här är en förkortning för -FPackage."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Det här är en förkortning för -FSource:Package."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "Visa endast kroppen för dessa fält från matchande stycken."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
 msgstr ""
 "Visa endast första raden av fältet \"Beskrivning\" från matchande stycken."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Visa inte fältnamn när angivna fält visas."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Anse mönstret som ett utökat reguljärt POSIX-uttryck."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "Mönstret är ett standard reguljärt POSIX-uttryck."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Ignorera skiftläge vid sökning efter en träff."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Visa endast stycken som inte matchar."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Visa endast antalet matchande stycken."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "FNAMN"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Använd FNAMN som konfigurationsfil."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Gör en exakt matchning."
 
-#: grep-dctrl.c:126 sort-dctrl.c:38 tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "Skriv ut copyrightlicensen."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Förena påståenden."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Separera påståenden."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Gör följande påstående negativt."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Testa jämförelse för versionsnummer."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "Jämförelse av versionsnummer: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "Jämförelse av versionsnummer: <=."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "Jämförelse av versionsnummer: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "Jämförelse av versionsnummer: >=."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr ""
 
-#: grep-dctrl.c:136 grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "Skriv inte ut till standard ut."
 
-#: grep-dctrl.c:138 sort-dctrl.c:41 tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr ""
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Ignorera tolkningsfel"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "MÖNSTER"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Ange mönstret att söka efter"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "påståendet är för långt"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr ""
 
-#: grep-dctrl.c:431 sort-dctrl.c:101 tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "för många utmatningsfält"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "ingen sådan loggnivå"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr ""
 
-#: grep-dctrl.c:557 sort-dctrl.c:117 tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "för många filnamn"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "oväntat slut på påstående"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "oväntat \"!\" på kommandorad"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "oväntad \"-a\" på kommandorad"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "oväntad \"-o\" på kommandorad"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "oväntat \"(\" på kommandorad"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "oväntat \")\" på kommandorad"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr ""
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "saknar \")\" på kommandorad"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Ett mönster är obligatoriskt"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "ett påstående krävs"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "felformulerat påstående"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "för många utmatningsfält"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
 msgstr ""
 "Lägger till \"Beskrivning\" till valda utmatningsfält därför -d angivits"
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr "kan inte ta bort fältnamn vid visning av hela stycken"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Felformulerat filnamn för standardinmatning"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "ägs inte av dig eller root, ignorerar"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "skrivrättigheter för grupp eller övriga, ignorerar"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "läser konfigurationsfil"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "läsfel eller slut på minne"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "syntaxfel: behöver ett namn på körbar fil"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "syntaxfel: behöver ett filnamn för inmatning"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "överväg körbart namn"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "ja, kommer att använda namn på körbar fil"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "standardinmatningsfil"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr "körbart namn hittades inte; läser från standard in"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "NYCKELSPEC"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Ange sorteringsnycklar."
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "ogiltig nyckelflagga"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- sortera Debians kontrollfiler"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "AVGRÄ"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Ange en avgränsare."
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "SPEC"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Lägg till angiven kolumn."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "ogiltig kolumnlängd"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- tabellför Debians kontrollfiler"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
-msgstr "felaktigt flerbytestecken"
\ No newline at end of file
+msgstr "felaktigt flerbytestecken"
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "NYCKELSPEC"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- sortera Debians kontrollfiler"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "standardinmatningsfil"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""
diff --git a/po/vi.po b/po/vi.po
index 0143f36..7418b83 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,401 +1,487 @@
 # Vietnamese translation for DCTRL Tools.
 # Copyright © 2006 Free Software Foundation, Inc.
 # Clytie Siddall <clytie at riverland.net.au>, 2006.
-# 
+#
 msgid ""
-""
-msgstr "Project-Id-Version: dctrl-tools\n"
+msgstr ""
+"Project-Id-Version: dctrl-tools\n"
 "Report-Msgid-Bugs-To: ajk at debian.org\n"
-"POT-Creation-Date: 2006-10-13 20:59+0300\n"
+"POT-Creation-Date: 2010-08-08 12:45+0300\n"
 "PO-Revision-Date: 2006-10-31 14:12+1030\n"
 "Last-Translator: Clytie Siddall <clytie at riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN at googlegroups.com>\n"
+"Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.6fc1\n"
 
-#: misc.c:37
-#, c-format
-msgid "%s: using `%s' as pager\n"
-msgstr "%s:dùng « %s » là bộ dàn trang\n"
-
-#: misc.c:47
-#, c-format
-msgid "%s: popen failed for %s: %s\n"
-msgstr "%s: popen bị lỗi cho %s: %s\n"
-
-#: predicate.c:40
-#: grep-dctrl.c:221
-#: grep-dctrl.c:330
-msgid "predicate is too complex"
-msgstr "vị ngữ quá phức tạp"
-
-#: paragraph.c:116
-msgid "warning: expected a colon"
-msgstr "cảnh báo: trông đợi dấu hai chấm"
-
-#: paragraph.c:123
-msgid "expected a colon"
-msgstr "trông đợi dấu hai chấm"
-
-#: rc.c:66
-msgid "Malformed default input file name"
-msgstr "Tên tập tin nhập mặc định dạng sai"
-
-#: rc.c:79
-msgid "not owned by you or root, ignoring"
-msgstr "không được sở hữu bởi bạn hoặc người chủ nên bỏ qua"
-
-#: rc.c:84
-msgid "write permissions for group or others, ignoring"
-msgstr "quyền ghi cho nhóm hay người khác nên bỏ qua"
-
-#: rc.c:124
-msgid "reading config file"
-msgstr "đang đọc tập tin cấu hình"
-
-#: rc.c:151
-msgid "read failure or out of memory"
-msgstr "lỗi đọc hoặc hết bộ nhớ"
-
-#: rc.c:173
-msgid "syntax error: need a executable name"
-msgstr "lỗi cú pháp: cần có một tên có khả năng chạy"
-
-#: rc.c:181
-msgid "syntax error: need an input file name"
-msgstr "lỗi cú pháp: cần có một tên tập tin nhập"
-
-#: rc.c:186
-msgid "considering executable name"
-msgstr "đang suy tính tên có khả năng chạy"
-
-#: rc.c:188
-msgid "yes, will use executable name"
-msgstr "có phải, sẽ dùng tên có khả năng chạy"
-
-#: rc.c:190
-msgid "default input file"
-msgstr "tập tin nhập mặc định"
-
-#: rc.c:201
-msgid "executable name not found; reading from standard input"
-msgstr "không tìm thấy tên có khả năng chạy nên đang đọc từ thiết bị nhập chuẩn"
-
-#: ifile.c:54
+#: lib/ifile.c:54
 #, c-format
 msgid "%s (child): failed to exec /bin/sh: %s\n"
 msgstr "%s (con): lỗi thực hiện « /bin/sh »: %s\n"
 
-#: ifile.c:100
+#: lib/ifile.c:100
 #, c-format
 msgid "%s: command (%s) failed (exit status %d)\n"
 msgstr "%s: lệnh (%s) bị lỗi (trạng thái thoát %d)\n"
 
-#: ifile.c:109
+#: lib/ifile.c:109
 #, c-format
 msgid "%s: command (%s) was killed by signal %d\n"
 msgstr "%s: lệnh (%s) bị chấm dứt bằng tín hiệu %d\n"
 
-#: ifile.c:127
+#: lib/ifile.c:127
 #, c-format
 msgid "%s: %s: cannot stat: %s\n"
 msgstr "%s: %s: không thể lấy các thông tin: %s\n"
 
-#: ifile.c:138
+#: lib/ifile.c:138
 msgid "is a directory, skipping"
 msgstr "là thư mục nên bỏ qua"
 
-#: ifile.c:139
+#: lib/ifile.c:139
 msgid "is a block device, skipping"
 msgstr "là thiết bị khối nên bỏ qua"
 
-#: ifile.c:140
+#: lib/ifile.c:140
 msgid "internal error"
 msgstr "lá»—i ná»™i bá»™"
 
-#: ifile.c:141
+#: lib/ifile.c:141
 msgid "is a socket, skipping"
 msgstr "là ổ cắm nên bỏ qua"
 
-#: ifile.c:142
+#: lib/ifile.c:142
 msgid "unknown file type, skipping"
 msgstr "kiểu tập tin lạ nên bỏ qua"
 
-#: sorter.c:54
+#: lib/misc.c:37
+#, c-format
+msgid "%s: using `%s' as pager\n"
+msgstr "%s:dùng « %s » là bộ dàn trang\n"
+
+#: lib/misc.c:47
+#, c-format
+msgid "%s: popen failed for %s: %s\n"
+msgstr "%s: popen bị lỗi cho %s: %s\n"
+
+#: lib/paragraph.c:140
+msgid "warning: expected a colon"
+msgstr "cảnh báo: trông đợi dấu hai chấm"
+
+#: lib/paragraph.c:145
+msgid "expected a colon"
+msgstr "trông đợi dấu hai chấm"
+
+#: lib/predicate.c:43 grep-dctrl/grep-dctrl.c:228 grep-dctrl/grep-dctrl.c:343
+msgid "predicate is too complex"
+msgstr "vị ngữ quá phức tạp"
+
+#: lib/sorter.c:49
 msgid "Parse error in field."
 msgstr "Gặp lỗi phân tách trong trường."
 
-#: grep-dctrl.c:47
+#: grep-dctrl/grep-dctrl.c:47
 msgid "grep-dctrl -- grep Debian control files"
 msgstr "grep-dctrl -- grep tập tin điều khiển Debian"
 
-#: grep-dctrl.c:110
+#: grep-dctrl/grep-dctrl.c:110
 msgid "Show the testing banner."
 msgstr "Hiện biểu ngữ thử ra."
 
-#: grep-dctrl.c:112
-#: sort-dctrl.c:39
-#: tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "LEVEL"
 msgstr "CẤP"
 
-#: grep-dctrl.c:112
-#: sort-dctrl.c:39
-#: tbl-dctrl.c:41
+#: grep-dctrl/grep-dctrl.c:112 sort-dctrl/sort-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:42 join-dctrl/join-dctrl.c:45
 msgid "Set debugging level to LEVEL."
 msgstr "Đặt cấp gỡ lỗi thành CẤP."
 
-#: grep-dctrl.c:113
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:113 grep-dctrl/grep-dctrl.c:116
 msgid "FIELD,FIELD,..."
 msgstr "TRƯỜNG,TRƯỜNG,..."
 
-#: grep-dctrl.c:113
+#: grep-dctrl/grep-dctrl.c:113
 msgid "Restrict pattern matching to the FIELDs given."
 msgstr "Hạn chế việc khớp mẫu trong những TRƯỜNG đưa ra"
 
-#: grep-dctrl.c:114
+#: grep-dctrl/grep-dctrl.c:114
 msgid "This is a shorthand for -FPackage."
 msgstr "Đây là tốc ký cho « -FPackage »."
 
-#: grep-dctrl.c:115
+#: grep-dctrl/grep-dctrl.c:115
 msgid "This is a shorthand for -FSource:Package."
 msgstr "Đây là tốc ký cho « -FSource:Package »."
 
-#: grep-dctrl.c:116
+#: grep-dctrl/grep-dctrl.c:116
 msgid "Show only the body of these fields from the matching paragraphs."
 msgstr "Hiển thị chỉ thân của những trường này từ các đoạn văn khớp được."
 
-#: grep-dctrl.c:117
+#: grep-dctrl/grep-dctrl.c:117
 msgid ""
 "Show only the first line of the \"Description\" field from the matching "
 "paragraphs."
-msgstr "Hiển thị chỉ dòng đầu của trường « Mô tả » (Description) từ các đoạn văn khớp được."
+msgstr ""
+"Hiển thị chỉ dòng đầu của trường « Mô tả » (Description) từ các đoạn văn "
+"khớp được."
 
-#: grep-dctrl.c:118
+#: grep-dctrl/grep-dctrl.c:118
 msgid "Suppress field names when showing specified fields."
 msgstr "Thu hồi các tên trường khi hiển thị trường đã xác định."
 
-#: grep-dctrl.c:119
+#: grep-dctrl/grep-dctrl.c:119
 msgid "Regard the pattern as an extended POSIX regular expression."
 msgstr "Xử lý mẫu như là biểu thức chính quy kiểu POSIX đã mở rộng."
 
-#: grep-dctrl.c:120
+#: grep-dctrl/grep-dctrl.c:120
 msgid "The pattern is a standard POSIX regular expression."
 msgstr "Mẫu là biểu thức chính quy kiểu POSIX đã mở rộng."
 
-#: grep-dctrl.c:121
+#: grep-dctrl/grep-dctrl.c:121
 msgid "Ignore case when looking for a match."
 msgstr "Không phân biệt chữ hoa/thường khi tìm điều khớp được."
 
-#: grep-dctrl.c:122
+#: grep-dctrl/grep-dctrl.c:122
 msgid "Show only paragraphs that do not match."
 msgstr "Hiển thị chỉ những đoạn văn không khớp."
 
-#: grep-dctrl.c:123
+#: grep-dctrl/grep-dctrl.c:123
+msgid "Show those fields that have NOT been selected with -s"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:124
 msgid "Show only the count of matching paragraphs."
 msgstr "Hiển thị chỉ tổng số đoạn văn khớp được."
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "FNAME"
 msgstr "TÊN_TẬP_TIN"
 
-#: grep-dctrl.c:124
+#: grep-dctrl/grep-dctrl.c:125
 msgid "Use FNAME as the config file."
 msgstr "Dùng TÊN_TẬP_TIN như là tập tin cấu hình."
 
-#: grep-dctrl.c:125
+#: grep-dctrl/grep-dctrl.c:126
 msgid "Do an exact match."
 msgstr "Khớp chính xác."
 
-#: grep-dctrl.c:126
-#: sort-dctrl.c:38
-#: tbl-dctrl.c:40
+#: grep-dctrl/grep-dctrl.c:127 sort-dctrl/sort-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:41 join-dctrl/join-dctrl.c:44
 msgid "Print out the copyright license."
 msgstr "In ra giấy phép tác quyền."
 
-#: grep-dctrl.c:127
+#: grep-dctrl/grep-dctrl.c:128
 msgid "Conjunct predicates."
 msgstr "Liên kết các vị ngữ với nhau."
 
-#: grep-dctrl.c:128
+#: grep-dctrl/grep-dctrl.c:129
 msgid "Disjunct predicates."
 msgstr "Làm rời ra các vị ngữ."
 
-#: grep-dctrl.c:129
+#: grep-dctrl/grep-dctrl.c:130
 msgid "Negate the following predicate."
 msgstr "Phủ định vị ngữ sau."
 
-#: grep-dctrl.c:130
+#: grep-dctrl/grep-dctrl.c:131
 msgid "Test for version number equality."
 msgstr "Thử ra các số hiệu phiên bản là bằng nhau."
 
-#: grep-dctrl.c:131
+#: grep-dctrl/grep-dctrl.c:132
 msgid "Version number comparison: <."
 msgstr "So sánh số hiệu phiên bản: <."
 
-#: grep-dctrl.c:132
+#: grep-dctrl/grep-dctrl.c:133
 msgid "Version number comparison: <=."
 msgstr "So sánh số hiệu phiên bản: ≤."
 
-#: grep-dctrl.c:133
+#: grep-dctrl/grep-dctrl.c:134
 msgid "Version number comparison: >."
 msgstr "So sánh số hiệu phiên bản: >."
 
-#: grep-dctrl.c:134
+#: grep-dctrl/grep-dctrl.c:135
 msgid "Version number comparison: >=."
 msgstr "So sánh số hiệu phiên bản: ≥."
 
-#: grep-dctrl.c:135
+#: grep-dctrl/grep-dctrl.c:136
 msgid "Debug option parsing."
 msgstr "Gỡ lỗi việc phân tách tùy chọn."
 
-#: grep-dctrl.c:136
-#: grep-dctrl.c:137
+#: grep-dctrl/grep-dctrl.c:137 grep-dctrl/grep-dctrl.c:138
 msgid "Do no output to stdout."
 msgstr "Không xuất ra thiết bị xuất chuẩn."
 
-#: grep-dctrl.c:138
-#: sort-dctrl.c:41
-#: tbl-dctrl.c:42
+#: grep-dctrl/grep-dctrl.c:139 sort-dctrl/sort-dctrl.c:41
+#: tbl-dctrl/tbl-dctrl.c:43 join-dctrl/join-dctrl.c:46
 msgid "Attempt mmapping input files"
 msgstr "Cố gắng mmap các tập tin nhập"
 
-#: grep-dctrl.c:139
+#: grep-dctrl/grep-dctrl.c:140
 msgid "Ignore parse errors"
 msgstr "Bỏ qua lỗi phân tách"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "PATTERN"
 msgstr "MẪU"
 
-#: grep-dctrl.c:140
+#: grep-dctrl/grep-dctrl.c:141
 msgid "Specify the pattern to search for"
 msgstr "Xác định mẫu cần tìm"
 
-#: grep-dctrl.c:298
+#: grep-dctrl/grep-dctrl.c:142
+msgid "Match only whole package names (this implies -e)"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:304
+msgid "file names are not allowed within the predicate"
+msgstr ""
+
+#: grep-dctrl/grep-dctrl.c:311
 msgid "predicate is too long"
 msgstr "vị ngữ quá dài"
 
-#: grep-dctrl.c:357
+#: grep-dctrl/grep-dctrl.c:371
 msgid "inconsistent atom modifiers"
 msgstr "các bộ bổ nghĩa atom không thống nhất"
 
-#: grep-dctrl.c:431
-#: sort-dctrl.c:101
-#: tbl-dctrl.c:280
-msgid "no such log level"
+#: grep-dctrl/grep-dctrl.c:430 grep-dctrl/grep-dctrl.c:835
+#: join-dctrl/join-dctrl.c:113
+msgid "too many output fields"
+msgstr "quá nhiều trường xuất"
+
+#: grep-dctrl/grep-dctrl.c:454 sort-dctrl/sort-dctrl.c:104
+#: tbl-dctrl/tbl-dctrl.c:294 join-dctrl/join-dctrl.c:168
+#, fuzzy, c-format
+msgid "no such log level '%s'"
 msgstr "không có cấp ghi lưu như vậy"
 
-#: grep-dctrl.c:525
+#: grep-dctrl/grep-dctrl.c:548
 msgid "Multiple patterns for the same atom are not allowed"
 msgstr "Không cho phép có nhiều mẫu cho cùng một atom"
 
-#: grep-dctrl.c:557
-#: sort-dctrl.c:117
-#: tbl-dctrl.c:292
+#: grep-dctrl/grep-dctrl.c:586 sort-dctrl/sort-dctrl.c:120
+#: tbl-dctrl/tbl-dctrl.c:306 join-dctrl/join-dctrl.c:180
 msgid "too many file names"
 msgstr "quá nhiều tên tập tin"
 
-#: grep-dctrl.c:646
+#: grep-dctrl/grep-dctrl.c:676
 msgid "unexpected end of predicate"
 msgstr "gặp kết thúc vị ngữ bất thường"
 
-#: grep-dctrl.c:649
+#: grep-dctrl/grep-dctrl.c:679
 msgid "unexpected '!' in command line"
 msgstr "gặp dấu chấm than « ! » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:652
+#: grep-dctrl/grep-dctrl.c:682
 msgid "unexpected '-a' in command line"
 msgstr "gặp « -a » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:655
+#: grep-dctrl/grep-dctrl.c:685
 msgid "unexpected '-o' in command line"
 msgstr "gặp « -o » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:658
+#: grep-dctrl/grep-dctrl.c:688
 msgid "unexpected '(' in command line"
 msgstr "gặp dấu ngoặc mở « ( » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:661
+#: grep-dctrl/grep-dctrl.c:691
 msgid "unexpected ')' in command line"
 msgstr "gặp dấu ngoặc đóng « ) » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:665
+#: grep-dctrl/grep-dctrl.c:695
 msgid "unexpected atom in command line"
 msgstr "gặp atom bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:678
+#: grep-dctrl/grep-dctrl.c:708
 msgid "missing ')' in command line"
 msgstr "thiếu dấu ngoặc đóng « ) » bất thường trên dòng lệnh"
 
-#: grep-dctrl.c:759
+#: grep-dctrl/grep-dctrl.c:817
 msgid "A pattern is mandatory"
 msgstr "Bắt buộc phải có một mẫu"
 
-#: grep-dctrl.c:766
+#: grep-dctrl/grep-dctrl.c:824
 msgid "a predicate is required"
 msgstr "cần thiết một vị ngữ"
 
-#: grep-dctrl.c:771
+#: grep-dctrl/grep-dctrl.c:829
 msgid "malformed predicate"
 msgstr "vị ngữ dạng sai"
 
-#: grep-dctrl.c:777
-msgid "too many output fields"
-msgstr "quá nhiều trường xuất"
-
-#: grep-dctrl.c:781
+#: grep-dctrl/grep-dctrl.c:839
 msgid "Adding \"Description\" to selected output fields because of -d"
-msgstr "Đang thêm « Mô tả » (Description) vào những trường xuất đã chọn do tùy chọn « -d »"
+msgstr ""
+"Đang thêm « Mô tả » (Description) vào những trường xuất đã chọn do tùy chọn "
+"« -d »"
+
+#: grep-dctrl/grep-dctrl.c:847
+msgid "-I requires at least one instance of -s"
+msgstr ""
 
-#: grep-dctrl.c:790
+#: grep-dctrl/grep-dctrl.c:853
 msgid "cannot suppress field names when showing whole paragraphs"
 msgstr "không thể thu hồi các tên trường khi hiển thị toàn bộ đoạn văn"
 
-#: sort-dctrl.c:40
+#: grep-dctrl/rc.c:55
+msgid "Malformed default input file name"
+msgstr "Tên tập tin nhập mặc định dạng sai"
+
+#: grep-dctrl/rc.c:68
+msgid "not owned by you or root, ignoring"
+msgstr "không được sở hữu bởi bạn hoặc người chủ nên bỏ qua"
+
+#: grep-dctrl/rc.c:73
+msgid "write permissions for group or others, ignoring"
+msgstr "quyền ghi cho nhóm hay người khác nên bỏ qua"
+
+#: grep-dctrl/rc.c:113
+msgid "reading config file"
+msgstr "đang đọc tập tin cấu hình"
+
+#: grep-dctrl/rc.c:140
+msgid "read failure or out of memory"
+msgstr "lỗi đọc hoặc hết bộ nhớ"
+
+#: grep-dctrl/rc.c:162
+msgid "syntax error: need a executable name"
+msgstr "lỗi cú pháp: cần có một tên có khả năng chạy"
+
+#: grep-dctrl/rc.c:170
+msgid "syntax error: need an input file name"
+msgstr "lỗi cú pháp: cần có một tên tập tin nhập"
+
+#: grep-dctrl/rc.c:176
+msgid "considering executable name"
+msgstr "đang suy tính tên có khả năng chạy"
+
+#: grep-dctrl/rc.c:179
+msgid "yes, will use executable name"
+msgstr "có phải, sẽ dùng tên có khả năng chạy"
+
+#: grep-dctrl/rc.c:181
+msgid "default input file"
+msgstr "tập tin nhập mặc định"
+
+#: grep-dctrl/rc.c:193
+msgid "executable name not found; reading from standard input"
+msgstr ""
+"không tìm thấy tên có khả năng chạy nên đang đọc từ thiết bị nhập chuẩn"
+
+#: sort-dctrl/sort-dctrl.c:40
 msgid "KEYSPEC"
 msgstr "GHI_RÕ_KHOÁ"
 
-#: sort-dctrl.c:40
+#: sort-dctrl/sort-dctrl.c:40
 msgid "Specify sort keys."
 msgstr "Ghi rõ khoá sắp xếp"
 
-#: sort-dctrl.c:87
+#: sort-dctrl/sort-dctrl.c:88
 msgid "invalid key flag"
 msgstr "cờ khoá không hợp lệ"
 
-#: sort-dctrl.c:137
+#: sort-dctrl/sort-dctrl.c:140
 msgid "sort-dctrl -- sort Debian control files"
 msgstr "sort-dctrl -- sắp xếp các tập tin điều khiển Debian"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "DELIM"
 msgstr "HẠN_CHẾ"
 
-#: tbl-dctrl.c:38
+#: tbl-dctrl/tbl-dctrl.c:38
 msgid "Specify a delimiter."
 msgstr "Ghi rõ một dấu hạn chế."
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:39
+msgid "Do not print a table heading"
+msgstr ""
+
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "SPEC"
 msgstr "GHI_RÕ_CỘT"
 
-#: tbl-dctrl.c:39
+#: tbl-dctrl/tbl-dctrl.c:40
 msgid "Append the specified column."
 msgstr "Phụ thêm cột đã ghi rõ."
 
-#: tbl-dctrl.c:266
+#: tbl-dctrl/tbl-dctrl.c:277
 msgid "invalid column length"
 msgstr "độ dài cột không hợp lệ"
 
-#: tbl-dctrl.c:317
+#: tbl-dctrl/tbl-dctrl.c:331
 msgid "tbl-dctrl -- tabularize Debian control files"
 msgstr "tbl-dctrl -- xếp thành bảng các tập tin điều khiển Debian"
 
-#: tbl-dctrl.c:331
+#: tbl-dctrl/tbl-dctrl.c:346
 msgid "bad multibyte character"
 msgstr "ký tự đa byte sai"
+
+#: join-dctrl/join-dctrl.c:39 join-dctrl/join-dctrl.c:40
+#: join-dctrl/join-dctrl.c:41
+msgid "FIELD"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:39
+msgid "Specify the join field to use for the first file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:40
+msgid "Specify the join field to use for the second file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:41
+msgid "Specify the common join field"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "FIELDNO"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:42
+msgid "Print unpairable records from the indicated file (either 1 or 2)"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:43
+#, fuzzy
+msgid "FIELDSPEC"
+msgstr "GHI_RÕ_KHOÁ"
+
+#: join-dctrl/join-dctrl.c:43
+msgid "Specify the format of the output file"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:81
+msgid "malformed argument to '-a'"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:88
+msgid "the join field of the first file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:89
+msgid "the join field of the second file has already been specified"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:128
+msgid "missing '.' in output field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:146
+msgid "expected either '1.' or '2.' at the start of the field specification"
+msgstr ""
+
+#: join-dctrl/join-dctrl.c:251
+#, fuzzy
+msgid "join-dctrl -- join two Debian control files"
+msgstr "sort-dctrl -- sắp xếp các tập tin điều khiển Debian"
+
+#: join-dctrl/join-dctrl.c:270
+#, fuzzy
+msgid "need exactly two input files"
+msgstr "tập tin nhập mặc định"
+
+#: join-dctrl/join-dctrl.c:295
+msgid "cannot join a stream with itself"
+msgstr ""

-- 
Debian control file query tools



More information about the Dctrl-tools-devel mailing list