Merge commit 'origin/data-encoding'
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 18 Jul 2009 11:20:38 +0000 (13:20 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 18 Jul 2009 11:20:38 +0000 (13:20 +0200)
Conflicts:

src/language/dictionary/split-file.c

34 files changed:
AUTHORS
configure.ac
perl-module/lib/PSPP.pm
po/en_GB.po
po/nl.po
src/data/gnumeric-reader.c
src/data/sys-file-reader.c
src/data/value.h
src/language/command.c
src/language/data-io/data-parser.c
src/language/data-io/print.c
src/language/dictionary/split-file.c
src/language/dictionary/sys-file-info.c
src/language/lexer/lexer.c
src/language/stats/binomial.c
src/language/stats/crosstabs.q
src/language/stats/descriptives.c
src/language/stats/examine.q
src/language/stats/oneway.q
src/language/stats/rank.q
src/language/stats/regression.q
src/language/stats/reliability.q
src/language/stats/t-test.q
src/language/stats/wilcoxon.c
src/language/utilities/set.q
src/math/interaction.c
src/math/linreg.c
src/output/table.c
src/output/table.h
src/ui/gui/about.c
src/ui/gui/psppire.glade
tests/command/get-data-gnm.sh
tests/command/npar-wilcoxon.sh
tests/dissect-sysfile.c

diff --git a/AUTHORS b/AUTHORS
index af7e9075f8da674b0013c55ec974b998ff9db0e8..db7a59105fbe6600eed2136d196ac4e691e710ff 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -6,9 +6,9 @@ most of the core libraries which ensure that PSPP runs with optimal
 speed are his work.
 
 * John Darrington wrote the graphical user interface, and the T-TEST,
-ONEWAY, EXAMINE, RANK and  NPAR TESTS commands, implemented support
-for long variable names, psql and gnumeric and made numerous revisions
-to other modules.   
+ONEWAY, EXAMINE, RANK and NPAR TESTS commands, implemented support for
+long variable names, PostgreSQL and Gnumeric and made numerous
+revisions to other modules.
 
 * Jason Stover contributed statistical and numerical functionality,
 including lib/gslextras and the linear regression features. Jason 
index 7e7a4c6077c23585c036847fc7535dd728a807db..c44fdd565187e1b9f800e51b0adb609f0b99bf90 100644 (file)
@@ -106,7 +106,7 @@ if test x"$with_libpq" != x"no" ; then
 fi
 AM_CONDITIONAL(PSQL_SUPPORT, test -n "$PG_CONFIG")
 
-dnl Checks needed for gnumeric reader
+dnl Checks needed for Gnumeric reader
 gnm_support=yes;
 PKG_CHECK_MODULES(LIBXML2, libxml-2.0,,
                           [PSPP_OPTIONAL_PREREQ([libxml2]); gnm_support=no;]);
index 3cb9f3be48a5f33ecf21591977e1deacb27e09e4..b84c311e21db8526e595208884925b62515149b9 100644 (file)
@@ -249,7 +249,7 @@ An integer denoting the number of decimal places for the format.
 
 =item width
 
-An integer denoting the number of width of the format.
+An integer denoting the width of the format.
 
 =back
 
@@ -510,7 +510,7 @@ values retrieved from a reader.
 
 =head3 PSPP::format_value ($value, $variable)
 
-Returns a scalar containing a string representing C<value> formatted accoring 
+Returns a scalar containing a string representing C<value> formatted according 
 to the print format of C<variable>.
 In the most common ussage,  C<value> should be a value of C<variable>.
 
index 54f873f44f6773d81d37270656e5d114088869a7..6d0a4a7556c090955a7906707ea9bc34db575992 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PSPP 0.7.0\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2009-05-16 07:00+0800\n"
+"POT-Creation-Date: 2009-07-17 15:23+0800\n"
 "PO-Revision-Date: 2008-11-05 08:17+0900\n"
 "Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
 "Language-Team: John Darrington <john@darrington.wattle.id.au>\n"
@@ -49,81 +49,56 @@ msgid ""
 "system-missing, zero, or negative.  These case(s) were ignored."
 msgstr ""
 
-#: src/data/case-tmpfile.c:57
-#, c-format
-msgid "failed to create temporary file"
-msgstr ""
-
-#: src/data/case-tmpfile.c:131
-#, c-format
-msgid "seeking in temporary file"
-msgstr ""
-
-#: src/data/case-tmpfile.c:153
-#, c-format
-msgid "reading temporary file"
-msgstr ""
-
-#: src/data/case-tmpfile.c:155
-#, c-format
-msgid "unexpected end of file reading temporary file"
-msgstr ""
-
-#: src/data/case-tmpfile.c:175
-#, c-format
-msgid "writing to temporary file"
-msgstr ""
-
-#: src/data/data-in.c:262 src/data/data-in.c:452
+#: src/data/data-in.c:263 src/data/data-in.c:453
 msgid "Field contents are not numeric."
 msgstr ""
 
-#: src/data/data-in.c:264 src/data/data-in.c:454
+#: src/data/data-in.c:265 src/data/data-in.c:455
 msgid "Number followed by garbage."
 msgstr ""
 
-#: src/data/data-in.c:275
+#: src/data/data-in.c:276
 msgid "Invalid numeric syntax."
 msgstr ""
 
-#: src/data/data-in.c:284 src/data/data-in.c:467
+#: src/data/data-in.c:285 src/data/data-in.c:468
 msgid "Too-large number set to system-missing."
 msgstr ""
 
-#: src/data/data-in.c:289 src/data/data-in.c:472
+#: src/data/data-in.c:290 src/data/data-in.c:473
 msgid "Too-small number set to zero."
 msgstr ""
 
-#: src/data/data-in.c:315
+#: src/data/data-in.c:316
 msgid "All characters in field must be digits."
 msgstr ""
 
-#: src/data/data-in.c:338
+#: src/data/data-in.c:339
 msgid "Unrecognized character in field."
 msgstr "Unrecognised character in field."
 
-#: src/data/data-in.c:362 src/data/data-in.c:636
+#: src/data/data-in.c:363 src/data/data-in.c:638
 msgid "Field must have even length."
 msgstr ""
 
-#: src/data/data-in.c:367 src/data/data-in.c:647
+#: src/data/data-in.c:368 src/data/data-in.c:649
 msgid "Field must contain only hex digits."
 msgstr ""
 
-#: src/data/data-in.c:686 src/data/data-in.c:733
+#: src/data/data-in.c:688 src/data/data-in.c:735
 msgid "Syntax error in date field."
 msgstr ""
 
-#: src/data/data-in.c:702
+#: src/data/data-in.c:704
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr ""
 
-#: src/data/data-in.c:749
+#: src/data/data-in.c:751
 msgid "Delimiter expected between fields in date."
 msgstr ""
 
-#: src/data/data-in.c:823
+#: src/data/data-in.c:825
 msgid ""
 "Unrecognized month format.  Months may be specified as Arabic or Roman "
 "numerals or as at least 3 letters of their English names."
@@ -131,45 +106,45 @@ msgstr ""
 "Unrecognised month format.  Months may be specified as Arabic or Roman \n"
 "numerals or as at least 3 letters of their English names."
 
-#: src/data/data-in.c:850
+#: src/data/data-in.c:852
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr ""
 
-#: src/data/data-in.c:862
+#: src/data/data-in.c:864
 #, c-format
 msgid "Trailing garbage \"%.*s\" following date."
 msgstr ""
 
-#: src/data/data-in.c:878
+#: src/data/data-in.c:880
 msgid "Julian day must have exactly three digits."
 msgstr ""
 
-#: src/data/data-in.c:883
+#: src/data/data-in.c:885
 #, c-format
 msgid "Julian day (%ld) must be between 1 and 366."
 msgstr ""
 
-#: src/data/data-in.c:907
+#: src/data/data-in.c:909
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr ""
 
-#: src/data/data-in.c:927
+#: src/data/data-in.c:929
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr ""
 
-#: src/data/data-in.c:940
+#: src/data/data-in.c:942
 msgid "Delimiter expected between fields in time."
 msgstr ""
 
-#: src/data/data-in.c:960
+#: src/data/data-in.c:962
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr ""
 
-#: src/data/data-in.c:1000
+#: src/data/data-in.c:1002
 msgid ""
 "Unrecognized weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
@@ -177,32 +152,32 @@ msgstr ""
 "Unrecognised weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
 
-#: src/data/data-in.c:1138
+#: src/data/data-in.c:1140
 #, c-format
 msgid "`%c' expected in date field."
 msgstr ""
 
-#: src/data/data-in.c:1179
+#: src/data/data-in.c:1181
 #, c-format
 msgid "column %d"
 msgstr ""
 
-#: src/data/data-in.c:1181
+#: src/data/data-in.c:1183
 #, c-format
 msgid "columns %d-%d"
 msgstr ""
 
-#: src/data/data-in.c:1185
+#: src/data/data-in.c:1187
 #, c-format
 msgid "%s field) "
 msgstr ""
 
-#: src/data/data-out.c:446
+#: src/data/data-out.c:449
 #, c-format
 msgid "Weekday number %f is not between 1 and 7."
 msgstr ""
 
-#: src/data/data-out.c:467
+#: src/data/data-out.c:470
 #, c-format
 msgid "Month number %f is not between 1 and 12."
 msgstr ""
@@ -219,13 +194,13 @@ msgstr ""
 msgid "scratch"
 msgstr ""
 
-#: src/data/dictionary.c:926
+#: src/data/dictionary.c:940
 msgid ""
 "At least one case in the data file had a weight value that was user-missing, "
 "system-missing, zero, or negative.  These case(s) were ignored."
 msgstr ""
 
-#: src/data/dictionary.c:1228
+#: src/data/dictionary.c:1263
 #, c-format
 msgid "Truncating document line to %d bytes."
 msgstr ""
@@ -322,33 +297,33 @@ msgstr[1] ""
 msgid "%s variables are not compatible with %s format %s."
 msgstr ""
 
-#: src/data/format.c:327 src/data/sys-file-reader.c:657
-#: src/ui/gui/psppire.glade:2034 src/ui/gui/psppire-var-store.c:575
+#: src/data/format.c:327 src/data/sys-file-reader.c:663
+#: src/ui/gui/psppire.glade:2009 src/ui/gui/psppire-var-store.c:584
 #: src/ui/gui/var-sheet-dialogs.glade:139
 msgid "String"
 msgstr ""
 
-#: src/data/format.c:327 src/data/sys-file-reader.c:657
-#: src/ui/gui/psppire.glade:2109 src/ui/gui/psppire-var-store.c:568
+#: src/data/format.c:327 src/data/sys-file-reader.c:663
+#: src/ui/gui/psppire.glade:2084 src/ui/gui/psppire-var-store.c:577
 #: src/ui/gui/var-sheet-dialogs.glade:28
 msgid "Numeric"
 msgstr ""
 
-#: src/data/format.c:328 src/data/sys-file-reader.c:1214
-#: src/data/sys-file-reader.c:1216
+#: src/data/format.c:328 src/data/sys-file-reader.c:1228
+#: src/data/sys-file-reader.c:1230
 #: src/language/dictionary/apply-dictionary.c:78
 #: src/language/dictionary/apply-dictionary.c:79
-#: src/language/xforms/recode.c:489 src/language/xforms/recode.c:490
-#: src/language/xforms/recode.c:502 src/language/xforms/recode.c:503
+#: src/language/xforms/recode.c:490 src/language/xforms/recode.c:491
+#: src/language/xforms/recode.c:503 src/language/xforms/recode.c:504
 msgid "numeric"
 msgstr ""
 
-#: src/data/format.c:328 src/data/sys-file-reader.c:1214
-#: src/data/sys-file-reader.c:1216
+#: src/data/format.c:328 src/data/sys-file-reader.c:1228
+#: src/data/sys-file-reader.c:1230
 #: src/language/dictionary/apply-dictionary.c:78
 #: src/language/dictionary/apply-dictionary.c:79
-#: src/language/xforms/recode.c:489 src/language/xforms/recode.c:490
-#: src/language/xforms/recode.c:502 src/language/xforms/recode.c:503
+#: src/language/xforms/recode.c:490 src/language/xforms/recode.c:491
+#: src/language/xforms/recode.c:503 src/language/xforms/recode.c:504
 msgid "string"
 msgstr ""
 
@@ -357,27 +332,27 @@ msgstr ""
 msgid "String variable with width %d is not compatible with format %s."
 msgstr ""
 
-#: src/data/gnumeric-reader.c:33
+#: src/data/gnumeric-reader.c:36
 msgid ""
 "Support for Gnumeric files was not compiled into this installation of PSPP"
 msgstr ""
 
-#: src/data/gnumeric-reader.c:362
+#: src/data/gnumeric-reader.c:368
 #, c-format
-msgid "Error opening \"%s\" for reading as a gnumeric file: %s."
+msgid "Error opening \"%s\" for reading as a Gnumeric file: %s."
 msgstr ""
 
-#: src/data/gnumeric-reader.c:382
+#: src/data/gnumeric-reader.c:388
 #, c-format
 msgid "Invalid cell range \"%s\""
 msgstr ""
 
-#: src/data/gnumeric-reader.c:518 src/data/psql-reader.c:182
+#: src/data/gnumeric-reader.c:520 src/data/psql-reader.c:187
 #, c-format
 msgid "Cannot create variable name from %s"
 msgstr ""
 
-#: src/data/gnumeric-reader.c:530
+#: src/data/gnumeric-reader.c:532
 #, c-format
 msgid "Selected sheet or range of spreadsheet \"%s\" is empty."
 msgstr ""
@@ -448,118 +423,118 @@ msgstr ""
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/por-file-reader.c:268 src/data/por-file-writer.c:148
+#: src/data/por-file-reader.c:267 src/data/por-file-writer.c:149
 msgid "portable file"
 msgstr ""
 
-#: src/data/por-file-reader.c:276
+#: src/data/por-file-reader.c:275
 #, c-format
 msgid ""
 "An error occurred while opening \"%s\" for reading as a portable file: %s."
 msgstr ""
 
-#: src/data/por-file-reader.c:297
+#: src/data/por-file-reader.c:296
 msgid "Data record expected."
 msgstr ""
 
-#: src/data/por-file-reader.c:379
+#: src/data/por-file-reader.c:378
 msgid "Number expected."
 msgstr ""
 
-#: src/data/por-file-reader.c:407
+#: src/data/por-file-reader.c:406
 msgid "Missing numeric terminator."
 msgstr ""
 
-#: src/data/por-file-reader.c:430
+#: src/data/por-file-reader.c:429
 msgid "Invalid integer."
 msgstr ""
 
-#: src/data/por-file-reader.c:441
+#: src/data/por-file-reader.c:440
 #, c-format
 msgid "Bad string length %d."
 msgstr ""
 
-#: src/data/por-file-reader.c:502
+#: src/data/por-file-reader.c:501
 #, c-format
 msgid "%s: Not a portable file."
 msgstr ""
 
-#: src/data/por-file-reader.c:519
+#: src/data/por-file-reader.c:518
 #, c-format
 msgid "Unrecognized version code `%c'."
 msgstr "Unrecognised version code `%c'."
 
-#: src/data/por-file-reader.c:528
+#: src/data/por-file-reader.c:527
 #, c-format
 msgid "Bad date string length %zu."
 msgstr ""
 
-#: src/data/por-file-reader.c:530
+#: src/data/por-file-reader.c:529
 #, c-format
 msgid "Bad time string length %zu."
 msgstr ""
 
-#: src/data/por-file-reader.c:572
+#: src/data/por-file-reader.c:571
 #, c-format
 msgid ""
 "%s: Bad format specifier byte (%d).  Variable will be assigned a default "
 "format."
 msgstr ""
 
-#: src/data/por-file-reader.c:593
+#: src/data/por-file-reader.c:592
 #, c-format
 msgid "Numeric variable %s has invalid format specifier %s."
 msgstr ""
 
-#: src/data/por-file-reader.c:597
+#: src/data/por-file-reader.c:596
 #, c-format
 msgid "String variable %s with width %d has invalid format specifier %s."
 msgstr ""
 
-#: src/data/por-file-reader.c:621
+#: src/data/por-file-reader.c:620
 msgid "Expected variable count record."
 msgstr ""
 
-#: src/data/por-file-reader.c:625
+#: src/data/por-file-reader.c:624
 #, c-format
 msgid "Invalid number of variables %d."
 msgstr ""
 
-#: src/data/por-file-reader.c:635
+#: src/data/por-file-reader.c:633
 #, c-format
 msgid "Weight variable name (%s) truncated."
 msgstr ""
 
-#: src/data/por-file-reader.c:650
+#: src/data/por-file-reader.c:648
 msgid "Expected variable record."
 msgstr ""
 
-#: src/data/por-file-reader.c:654
+#: src/data/por-file-reader.c:652
 #, c-format
 msgid "Invalid variable width %d."
 msgstr ""
 
-#: src/data/por-file-reader.c:662
+#: src/data/por-file-reader.c:659
 #, c-format
 msgid "Invalid variable name `%s' in position %d."
 msgstr ""
 
-#: src/data/por-file-reader.c:666
+#: src/data/por-file-reader.c:663 src/data/sys-file-reader.c:521
 #, c-format
 msgid "Bad width %d for variable %s."
 msgstr ""
 
-#: src/data/por-file-reader.c:681
+#: src/data/por-file-reader.c:678
 #, c-format
 msgid "Duplicate variable name %s in position %d."
 msgstr ""
 
-#: src/data/por-file-reader.c:682
+#: src/data/por-file-reader.c:679
 #, c-format
 msgid "Duplicate variable name %s in position %d renamed to %s."
 msgstr ""
 
-#: src/data/por-file-reader.c:725
+#: src/data/por-file-reader.c:728
 #, c-format
 msgid "Weighting variable %s not present in dictionary."
 msgstr ""
@@ -575,56 +550,56 @@ msgid ""
 "Cannot assign value labels to %s and %s, which have different variable types."
 msgstr ""
 
-#: src/data/por-file-writer.c:140
+#: src/data/por-file-writer.c:141
 #, c-format
 msgid "Invalid decimal digits count %d.  Treating as %d."
 msgstr ""
 
-#: src/data/por-file-writer.c:160
+#: src/data/por-file-writer.c:161
 #, c-format
 msgid "Error opening \"%s\" for writing as a portable file: %s."
 msgstr ""
 
-#: src/data/por-file-writer.c:500
+#: src/data/por-file-writer.c:506
 #, c-format
 msgid "An I/O error occurred writing portable file \"%s\"."
 msgstr ""
 
-#: src/data/psql-reader.c:42
+#: src/data/psql-reader.c:46
 msgid ""
 "Support for reading postgres databases was not compiled into this "
 "installation of PSPP"
 msgstr ""
 
-#: src/data/psql-reader.c:237
+#: src/data/psql-reader.c:242
 msgid "Memory error whilst opening psql source"
 msgstr ""
 
-#: src/data/psql-reader.c:243
+#: src/data/psql-reader.c:248
 #, c-format
 msgid "Error opening psql source: %s."
 msgstr ""
 
-#: src/data/psql-reader.c:258
+#: src/data/psql-reader.c:263
 #, c-format
 msgid ""
 "Postgres server is version %s. Reading from versions earlier than 8.0 is not "
 "supported."
 msgstr ""
 
-#: src/data/psql-reader.c:278
+#: src/data/psql-reader.c:283
 msgid ""
 "Connection is unencrypted, but unencrypted connections have not been "
 "permitted."
 msgstr ""
 
-#: src/data/psql-reader.c:317 src/data/psql-reader.c:342
-#: src/data/psql-reader.c:352
+#: src/data/psql-reader.c:322 src/data/psql-reader.c:347
+#: src/data/psql-reader.c:357
 #, c-format
 msgid "Error from psql source: %s."
 msgstr ""
 
-#: src/data/psql-reader.c:447
+#: src/data/psql-reader.c:452
 #, c-format
 msgid "Unsupported OID %d.  SYSMIS values will be inserted."
 msgstr ""
@@ -638,11 +613,11 @@ msgstr ""
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/scratch-writer.c:67 src/language/data-io/file-handle.q:181
+#: src/data/scratch-writer.c:66 src/language/data-io/file-handle.q:181
 msgid "scratch file"
 msgstr ""
 
-#: src/data/settings.c:685
+#: src/data/settings.c:686
 #, c-format
 msgid ""
 "%s: Custom currency string `%s' does not contain exactly three periods or "
@@ -655,39 +630,39 @@ msgstr ""
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/sys-file-reader.c:216 src/data/sys-file-writer.c:200
+#: src/data/sys-file-reader.c:219 src/data/sys-file-writer.c:202
 msgid "system file"
 msgstr ""
 
-#: src/data/sys-file-reader.c:223
+#: src/data/sys-file-reader.c:226
 #, c-format
 msgid "Error opening \"%s\" for reading as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:262
+#: src/data/sys-file-reader.c:265
 msgid "Misplaced type 4 record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:273
+#: src/data/sys-file-reader.c:276
 #, c-format
 msgid "Unrecognized record type %d."
 msgstr "Unrecognised record type %d."
 
-#: src/data/sys-file-reader.c:312
+#: src/data/sys-file-reader.c:315
 #, c-format
 msgid "File header claims %d variable positions but %d were read from file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:352
+#: src/data/sys-file-reader.c:355
 #, c-format
 msgid "Error closing system file \"%s\": %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:417 src/data/sys-file-reader.c:427
+#: src/data/sys-file-reader.c:420 src/data/sys-file-reader.c:430
 msgid "This is not an SPSS system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:446
+#: src/data/sys-file-reader.c:449
 msgid ""
 "Compression bias is not the usual value of 100, or system file uses "
 "unrecognized floating-point format."
@@ -695,333 +670,339 @@ msgstr ""
 "Compression bias is not the usual value of 100, or system file uses \n"
 "unrecognised floating-point format."
 
-#: src/data/sys-file-reader.c:514
+#: src/data/sys-file-reader.c:517
 #, c-format
 msgid "Invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:518
-#, c-format
-msgid "Bad variable width %d."
-msgstr ""
-
-#: src/data/sys-file-reader.c:522
+#: src/data/sys-file-reader.c:525
 #, c-format
 msgid "Duplicate variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:530
+#: src/data/sys-file-reader.c:533
 msgid "Variable label indicator field is not 0 or 1."
 msgstr ""
 
-#: src/data/sys-file-reader.c:538
+#: src/data/sys-file-reader.c:541
 #, c-format
 msgid "Variable %s has label of invalid length %zu."
 msgstr ""
 
-#: src/data/sys-file-reader.c:557
+#: src/data/sys-file-reader.c:560
 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:572
+#: src/data/sys-file-reader.c:578
 msgid "String missing value indicator field is not 0, 1, 2, or 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:575
-#, c-format
-msgid ""
-"Ignoring missing values on long string variable %s, which PSPP does not yet "
-"support."
-msgstr ""
-
-#: src/data/sys-file-reader.c:604
+#: src/data/sys-file-reader.c:610
 msgid "Missing string continuation record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:638
+#: src/data/sys-file-reader.c:644
 #, c-format
 msgid "Unknown variable format %<PRIu8>."
 msgstr ""
 
-#: src/data/sys-file-reader.c:656
+#: src/data/sys-file-reader.c:662
 #, c-format
 msgid "%s variable %s has invalid %s format %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:659
+#: src/data/sys-file-reader.c:665
 msgid "print"
 msgstr ""
 
-#: src/data/sys-file-reader.c:659
+#: src/data/sys-file-reader.c:665
 msgid "write"
 msgstr ""
 
-#: src/data/sys-file-reader.c:663
+#: src/data/sys-file-reader.c:669
 msgid "Suppressing further invalid format warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:681
+#: src/data/sys-file-reader.c:687
 msgid "Weighting variable must be numeric."
 msgstr ""
 
-#: src/data/sys-file-reader.c:695
+#: src/data/sys-file-reader.c:701
 msgid "Multiple type 6 (document) records."
 msgstr ""
 
-#: src/data/sys-file-reader.c:699
+#: src/data/sys-file-reader.c:705
 #, c-format
 msgid "Number of document lines (%d) must be greater than 0."
 msgstr ""
 
-#: src/data/sys-file-reader.c:707
+#: src/data/sys-file-reader.c:713
 msgid "Document line contains null byte."
 msgstr ""
 
-#: src/data/sys-file-reader.c:793
-msgid ""
-"Ignoring value labels for long string variables, which PSPP does not yet "
-"support."
-msgstr ""
-
-#: src/data/sys-file-reader.c:798
+#: src/data/sys-file-reader.c:803
 #, c-format
 msgid ""
 "Unrecognized record type 7, subtype %d.  Please send a copy of this file, "
 "and the syntax which created it to %s"
 msgstr ""
 
-#: src/data/sys-file-reader.c:825
+#: src/data/sys-file-reader.c:830
 #, c-format
 msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
 msgstr ""
 
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:850
 #, c-format
 msgid ""
 "Floating-point representation indicated by system file (%d) differs from "
 "expected (%d)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:858
+#: src/data/sys-file-reader.c:863
 msgid "little-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:858
+#: src/data/sys-file-reader.c:863
 msgid "big-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:859
+#: src/data/sys-file-reader.c:864
 #, c-format
 msgid ""
 "Integer format indicated by system file (%s) differs from expected (%s)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:916
+#: src/data/sys-file-reader.c:921
 #, c-format
 msgid "Bad size (%zu) or count (%zu) on extension 4."
 msgstr ""
 
-#: src/data/sys-file-reader.c:920
-#, c-format
-msgid "File specifies unexpected value %g as SYSMIS."
-msgstr ""
-
-#: src/data/sys-file-reader.c:922
-#, c-format
-msgid "File specifies unexpected value %g as HIGHEST."
-msgstr ""
-
-#: src/data/sys-file-reader.c:924
+#: src/data/sys-file-reader.c:925 src/data/sys-file-reader.c:929
+#: src/data/sys-file-reader.c:933
 #, c-format
-msgid "File specifies unexpected value %g as LOWEST."
+msgid "File specifies unexpected value %g as %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:940
+#: src/data/sys-file-reader.c:950
 #, c-format
 msgid "Bad size %zu on extension 11."
 msgstr ""
 
-#: src/data/sys-file-reader.c:952
+#: src/data/sys-file-reader.c:962
 #, c-format
 msgid "Extension 11 has bad count %zu (for %zu variables)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:973
+#: src/data/sys-file-reader.c:983
 #, c-format
 msgid ""
 "Invalid variable display parameters for variable %zu (%s).  Default "
 "parameters substituted."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1017
+#: src/data/sys-file-reader.c:1027
 #, c-format
 msgid "Long variable mapping from %s to invalid variable name `%s'."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1027
+#: src/data/sys-file-reader.c:1037
 #, c-format
 msgid "Duplicate long variable name `%s' within system file."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1080
+#: src/data/sys-file-reader.c:1090
 #, c-format
 msgid "%s listed as string of invalid length %s in very length string record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1090
+#: src/data/sys-file-reader.c:1100
 #, c-format
 msgid ""
 "%s listed in very long string record with width %s, which requires only one "
 "segment."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1096
+#: src/data/sys-file-reader.c:1106
 #, c-format
 msgid "Very long string %s overflows dictionary."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1110
+#: src/data/sys-file-reader.c:1120
 #, c-format
 msgid ""
 "Very long string with width %ld has segment %d of width %d (expected %d)"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1155
+#: src/data/sys-file-reader.c:1166
 #, c-format
 msgid "Invalid number of labels: %d.  Ignoring labels."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1186
+#: src/data/sys-file-reader.c:1197
 msgid ""
 "Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1193
+#: src/data/sys-file-reader.c:1204
 #, c-format
 msgid ""
 "Number of variables associated with a value label (%d) is not between 1 and "
 "the number of variables (%zu)."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1203
+#: src/data/sys-file-reader.c:1215
 #, c-format
-msgid "Value labels are not allowed on long string variables (%s)."
+msgid ""
+"Value labels may not be added to long string variables (e.g. %s) using "
+"records types 3 and 4."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1210
+#: src/data/sys-file-reader.c:1224
 #, c-format
 msgid ""
 "Variables associated with value label are not all of identical type.  "
 "Variable %s is %s, but variable %s is %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1243
+#: src/data/sys-file-reader.c:1258
 #, c-format
 msgid "Duplicate value label for %g on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1246
+#: src/data/sys-file-reader.c:1261 src/data/sys-file-reader.c:1442
 #, c-format
 msgid "Duplicate value label for \"%.*s\" on %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1284
+#: src/data/sys-file-reader.c:1299
 #, c-format
 msgid "Error parsing attribute value %s[%d]"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1298
+#: src/data/sys-file-reader.c:1313
 #, c-format
 msgid "Attribute value %s[%d] is not quoted: %s"
 msgstr ""
 
-#: src/data/sys-file-reader.c:1414
-msgid "File ends in partial case."
+#: src/data/sys-file-reader.c:1376
+#, c-format
+msgid ""
+"Variable name length in long string value label record (%d) exceeds %d-byte "
+"limit."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1386
+#, c-format
+msgid "Ignoring long string value record for unknown variable %s."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1393
+#, c-format
+msgid "Ignoring long string value record for numeric variable %s."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1400
+#, c-format
+msgid ""
+"Ignoring long string value record for variable %s because the record's width "
+"(%d) does not match the variable's width (%d)"
 msgstr ""
 
 #: src/data/sys-file-reader.c:1422
 #, c-format
+msgid ""
+"Ignoring long string value %zu for variable %s, with width %d, that has bad "
+"value width %zu."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1537
+msgid "File ends in partial case."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1545
+#, c-format
 msgid "Error reading case from file %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1519 src/data/sys-file-reader.c:1555
+#: src/data/sys-file-reader.c:1642 src/data/sys-file-reader.c:1678
 msgid "Compressed data is corrupt."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1642
+#: src/data/sys-file-reader.c:1765
 #, c-format
 msgid "Variable index %d not in valid range 1...%d."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1647
+#: src/data/sys-file-reader.c:1770
 #, c-format
 msgid "Variable index %d refers to long string continuation."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1715
+#: src/data/sys-file-reader.c:1838
 #, c-format
 msgid "Suppressed %d additional related warnings."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1756
+#: src/data/sys-file-reader.c:1879
 #, c-format
 msgid "Variable map refers to unknown variable %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1864
+#: src/data/sys-file-reader.c:1987
 #, c-format
 msgid "System error: %s."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1866
+#: src/data/sys-file-reader.c:1989
 msgid "Unexpected end of file."
 msgstr ""
 
-#: src/data/sys-file-writer.c:173
+#: src/data/sys-file-writer.c:175
 #, c-format
 msgid "Unknown system file version %d. Treating as version %d."
 msgstr ""
 
-#: src/data/sys-file-writer.c:212
+#: src/data/sys-file-writer.c:214
 #, c-format
 msgid "Error opening \"%s\" for writing as a system file: %s."
 msgstr ""
 
-#: src/data/sys-file-writer.c:837
+#: src/data/sys-file-writer.c:917
 #, c-format
 msgid "An I/O error occurred writing system file \"%s\"."
 msgstr ""
 
-#: src/data/variable.c:240
+#: src/data/variable.c:242
 #, c-format
 msgid ""
 "Character `%c' (in %s) may not appear as the first character in a variable "
 "name."
 msgstr ""
 
-#: src/data/variable.c:252
+#: src/data/variable.c:254
 #, c-format
 msgid "Character `%c' (in %s) may not appear in a variable name."
 msgstr ""
 
-#: src/data/variable.c:280
+#: src/data/variable.c:282
 msgid "Variable name cannot be empty string."
 msgstr ""
 
-#: src/data/variable.c:286
+#: src/data/variable.c:288
 #, c-format
 msgid "Variable name %s exceeds %d-character limit."
 msgstr ""
 
-#: src/data/variable.c:294
+#: src/data/variable.c:296
 #, c-format
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 
-#: src/language/command.c:208
+#: src/language/command.c:208 src/language/expressions/parse.c:1267
 #, c-format
-msgid "%s is unimplemented."
+msgid "%s is not yet implemented."
 msgstr ""
 
 #: src/language/command.c:214
@@ -1295,7 +1276,7 @@ msgid ""
 "name."
 msgstr ""
 
-#: src/language/data-io/combine-files.c:757
+#: src/language/data-io/combine-files.c:762
 #, c-format
 msgid "Encountered %zu sets of duplicate cases in the master file."
 msgstr ""
@@ -1376,7 +1357,7 @@ msgstr ""
 #: src/language/dictionary/split-file.c:84
 #: src/language/dictionary/sys-file-info.c:169
 #: src/language/dictionary/sys-file-info.c:393
-#: src/language/dictionary/sys-file-info.c:716
+#: src/language/dictionary/sys-file-info.c:725
 #: src/language/stats/descriptives.c:885 src/ui/gui/psppire-dictview.c:502
 msgid "Variable"
 msgstr ""
@@ -1386,8 +1367,8 @@ msgid "Record"
 msgstr ""
 
 #: src/language/data-io/data-parser.c:646 src/language/data-io/print.c:405
-#: src/ui/gui/crosstabs.glade:92 src/ui/gui/psppire-var-sheet.c:545
-#: src/ui/gui/psppire-var-store.c:791
+#: src/ui/gui/crosstabs.glade:92 src/ui/gui/psppire-var-sheet.c:534
+#: src/ui/gui/psppire-var-store.c:800
 msgid "Columns"
 msgstr ""
 
@@ -1591,19 +1572,19 @@ msgid ""
 "specified on FIXCASE, %d."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:129
+#: src/language/data-io/inpt-pgm.c:130
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:142
+#: src/language/data-io/inpt-pgm.c:143
 msgid "Input program did not create any variables."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:286
+#: src/language/data-io/inpt-pgm.c:288
 msgid "COLUMN subcommand multiply specified."
 msgstr ""
 
-#: src/language/data-io/inpt-pgm.c:336
+#: src/language/data-io/inpt-pgm.c:338
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
@@ -1689,21 +1670,21 @@ msgstr ""
 msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
 msgstr ""
 
-#: src/language/data-io/print.c:436
+#: src/language/data-io/print.c:437
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print.c:440
+#: src/language/data-io/print.c:441
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:479
+#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:478
 #: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:60
 msgid "expecting end of command"
 msgstr ""
@@ -1760,18 +1741,7 @@ msgstr ""
 msgid "Variable %s is %s in target file, but %s in source file."
 msgstr ""
 
-#: src/language/dictionary/apply-dictionary.c:99
-#, c-format
-msgid "Cannot add value labels from source file to long string variable %s."
-msgstr ""
-
-#: src/language/dictionary/apply-dictionary.c:113
-#, c-format
-msgid ""
-"Cannot apply missing values from source file to long string variable %s."
-msgstr ""
-
-#: src/language/dictionary/apply-dictionary.c:129
+#: src/language/dictionary/apply-dictionary.c:115
 msgid "No matching variables found between the source and target files."
 msgstr ""
 
@@ -1815,12 +1785,12 @@ msgid ""
 "a single list."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:117
+#: src/language/dictionary/missing-values.c:116
 #, c-format
-msgid "Truncating missing value to short string length (%d characters)."
+msgid "Truncating missing value to maximum acceptable length (%d bytes)."
 msgstr ""
 
-#: src/language/dictionary/missing-values.c:139
+#: src/language/dictionary/missing-values.c:138
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
@@ -1937,21 +1907,21 @@ msgid "Renaming would duplicate variable name %s."
 msgstr ""
 
 #: src/language/dictionary/split-file.c:85
-#: src/language/dictionary/sys-file-info.c:487
-#: src/language/dictionary/sys-file-info.c:636
-#: src/language/stats/crosstabs.q:1167 src/language/stats/crosstabs.q:1194
-#: src/language/stats/crosstabs.q:1214 src/language/stats/crosstabs.q:1236
-#: src/language/stats/examine.q:1958 src/language/stats/frequencies.q:1059
-#: src/language/stats/frequencies.q:1184 src/language/stats/reliability.q:581
-#: src/language/stats/reliability.q:592
+#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:641
+#: src/language/stats/crosstabs.q:1231 src/language/stats/crosstabs.q:1258
+#: src/language/stats/crosstabs.q:1282 src/language/stats/crosstabs.q:1307
+#: src/language/stats/examine.q:1959 src/language/stats/frequencies.q:1048
+#: src/language/stats/frequencies.q:1173 src/language/stats/reliability.q:582
+#: src/language/stats/reliability.q:593
 msgid "Value"
 msgstr ""
 
 #: src/language/dictionary/split-file.c:86
 #: src/language/dictionary/sys-file-info.c:397
-#: src/language/dictionary/sys-file-info.c:637 src/ui/gui/crosstabs.glade:275
-#: src/ui/gui/psppire.glade:1999 src/ui/gui/psppire-var-sheet.c:542
-#: src/ui/gui/psppire-var-store.c:788
+#: src/language/dictionary/sys-file-info.c:642 src/ui/gui/crosstabs.glade:275
+#: src/ui/gui/psppire.glade:1974 src/ui/gui/psppire-var-sheet.c:531
+#: src/ui/gui/psppire-var-store.c:797
 msgid "Label"
 msgstr ""
 
@@ -1959,7 +1929,7 @@ msgstr ""
 msgid "File:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:115 src/ui/gui/psppire.glade:1938
+#: src/language/dictionary/sys-file-info.c:115 src/ui/gui/psppire.glade:1913
 #: src/ui/gui/recode.glade:841
 msgid "Label:"
 msgstr ""
@@ -2071,7 +2041,7 @@ msgstr ""
 
 #: src/language/dictionary/sys-file-info.c:171
 #: src/language/dictionary/sys-file-info.c:399
-#: src/language/dictionary/sys-file-info.c:715
+#: src/language/dictionary/sys-file-info.c:724
 msgid "Position"
 msgstr ""
 
@@ -2099,16 +2069,16 @@ msgstr ""
 msgid "Documents in the active file:"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:485
 msgid "Attribute"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:544
+#: src/language/dictionary/sys-file-info.c:543
 #, c-format
 msgid "Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:551
+#: src/language/dictionary/sys-file-info.c:550
 #, c-format
 msgid "Print Format: %s"
 msgstr ""
@@ -2118,87 +2088,72 @@ msgstr ""
 msgid "Write Format: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:566
+#: src/language/dictionary/sys-file-info.c:567
 #, c-format
 msgid "Measure: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:567
+#: src/language/dictionary/sys-file-info.c:568
 #: src/ui/gui/psppire-var-sheet.c:111
 msgid "Nominal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:568
+#: src/language/dictionary/sys-file-info.c:569
 #: src/ui/gui/psppire-var-sheet.c:112
 msgid "Ordinal"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:569
+#: src/language/dictionary/sys-file-info.c:570
 #: src/ui/gui/psppire-var-sheet.c:113
 msgid "Scale"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:572
+#: src/language/dictionary/sys-file-info.c:573
 #, c-format
 msgid "Display Alignment: %s"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:573
+#: src/language/dictionary/sys-file-info.c:574
 #: src/ui/gui/psppire-var-sheet.c:104
 msgid "Left"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:574
+#: src/language/dictionary/sys-file-info.c:575
 #: src/ui/gui/psppire-var-sheet.c:106
 msgid "Center"
 msgstr "Centre"
 
-#: src/language/dictionary/sys-file-info.c:575
+#: src/language/dictionary/sys-file-info.c:576
 #: src/ui/gui/psppire-var-sheet.c:105
 msgid "Right"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:578
+#: src/language/dictionary/sys-file-info.c:579
 #, c-format
 msgid "Display Width: %d"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:590
+#: src/language/dictionary/sys-file-info.c:593
 msgid "Missing Values: "
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:693
+#: src/language/dictionary/sys-file-info.c:702
 msgid "No vectors defined."
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:714
+#: src/language/dictionary/sys-file-info.c:723
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:717
+#: src/language/dictionary/sys-file-info.c:726
 msgid "Print Format"
 msgstr ""
 
-#: src/language/dictionary/value-labels.c:121
-#, c-format
-msgid ""
-"It is not possible to assign value labels to long string variables such as %"
-"s."
-msgstr ""
-
-#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:632
-msgid "expecting string"
-msgstr ""
-
-#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:659
-msgid "expecting number"
-msgstr ""
-
-#: src/language/dictionary/value-labels.c:182
+#: src/language/dictionary/value-labels.c:150
 msgid "Truncating value label to 60 characters."
 msgstr ""
 
-#: src/language/dictionary/variable-display.c:119
+#: src/language/dictionary/variable-display.c:120
 msgid "Variable display width must be a positive integer."
 msgstr ""
 
@@ -2250,11 +2205,11 @@ msgstr ""
 msgid "The weighting variable may not be scratch."
 msgstr ""
 
-#: src/language/expressions/evaluate.c:154
+#: src/language/expressions/evaluate.c:155
 msgid "expecting number or string"
 msgstr ""
 
-#: src/language/expressions/evaluate.c:168
+#: src/language/expressions/evaluate.c:169
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr ""
@@ -2421,11 +2376,6 @@ msgstr ""
 msgid "%s is a PSPP extension."
 msgstr ""
 
-#: src/language/expressions/parse.c:1267
-#, c-format
-msgid "%s is not yet implemented."
-msgstr ""
-
 #: src/language/expressions/parse.c:1273
 #, c-format
 msgid "%s may not appear after TEMPORARY."
@@ -2446,107 +2396,110 @@ msgstr ""
 
 #: src/language/lexer/lexer.c:389
 #, c-format
-msgid "Bad character in input: `%c'."
+msgid "Bad character in input: `%s'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:391
-#, c-format
-msgid "Bad character in input: `\\%o'."
-msgstr ""
-
-#: src/language/lexer/lexer.c:427
+#: src/language/lexer/lexer.c:426
 #, c-format
 msgid "Subcommand %s may only be specified once."
 msgstr ""
 
-#: src/language/lexer/lexer.c:435
+#: src/language/lexer/lexer.c:434
 #, c-format
 msgid "missing required subcommand %s"
 msgstr ""
 
-#: src/language/lexer/lexer.c:464
+#: src/language/lexer/lexer.c:463
 #, c-format
 msgid "Syntax error %s at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:467
+#: src/language/lexer/lexer.c:466
 #, c-format
 msgid "Syntax error at %s."
 msgstr ""
 
-#: src/language/lexer/lexer.c:601 src/language/lexer/lexer.c:618
+#: src/language/lexer/lexer.c:600 src/language/lexer/lexer.c:617
 #, c-format
 msgid "expecting `%s'"
 msgstr ""
 
-#: src/language/lexer/lexer.c:646
+#: src/language/lexer/lexer.c:631
+msgid "expecting string"
+msgstr ""
+
+#: src/language/lexer/lexer.c:645
 msgid "expecting integer"
 msgstr ""
 
-#: src/language/lexer/lexer.c:671
+#: src/language/lexer/lexer.c:658
+msgid "expecting number"
+msgstr ""
+
+#: src/language/lexer/lexer.c:670
 msgid "expecting identifier"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1065
+#: src/language/lexer/lexer.c:1064
 msgid "binary"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1070
+#: src/language/lexer/lexer.c:1069
 msgid "octal"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1075
+#: src/language/lexer/lexer.c:1074
 msgid "hex"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1085
+#: src/language/lexer/lexer.c:1084
 #, c-format
 msgid "String of %s digits has %zu characters, which is not a multiple of %d."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1114
+#: src/language/lexer/lexer.c:1113
 #, c-format
 msgid "`%c' is not a valid %s digit."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1148
+#: src/language/lexer/lexer.c:1147
 msgid "Unterminated string constant."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1202
+#: src/language/lexer/lexer.c:1201
 msgid "Unexpected end of file in string concatenation."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1210
+#: src/language/lexer/lexer.c:1209
 msgid "String expected following `+'."
 msgstr ""
 
-#: src/language/lexer/lexer.c:1223
+#: src/language/lexer/lexer.c:1222
 #, c-format
 msgid "String exceeds 255 characters in length (%zu characters)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:60
+#: src/language/lexer/value-parser.c:60
 #, c-format
 msgid ""
 "Low end of range (%g) is below high end (%g).  The range will be treated as "
 "reversed."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:68
+#: src/language/lexer/value-parser.c:68
 #, c-format
 msgid "Ends of range are equal (%g)."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:76
+#: src/language/lexer/value-parser.c:76
 msgid "LO or LOWEST must be part of a range."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:108
+#: src/language/lexer/value-parser.c:108
 msgid "System-missing value is not valid here."
 msgstr ""
 
-#: src/language/lexer/range-parser.c:116
+#: src/language/lexer/value-parser.c:116
 msgid "expecting number or data string"
 msgstr ""
 
@@ -2693,392 +2646,388 @@ msgstr ""
 msgid "Duplicate variable name %s among target variables."
 msgstr ""
 
-#: src/language/stats/binomial.c:142
+#: src/language/stats/binomial.c:141
 #, c-format
 msgid "Variable %s is not dichotomous"
 msgstr ""
 
-#: src/language/stats/binomial.c:207
+#: src/language/stats/binomial.c:194
 msgid "Binomial Test"
 msgstr ""
 
-#: src/language/stats/binomial.c:238
+#: src/language/stats/binomial.c:224
 msgid "Group1"
 msgstr ""
 
-#: src/language/stats/binomial.c:239
+#: src/language/stats/binomial.c:225
 msgid "Group2"
 msgstr ""
 
-#: src/language/stats/binomial.c:240 src/language/stats/chisquare.c:224
-#: src/language/stats/chisquare.c:284 src/language/stats/crosstabs.q:868
-#: src/language/stats/crosstabs.q:1074 src/language/stats/crosstabs.q:1797
-#: src/language/stats/examine.q:1214 src/language/stats/frequencies.q:1136
-#: src/language/stats/oneway.q:305 src/language/stats/oneway.q:475
-#: src/language/stats/regression.q:309 src/language/stats/reliability.q:717
-#: src/language/stats/sign.c:93 src/language/stats/wilcoxon.c:246
+#: src/language/stats/binomial.c:226 src/language/stats/chisquare.c:202
+#: src/language/stats/chisquare.c:262 src/language/stats/crosstabs.q:843
+#: src/language/stats/crosstabs.q:1170 src/language/stats/crosstabs.q:1594
+#: src/language/stats/examine.q:1216 src/language/stats/frequencies.q:1125
+#: src/language/stats/oneway.q:305 src/language/stats/oneway.q:476
+#: src/language/stats/regression.q:309 src/language/stats/reliability.q:718
+#: src/language/stats/sign.c:94 src/language/stats/wilcoxon.c:262
 #: src/ui/gui/crosstabs-dialog.c:59
 msgid "Total"
 msgstr ""
 
-#: src/language/stats/binomial.c:273 src/language/stats/chisquare.c:247
-#: src/language/stats/crosstabs.q:1192 src/language/stats/crosstabs.q:1233
+#: src/language/stats/binomial.c:259 src/language/stats/chisquare.c:225
+#: src/language/stats/crosstabs.q:1256 src/language/stats/crosstabs.q:1304
 msgid "Category"
 msgstr ""
 
-#: src/language/stats/binomial.c:274 src/language/stats/crosstabs.q:878
-#: src/language/stats/examine.q:1287 src/language/stats/frequencies.q:1407
+#: src/language/stats/binomial.c:260 src/language/stats/crosstabs.q:850
+#: src/language/stats/examine.q:1289 src/language/stats/frequencies.q:1396
 #: src/language/stats/npar-summary.c:123 src/language/stats/oneway.q:389
-#: src/language/stats/reliability.q:720 src/language/stats/sign.c:73
-#: src/language/stats/t-test.q:700 src/language/stats/t-test.q:724
-#: src/language/stats/t-test.q:863 src/language/stats/t-test.q:1425
-#: src/language/stats/wilcoxon.c:229
+#: src/language/stats/reliability.q:721 src/language/stats/sign.c:74
+#: src/language/stats/t-test.q:506 src/language/stats/t-test.q:526
+#: src/language/stats/t-test.q:626 src/language/stats/t-test.q:1105
+#: src/language/stats/wilcoxon.c:245
 msgid "N"
 msgstr ""
 
-#: src/language/stats/binomial.c:275
+#: src/language/stats/binomial.c:261
 msgid "Observed Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:276
+#: src/language/stats/binomial.c:262
 msgid "Test Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:279
+#: src/language/stats/binomial.c:265
 #, c-format
 msgid "Exact Sig. (%d-tailed)"
 msgstr ""
 
-#: src/language/stats/chisquare.c:194
+#: src/language/stats/chisquare.c:172
 #, c-format
 msgid ""
 "CHISQUARE test specified %d expected values, but %d distinct values were "
 "encountered in variable %s."
 msgstr ""
 
-#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
+#: src/language/stats/chisquare.c:186 src/language/stats/chisquare.c:226
 msgid "Observed N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:209 src/language/stats/chisquare.c:249
+#: src/language/stats/chisquare.c:187 src/language/stats/chisquare.c:227
 msgid "Expected N"
 msgstr ""
 
-#: src/language/stats/chisquare.c:210 src/language/stats/chisquare.c:250
+#: src/language/stats/chisquare.c:188 src/language/stats/chisquare.c:228
 #: src/language/stats/regression.q:308 src/ui/gui/crosstabs-dialog.c:61
 msgid "Residual"
 msgstr ""
 
-#: src/language/stats/chisquare.c:243 src/language/stats/sign.c:61
+#: src/language/stats/chisquare.c:221 src/language/stats/sign.c:62
 msgid "Frequencies"
 msgstr ""
 
-#: src/language/stats/chisquare.c:298 src/language/stats/sign.c:114
-#: src/language/stats/wilcoxon.c:297
+#: src/language/stats/chisquare.c:276 src/language/stats/sign.c:115
+#: src/language/stats/wilcoxon.c:313
 msgid "Test Statistics"
 msgstr ""
 
-#: src/language/stats/chisquare.c:312
+#: src/language/stats/chisquare.c:290
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:313 src/language/stats/crosstabs.q:1168
-#: src/language/stats/oneway.q:278 src/language/stats/oneway.q:689
-#: src/language/stats/regression.q:302 src/language/stats/t-test.q:1026
-#: src/language/stats/t-test.q:1219 src/language/stats/t-test.q:1316
+#: src/language/stats/chisquare.c:291 src/language/stats/crosstabs.q:1232
+#: src/language/stats/oneway.q:278 src/language/stats/oneway.q:691
+#: src/language/stats/regression.q:302 src/language/stats/t-test.q:753
+#: src/language/stats/t-test.q:924 src/language/stats/t-test.q:1011
 msgid "df"
 msgstr ""
 
-#: src/language/stats/chisquare.c:314
+#: src/language/stats/chisquare.c:292
 msgid "Asymp. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:278
+#: src/language/stats/crosstabs.q:325
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:288
-msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
-msgstr ""
-
-#: src/language/stats/crosstabs.q:364
+#: src/language/stats/crosstabs.q:414
 msgid "Too many cross-tabulation variables or dimensions."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:374
+#: src/language/stats/crosstabs.q:424
 msgid "expecting BY"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:441
+#: src/language/stats/crosstabs.q:484
 msgid "VARIABLES must be specified before TABLES."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:479
+#: src/language/stats/crosstabs.q:522
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:863
+#: src/language/stats/crosstabs.q:838
 msgid "Summary."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:865 src/language/stats/examine.q:1275
-#: src/language/stats/reliability.q:708
+#: src/language/stats/crosstabs.q:840 src/language/stats/examine.q:1277
+#: src/language/stats/reliability.q:709
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:866 src/language/stats/examine.q:1212
-#: src/language/stats/frequencies.q:1057 src/language/stats/frequencies.q:1408
-#: src/language/stats/reliability.q:711
+#: src/language/stats/crosstabs.q:841 src/language/stats/examine.q:1214
+#: src/language/stats/frequencies.q:1046 src/language/stats/frequencies.q:1397
+#: src/language/stats/reliability.q:712
 msgid "Valid"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:867 src/language/stats/examine.q:1213
-#: src/language/stats/frequencies.q:1127 src/language/stats/frequencies.q:1409
-#: src/ui/gui/psppire-var-sheet.c:544 src/ui/gui/psppire-var-store.c:790
+#: src/language/stats/crosstabs.q:842 src/language/stats/examine.q:1215
+#: src/language/stats/frequencies.q:1116 src/language/stats/frequencies.q:1398
+#: src/ui/gui/psppire-var-sheet.c:533 src/ui/gui/psppire-var-store.c:799
 msgid "Missing"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:879 src/language/stats/examine.q:1290
-#: src/language/stats/frequencies.q:1061 src/language/stats/frequencies.q:1062
-#: src/language/stats/frequencies.q:1063
+#: src/language/stats/crosstabs.q:851 src/language/stats/examine.q:1292
+#: src/language/stats/frequencies.q:1050 src/language/stats/frequencies.q:1051
+#: src/language/stats/frequencies.q:1052
 msgid "Percent"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1126
+#: src/language/stats/crosstabs.q:1131
 msgid "count"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1127
+#: src/language/stats/crosstabs.q:1132
 msgid "row %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1128
+#: src/language/stats/crosstabs.q:1133
 msgid "column %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1129
+#: src/language/stats/crosstabs.q:1134
 msgid "total %"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1130
+#: src/language/stats/crosstabs.q:1135
 msgid "expected"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1131
+#: src/language/stats/crosstabs.q:1136
 msgid "residual"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1132
+#: src/language/stats/crosstabs.q:1137
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1138
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1227
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1193
-#: src/language/stats/crosstabs.q:1213 src/language/stats/crosstabs.q:1234
-#: src/language/stats/examine.q:1752 src/ui/gui/checkbox-treeview.c:92
+#: src/language/stats/crosstabs.q:1230 src/language/stats/crosstabs.q:1257
+#: src/language/stats/crosstabs.q:1281 src/language/stats/crosstabs.q:1305
+#: src/language/stats/examine.q:1753 src/ui/gui/checkbox-treeview.c:92
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1170
+#: src/language/stats/crosstabs.q:1234
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1172
-msgid "Exact. Sig. (2-sided)"
+#: src/language/stats/crosstabs.q:1236
+msgid "Exact Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1174
-msgid "Exact. Sig. (1-sided)"
+#: src/language/stats/crosstabs.q:1238
+msgid "Exact Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1253
 msgid "Symmetric measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1195 src/language/stats/crosstabs.q:1237
+#: src/language/stats/crosstabs.q:1259 src/language/stats/crosstabs.q:1308
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1196 src/language/stats/crosstabs.q:1238
+#: src/language/stats/crosstabs.q:1260 src/language/stats/crosstabs.q:1309
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1197 src/language/stats/crosstabs.q:1239
+#: src/language/stats/crosstabs.q:1261 src/language/stats/crosstabs.q:1310
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1208
+#: src/language/stats/crosstabs.q:1276
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1212
+#: src/language/stats/crosstabs.q:1280
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1215 src/language/stats/t-test.q:1030
-#: src/language/stats/t-test.q:1216 src/language/stats/t-test.q:1319
+#: src/language/stats/crosstabs.q:1283 src/language/stats/t-test.q:757
+#: src/language/stats/t-test.q:921 src/language/stats/t-test.q:1014
 msgid "Lower"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1216 src/language/stats/t-test.q:1031
-#: src/language/stats/t-test.q:1217 src/language/stats/t-test.q:1320
+#: src/language/stats/crosstabs.q:1284 src/language/stats/t-test.q:758
+#: src/language/stats/t-test.q:922 src/language/stats/t-test.q:1015
 msgid "Upper"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1230
+#: src/language/stats/crosstabs.q:1301
 msgid "Directional measures."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1235 src/ui/gui/psppire.glade:2124
-#: src/ui/gui/psppire-var-sheet.c:539 src/ui/gui/psppire-var-store.c:785
+#: src/language/stats/crosstabs.q:1306 src/ui/gui/psppire.glade:2099
+#: src/ui/gui/psppire-var-sheet.c:528 src/ui/gui/psppire-var-store.c:794
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1991
+#: src/language/stats/crosstabs.q:1774
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992
+#: src/language/stats/crosstabs.q:1775
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993
+#: src/language/stats/crosstabs.q:1776
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1777
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:1778
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2105
-#: src/language/stats/crosstabs.q:2167
+#: src/language/stats/crosstabs.q:1813 src/language/stats/crosstabs.q:1888
+#: src/language/stats/crosstabs.q:1953
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2051 src/language/stats/crosstabs.q:2183
+#: src/language/stats/crosstabs.q:1832 src/language/stats/crosstabs.q:1971
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2052 src/language/stats/crosstabs.q:2184
+#: src/language/stats/crosstabs.q:1833 src/language/stats/crosstabs.q:1972
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2053
+#: src/language/stats/crosstabs.q:1834
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2054
+#: src/language/stats/crosstabs.q:1835
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2059 src/ui/gui/crosstabs-dialog.c:41
+#: src/language/stats/crosstabs.q:1840 src/ui/gui/crosstabs-dialog.c:41
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2060
+#: src/language/stats/crosstabs.q:1841
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2061
+#: src/language/stats/crosstabs.q:1842
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2062
+#: src/language/stats/crosstabs.q:1843
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2063
+#: src/language/stats/crosstabs.q:1844
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2064 src/ui/gui/crosstabs-dialog.c:48
+#: src/language/stats/crosstabs.q:1845 src/ui/gui/crosstabs-dialog.c:48
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2065
+#: src/language/stats/crosstabs.q:1846
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2066
+#: src/language/stats/crosstabs.q:1847
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2067 src/ui/gui/crosstabs-dialog.c:50
+#: src/language/stats/crosstabs.q:1848 src/ui/gui/crosstabs-dialog.c:50
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2140
+#: src/language/stats/crosstabs.q:1926
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2143
+#: src/language/stats/crosstabs.q:1929
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2151
+#: src/language/stats/crosstabs.q:1937
 #, c-format
 msgid "For cohort %s = %g"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2154
+#: src/language/stats/crosstabs.q:1940
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2185
+#: src/language/stats/crosstabs.q:1973
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2190 src/ui/gui/crosstabs-dialog.c:43
+#: src/language/stats/crosstabs.q:1978 src/ui/gui/crosstabs-dialog.c:43
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2191
+#: src/language/stats/crosstabs.q:1979
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2192
+#: src/language/stats/crosstabs.q:1980
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2193
+#: src/language/stats/crosstabs.q:1981
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2194 src/ui/gui/crosstabs-dialog.c:51
+#: src/language/stats/crosstabs.q:1982 src/ui/gui/crosstabs-dialog.c:51
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2199
+#: src/language/stats/crosstabs.q:1987
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2200 src/language/stats/crosstabs.q:2201
+#: src/language/stats/crosstabs.q:1988 src/language/stats/crosstabs.q:1989
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1557
+#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1559
 #: src/language/stats/frequencies.q:123 src/language/stats/npar-summary.c:126
-#: src/language/stats/oneway.q:390 src/language/stats/t-test.q:701
-#: src/language/stats/t-test.q:725 src/language/stats/t-test.q:862
-#: src/language/stats/t-test.q:1213 src/ui/gui/descriptives-dialog.c:39
+#: src/language/stats/oneway.q:390 src/language/stats/t-test.q:507
+#: src/language/stats/t-test.q:527 src/language/stats/t-test.q:625
+#: src/language/stats/t-test.q:918 src/ui/gui/descriptives-dialog.c:39
 #: src/ui/gui/frequencies-dialog.c:40
 msgid "Mean"
 msgstr ""
@@ -3091,13 +3040,13 @@ msgstr ""
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1588
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1589
 #: src/language/stats/frequencies.q:128 src/ui/gui/descriptives-dialog.c:46
 #: src/ui/gui/frequencies-dialog.c:45
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1624
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1625
 #: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:47
 #: src/ui/gui/frequencies-dialog.c:50
 msgid "Kurtosis"
@@ -3107,7 +3056,7 @@ msgstr ""
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1619
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1620
 #: src/language/stats/frequencies.q:131 src/ui/gui/descriptives-dialog.c:48
 #: src/ui/gui/frequencies-dialog.c:46
 msgid "Skewness"
@@ -3117,22 +3066,22 @@ msgstr ""
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1608
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1609
 #: src/language/stats/frequencies.q:133 src/ui/gui/descriptives-dialog.c:43
 #: src/ui/gui/frequencies-dialog.c:48
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1598
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1599
 #: src/language/stats/frequencies.q:134 src/language/stats/npar-summary.c:132
-#: src/language/stats/oneway.q:403 src/ui/gui/descriptives-dialog.c:41
+#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:41
 #: src/ui/gui/frequencies-dialog.c:42
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1603
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1604
 #: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:135
-#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:42
+#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:42
 #: src/ui/gui/frequencies-dialog.c:43
 msgid "Maximum"
 msgstr ""
@@ -3187,131 +3136,122 @@ msgstr ""
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr ""
 
-#: src/language/stats/examine.q:343 src/language/stats/examine.q:496
-#: src/language/stats/examine.q:1058
+#: src/language/stats/examine.q:346 src/language/stats/examine.q:499
+#: src/language/stats/examine.q:1060
 msgid "Not creating plot because data set is empty."
 msgstr ""
 
-#: src/language/stats/examine.q:353
+#: src/language/stats/examine.q:356
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:354 src/language/stats/examine.q:359
+#: src/language/stats/examine.q:357 src/language/stats/examine.q:362
 msgid "Observed Value"
 msgstr ""
 
-#: src/language/stats/examine.q:355
+#: src/language/stats/examine.q:358
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:357
+#: src/language/stats/examine.q:360
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:360
+#: src/language/stats/examine.q:363
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:513
+#: src/language/stats/examine.q:516
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:517
+#: src/language/stats/examine.q:520
 #, c-format
 msgid "Boxplot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:753 src/language/stats/examine.q:766
+#: src/language/stats/examine.q:756 src/language/stats/examine.q:769
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/language/stats/examine.q:1270 src/language/stats/reliability.q:685
+#: src/language/stats/examine.q:1272 src/language/stats/reliability.q:686
 msgid "Case Processing Summary"
 msgstr ""
 
-#: src/language/stats/examine.q:1562 src/language/stats/oneway.q:398
+#: src/language/stats/examine.q:1564 src/language/stats/oneway.q:398
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1568 src/language/stats/oneway.q:400
+#: src/language/stats/examine.q:1570 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1573 src/language/stats/oneway.q:401
+#: src/language/stats/examine.q:1575 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr ""
 
-#: src/language/stats/examine.q:1578
-#, c-format
-msgid "5%% Trimmed Mean"
+#: src/language/stats/examine.q:1579
+msgid "5% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:125
+#: src/language/stats/examine.q:1584 src/language/stats/frequencies.q:125
 #: src/ui/gui/frequencies-dialog.c:52
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1593 src/language/stats/npar-summary.c:129
-#: src/language/stats/oneway.q:391 src/language/stats/t-test.q:702
-#: src/language/stats/t-test.q:726 src/language/stats/t-test.q:864
-#: src/language/stats/t-test.q:1214
+#: src/language/stats/examine.q:1594 src/language/stats/npar-summary.c:129
+#: src/language/stats/oneway.q:391 src/language/stats/t-test.q:508
+#: src/language/stats/t-test.q:528 src/language/stats/t-test.q:627
+#: src/language/stats/t-test.q:919
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1613
+#: src/language/stats/examine.q:1614
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1749 src/language/stats/oneway.q:407
+#: src/language/stats/examine.q:1750 src/language/stats/oneway.q:408
 #: src/ui/gui/examine.glade:310
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1755 src/language/stats/oneway.q:392
-#: src/language/stats/oneway.q:687 src/language/stats/regression.q:203
+#: src/language/stats/examine.q:1756 src/language/stats/oneway.q:392
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:203
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1852 src/language/stats/examine.q:1857
-#: src/ui/gui/psppire-data-store.c:756 src/ui/gui/psppire-var-store.c:646
-#: src/ui/gui/psppire-var-store.c:656 src/ui/gui/psppire-var-store.c:666
-#: src/ui/gui/psppire-var-store.c:777
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/language/stats/examine.q:1938
+#: src/language/stats/examine.q:1939
 msgid "Highest"
 msgstr ""
 
-#: src/language/stats/examine.q:1943
+#: src/language/stats/examine.q:1944
 msgid "Lowest"
 msgstr ""
 
-#: src/language/stats/examine.q:1950
+#: src/language/stats/examine.q:1951
 msgid "Extreme Values"
 msgstr ""
 
-#: src/language/stats/examine.q:1954
+#: src/language/stats/examine.q:1955
 msgid "Case Number"
 msgstr ""
 
-#: src/language/stats/examine.q:2076
+#: src/language/stats/examine.q:2077
 msgid "Tukey's Hinges"
 msgstr ""
 
-#: src/language/stats/examine.q:2116 src/language/stats/examine.q:2134
-#: src/language/stats/frequencies.q:1418 src/language/stats/npar-summary.c:142
+#: src/language/stats/examine.q:2117 src/language/stats/examine.q:2134
+#: src/language/stats/frequencies.q:1407 src/language/stats/npar-summary.c:142
 #: src/ui/gui/examine.glade:333
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2123
+#: src/language/stats/examine.q:2124
 #, c-format
 msgid "%g"
 msgstr ""
@@ -3321,68 +3261,54 @@ msgid ""
 "FLIP ignores TEMPORARY.  Temporary transformations will be made permanent."
 msgstr ""
 
-#: src/language/stats/flip.c:151
+#: src/language/stats/flip.c:147
 msgid "Could not create temporary file for FLIP."
 msgstr ""
 
-#: src/language/stats/flip.c:162
-#, c-format
-msgid "Error writing FLIP file: %s."
-msgstr ""
-
-#: src/language/stats/flip.c:262
-#, c-format
-msgid "Could not create acceptable variant for variable %s."
-msgstr ""
-
-#: src/language/stats/flip.c:278
-msgid "Cannot create more than 99999 variable names."
-msgstr ""
-
-#: src/language/stats/flip.c:394
+#: src/language/stats/flip.c:324
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:401
+#: src/language/stats/flip.c:331
 msgid "Error creating FLIP source file."
 msgstr ""
 
-#: src/language/stats/flip.c:414
+#: src/language/stats/flip.c:344
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:416
+#: src/language/stats/flip.c:346
 msgid "Unexpected end of file reading FLIP file."
 msgstr ""
 
-#: src/language/stats/flip.c:432
+#: src/language/stats/flip.c:362
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:440
+#: src/language/stats/flip.c:370
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:451
+#: src/language/stats/flip.c:381
 #, c-format
 msgid "Error closing FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:459
+#: src/language/stats/flip.c:389
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:487
+#: src/language/stats/flip.c:419
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr ""
 
-#: src/language/stats/flip.c:490
+#: src/language/stats/flip.c:422
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr ""
 
@@ -3402,66 +3328,66 @@ msgstr ""
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:409
+#: src/language/stats/frequencies.q:405
 msgid ""
 "At most one of BARCHART, HISTOGRAM, or HBAR should be given.  HBAR will be "
 "assumed.  Argument values will be given precedence increasing along the "
 "order given."
 msgstr ""
 
-#: src/language/stats/frequencies.q:492
+#: src/language/stats/frequencies.q:488
 #, c-format
 msgid ""
 "MAX must be greater than or equal to MIN, if both are specified.  However, "
 "MIN was specified as %g and MAX as %g.  MIN and MAX will be ignored."
 msgstr ""
 
-#: src/language/stats/frequencies.q:757
+#: src/language/stats/frequencies.q:752
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:820
+#: src/language/stats/frequencies.q:809
 msgid "`)' expected after GROUPED interval list."
 msgstr ""
 
-#: src/language/stats/frequencies.q:832
+#: src/language/stats/frequencies.q:821
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr ""
 
-#: src/language/stats/frequencies.q:839
+#: src/language/stats/frequencies.q:828
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1151
-#: src/language/stats/frequencies.q:1152 src/language/stats/frequencies.q:1187
+#: src/language/stats/frequencies.q:1047 src/language/stats/frequencies.q:1140
+#: src/language/stats/frequencies.q:1141 src/language/stats/frequencies.q:1176
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1060 src/output/charts/plot-hist.c:140
+#: src/language/stats/frequencies.q:1049 src/output/charts/plot-hist.c:140
 msgid "Frequency"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1081
+#: src/language/stats/frequencies.q:1070
 msgid "Value Label"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1185
+#: src/language/stats/frequencies.q:1174
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1186 src/language/stats/frequencies.q:1188
+#: src/language/stats/frequencies.q:1175 src/language/stats/frequencies.q:1177
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1381
+#: src/language/stats/frequencies.q:1370
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr ""
 
-#: src/language/stats/frequencies.q:1422
+#: src/language/stats/frequencies.q:1411
 msgid "50 (Median)"
 msgstr ""
 
@@ -3498,7 +3424,7 @@ msgid ""
 "exactly %d values."
 msgstr ""
 
-#: src/language/stats/npar.q:441 src/language/stats/t-test.q:501
+#: src/language/stats/npar.q:441 src/language/stats/t-test.q:379
 #, c-format
 msgid ""
 "PAIRED was specified but the number of variables preceding WITH (%zu) did "
@@ -3544,11 +3470,11 @@ msgid "Mean Square"
 msgstr ""
 
 #: src/language/stats/oneway.q:280 src/language/stats/regression.q:304
-#: src/language/stats/t-test.q:1023
+#: src/language/stats/t-test.q:750
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:281 src/language/stats/oneway.q:538
+#: src/language/stats/oneway.q:281 src/language/stats/oneway.q:539
 #: src/language/stats/regression.q:206 src/language/stats/regression.q:305
 msgid "Significance"
 msgstr ""
@@ -3565,19 +3491,19 @@ msgstr ""
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:535
+#: src/language/stats/oneway.q:536
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:536
+#: src/language/stats/oneway.q:537
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:537
+#: src/language/stats/oneway.q:538
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:540
+#: src/language/stats/oneway.q:541
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
@@ -3585,34 +3511,34 @@ msgstr ""
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:685
+#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:687
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:683
+#: src/language/stats/oneway.q:685
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:686
+#: src/language/stats/oneway.q:688
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
-#: src/language/stats/t-test.q:1025 src/language/stats/t-test.q:1218
-#: src/language/stats/t-test.q:1315
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:205
+#: src/language/stats/t-test.q:752 src/language/stats/t-test.q:923
+#: src/language/stats/t-test.q:1010
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:690 src/language/stats/t-test.q:1027
-#: src/language/stats/t-test.q:1220 src/language/stats/t-test.q:1317
+#: src/language/stats/oneway.q:692 src/language/stats/t-test.q:754
+#: src/language/stats/t-test.q:925 src/language/stats/t-test.q:1012
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:734
+#: src/language/stats/oneway.q:736
 msgid "Assume equal variances"
 msgstr ""
 
-#: src/language/stats/oneway.q:738
+#: src/language/stats/oneway.q:740
 msgid "Does not assume equal"
 msgstr ""
 
@@ -3639,33 +3565,33 @@ msgstr ""
 msgid "%s into %s(%s of %s using %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:729
+#: src/language/stats/rank.q:728
 #, c-format
 msgid "%s into %s(%s of %s BY %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:743
+#: src/language/stats/rank.q:741
 #, c-format
 msgid "%s into %s(%s of %s using %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:753
+#: src/language/stats/rank.q:750
 #, c-format
 msgid "%s into %s(%s of %s)"
 msgstr ""
 
-#: src/language/stats/rank.q:766
+#: src/language/stats/rank.q:762
 msgid ""
 "FRACTION has been specified, but NORMAL and PROPORTION rank functions have "
 "not been requested.  The FRACTION subcommand will be ignored."
 msgstr ""
 
-#: src/language/stats/rank.q:857
+#: src/language/stats/rank.q:853
 #, c-format
 msgid "Variable %s already exists."
 msgstr ""
 
-#: src/language/stats/rank.q:862
+#: src/language/stats/rank.q:858
 msgid "Too many variables in INTO clause."
 msgstr ""
 
@@ -3732,104 +3658,103 @@ msgstr ""
 msgid "Dependent variable must be numeric."
 msgstr ""
 
-#: src/language/stats/reliability.q:432
+#: src/language/stats/reliability.q:433
 msgid "Reliability Statistics"
 msgstr ""
 
-#: src/language/stats/reliability.q:475
+#: src/language/stats/reliability.q:476
 msgid "Item-Total Statistics"
 msgstr ""
 
-#: src/language/stats/reliability.q:497
+#: src/language/stats/reliability.q:498
 msgid "Scale Mean if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:500
+#: src/language/stats/reliability.q:501
 msgid "Scale Variance if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:503
+#: src/language/stats/reliability.q:504
 msgid "Corrected Item-Total Correlation"
 msgstr ""
 
-#: src/language/stats/reliability.q:506
+#: src/language/stats/reliability.q:507
 msgid "Cronbach's Alpha if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:556 src/language/stats/reliability.q:575
+#: src/language/stats/reliability.q:557 src/language/stats/reliability.q:576
 msgid "Cronbach's Alpha"
 msgstr ""
 
-#: src/language/stats/reliability.q:559
+#: src/language/stats/reliability.q:560
 msgid "N of items"
 msgstr ""
 
-#: src/language/stats/reliability.q:578
+#: src/language/stats/reliability.q:579
 msgid "Part 1"
 msgstr ""
 
-#: src/language/stats/reliability.q:584 src/language/stats/reliability.q:595
+#: src/language/stats/reliability.q:585 src/language/stats/reliability.q:596
 msgid "N of Items"
 msgstr ""
 
-#: src/language/stats/reliability.q:589
+#: src/language/stats/reliability.q:590
 msgid "Part 2"
 msgstr ""
 
-#: src/language/stats/reliability.q:600
+#: src/language/stats/reliability.q:601
 msgid "Total N of Items"
 msgstr ""
 
-#: src/language/stats/reliability.q:603
+#: src/language/stats/reliability.q:604
 msgid "Correlation Between Forms"
 msgstr ""
 
-#: src/language/stats/reliability.q:607
+#: src/language/stats/reliability.q:608
 msgid "Spearman-Brown Coefficient"
 msgstr ""
 
-#: src/language/stats/reliability.q:610
+#: src/language/stats/reliability.q:611
 msgid "Equal Length"
 msgstr ""
 
-#: src/language/stats/reliability.q:613
+#: src/language/stats/reliability.q:614
 msgid "Unequal Length"
 msgstr ""
 
-#: src/language/stats/reliability.q:617
+#: src/language/stats/reliability.q:618
 msgid "Guttman Split-Half Coefficient"
 msgstr ""
 
-#: src/language/stats/reliability.q:714
+#: src/language/stats/reliability.q:715
 msgid "Excluded"
 msgstr ""
 
 #: src/language/stats/reliability.q:723
-#, c-format
-msgid "%%"
+msgid "%"
 msgstr ""
 
-#: src/language/stats/sign.c:90
+#: src/language/stats/sign.c:91
 msgid "Negative Differences"
 msgstr ""
 
-#: src/language/stats/sign.c:91
+#: src/language/stats/sign.c:92
 msgid "Positive Differences"
 msgstr ""
 
-#: src/language/stats/sign.c:92 src/language/stats/wilcoxon.c:245
+#: src/language/stats/sign.c:93 src/language/stats/wilcoxon.c:261
 msgid "Ties"
 msgstr ""
 
-#: src/language/stats/sign.c:133
+#: src/language/stats/sign.c:134 src/language/stats/wilcoxon.c:331
 msgid "Exact Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/sign.c:136
+#: src/language/stats/sign.c:137 src/language/stats/wilcoxon.c:332
 msgid "Exact Sig. (1-tailed)"
 msgstr ""
 
-#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:319
+#: src/language/stats/sign.c:140 src/language/stats/wilcoxon.c:335
 msgid "Point Probability"
 msgstr ""
 
@@ -3850,161 +3775,148 @@ msgstr ""
 msgid "Variable %s specified twice in sort criteria."
 msgstr ""
 
-#: src/language/stats/t-test.q:280
-msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
+#: src/language/stats/t-test.q:189
+msgid "Exactly one of TESTVAL, GROUPS and PAIRS subcommands must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:298
-msgid "VARIABLES subcommand is not appropriate with PAIRS"
+#: src/language/stats/t-test.q:210
+msgid "VARIABLES subcommand may not be used with PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:336
+#: src/language/stats/t-test.q:229
 msgid "One or more VARIABLES must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:386
-#, c-format
-msgid "Long string variable %s is not valid here."
-msgstr ""
-
-#: src/language/stats/t-test.q:406 src/language/stats/t-test.q:420
+#: src/language/stats/t-test.q:323
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 
-#: src/language/stats/t-test.q:518
+#: src/language/stats/t-test.q:394
 msgid "At least two variables must be specified on PAIRS."
 msgstr ""
 
-#: src/language/stats/t-test.q:698
+#: src/language/stats/t-test.q:504
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:703 src/language/stats/t-test.q:727
-#: src/language/stats/t-test.q:865
+#: src/language/stats/t-test.q:509 src/language/stats/t-test.q:529
+#: src/language/stats/t-test.q:628
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:722
+#: src/language/stats/t-test.q:523
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:859
+#: src/language/stats/t-test.q:622
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:885 src/language/stats/t-test.q:1243
-#: src/language/stats/t-test.q:1442
+#: src/language/stats/t-test.q:642 src/language/stats/t-test.q:945
+#: src/language/stats/t-test.q:1119
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:1011
+#: src/language/stats/t-test.q:738
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1019
+#: src/language/stats/t-test.q:746
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:1021
+#: src/language/stats/t-test.q:748
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:1024 src/language/stats/t-test.q:1427
+#: src/language/stats/t-test.q:751 src/language/stats/t-test.q:1107
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:1028 src/language/stats/t-test.q:1318
+#: src/language/stats/t-test.q:755 src/language/stats/t-test.q:1013
 msgid "Mean Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1029
+#: src/language/stats/t-test.q:756
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1034 src/language/stats/t-test.q:1210
-#: src/language/stats/t-test.q:1310
+#: src/language/stats/t-test.q:761 src/language/stats/t-test.q:915
+#: src/language/stats/t-test.q:1005
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1090
+#: src/language/stats/t-test.q:815
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1142
+#: src/language/stats/t-test.q:861
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1200
+#: src/language/stats/t-test.q:905
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1203
+#: src/language/stats/t-test.q:908
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1215
+#: src/language/stats/t-test.q:920
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1299
+#: src/language/stats/t-test.q:994
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1304
+#: src/language/stats/t-test.q:999
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1422
+#: src/language/stats/t-test.q:1102
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1426
+#: src/language/stats/t-test.q:1106
 msgid "Correlation"
 msgstr ""
 
-#: src/language/stats/t-test.q:1445
+#: src/language/stats/t-test.q:1121
 #, c-format
 msgid "%s & %s"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:216
+#: src/language/stats/wilcoxon.c:232
 msgid "Ranks"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:230
+#: src/language/stats/wilcoxon.c:246
 msgid "Mean Rank"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:231
+#: src/language/stats/wilcoxon.c:247
 msgid "Sum of Ranks"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:243
+#: src/language/stats/wilcoxon.c:259
 msgid "Negative Ranks"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:244
+#: src/language/stats/wilcoxon.c:260
 msgid "Positive Ranks"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:310
+#: src/language/stats/wilcoxon.c:326
 msgid "Z"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:311
-msgid "Asymp. Sig (2-tailed)"
-msgstr ""
-
-#: src/language/stats/wilcoxon.c:315
-msgid "Exact Sig (2-tailed)"
-msgstr ""
-
-#: src/language/stats/wilcoxon.c:316
-msgid "Exact Sig (1-tailed)"
+#: src/language/stats/wilcoxon.c:327
+msgid "Asymp. Sig. (2-tailed)"
 msgstr ""
 
 #: src/language/syntax-file.c:88
@@ -4017,34 +3929,16 @@ msgstr ""
 msgid "Opening `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:106
+#: src/language/syntax-file.c:107
 #, c-format
 msgid "Reading `%s': %s."
 msgstr ""
 
-#: src/language/syntax-file.c:126
+#: src/language/syntax-file.c:127
 #, c-format
 msgid "Closing `%s': %s."
 msgstr ""
 
-#: src/language/tests/check-model.q:138
-msgid "PATH and SEARCH subcommands are mutually exclusive.  Ignoring PATH."
-msgstr ""
-
-#: src/language/tests/check-model.q:156
-msgid "At least one value must be specified on PATH."
-msgstr ""
-
-#: src/language/tests/check-model.q:167
-#, c-format
-msgid "Hash bits adjusted to %d."
-msgstr ""
-
-#: src/language/tests/check-model.q:208
-#, c-format
-msgid "error opening \"%s\" for writing"
-msgstr ""
-
 #: src/language/tests/float-format.c:124
 #, c-format
 msgid "%zu-byte string needed but %zu-byte string supplied."
@@ -4174,98 +4068,45 @@ msgid ""
 "is of type string."
 msgstr ""
 
-#: src/language/utilities/set.q:522
-msgid "BLANKS is SYSMIS."
-msgstr ""
-
-#: src/language/utilities/set.q:524
-#, c-format
-msgid "BLANKS is %g."
+#: src/language/utilities/set.q:668
+msgid "ISL (32-bit IEEE 754 single, little-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:559
-#, c-format
-msgid "%s is \"%s\"."
+#: src/language/utilities/set.q:671
+msgid "ISB (32-bit IEEE 754 single, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:595
-#, c-format
-msgid "DECIMAL is \"%c\"."
-msgstr ""
-
-#: src/language/utilities/set.q:601
-#, c-format
-msgid "ENDCMD is \"%c\"."
+#: src/language/utilities/set.q:674
+msgid "IDL (64-bit IEEE 754 double, little-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:609
-#, c-format
-msgid "ERRORS is \"%s\"."
+#: src/language/utilities/set.q:677
+msgid "IDB (64-bit IEEE 754 double, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:620
-#, c-format
-msgid "FORMAT is %s."
+#: src/language/utilities/set.q:681
+msgid "VF (32-bit VAX F, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:626
-#, c-format
-msgid "LENGTH is %d."
+#: src/language/utilities/set.q:684
+msgid "VD (64-bit VAX D, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:632
-#, c-format
-msgid "LOCALE is %s"
+#: src/language/utilities/set.q:687
+msgid "VG (64-bit VAX G, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:638
-#, c-format
-msgid "MXERRS is %d."
+#: src/language/utilities/set.q:691
+msgid "ZS (32-bit IBM Z hexadecimal short, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:644
-#, c-format
-msgid "MXLOOPS is %d."
+#: src/language/utilities/set.q:694
+msgid "ZL (64-bit IBM Z hexadecimal long, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:650
+#: src/language/utilities/set.q:793
 #, c-format
-msgid "MXWARNS is %d."
-msgstr ""
-
-#: src/language/utilities/set.q:657 src/language/utilities/set.q:708
-#, c-format
-msgid "%s is %s (%s)."
-msgstr ""
-
-#: src/language/utilities/set.q:729
-msgid "SCOMPRESSION is ON."
-msgstr ""
-
-#: src/language/utilities/set.q:731
-msgid "SCOMPRESSION is OFF."
-msgstr ""
-
-#: src/language/utilities/set.q:738
-msgid "UNDEFINED is WARN."
-msgstr ""
-
-#: src/language/utilities/set.q:740
-msgid "UNDEFINED is NOWARN."
-msgstr ""
-
-#: src/language/utilities/set.q:748
-msgid "WEIGHT is off."
-msgstr ""
-
-#: src/language/utilities/set.q:750
-#, c-format
-msgid "WEIGHT is variable %s."
-msgstr ""
-
-#: src/language/utilities/set.q:768
-#, c-format
-msgid "WIDTH is %d."
+msgid "%s is %s."
 msgstr ""
 
 #: src/language/utilities/title.c:68
@@ -4291,7 +4132,7 @@ msgid ""
 "When executing COMPUTE: %g is not a valid value as an index into vector %s."
 msgstr ""
 
-#: src/language/xforms/compute.c:354
+#: src/language/xforms/compute.c:353
 #, c-format
 msgid "There is no vector named %s."
 msgstr ""
@@ -4300,44 +4141,44 @@ msgstr ""
 msgid "Destination cannot be a string variable."
 msgstr ""
 
-#: src/language/xforms/recode.c:251
+#: src/language/xforms/recode.c:245
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
 msgstr ""
 
-#: src/language/xforms/recode.c:272
+#: src/language/xforms/recode.c:266
 msgid "CONVERT requires string input values and numeric output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:329
+#: src/language/xforms/recode.c:321
 msgid "THRU is not allowed with string variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:407
+#: src/language/xforms/recode.c:400
 msgid "expecting output value"
 msgstr ""
 
-#: src/language/xforms/recode.c:456
+#: src/language/xforms/recode.c:457
 #, c-format
 msgid ""
 "%zu variable(s) cannot be recoded into %zu variable(s).  Specify the same "
 "number of variables as source and target variables."
 msgstr ""
 
-#: src/language/xforms/recode.c:471
+#: src/language/xforms/recode.c:472
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
 "already exist.  Use the STRING command to create a string variable.)"
 msgstr ""
 
-#: src/language/xforms/recode.c:487
+#: src/language/xforms/recode.c:488
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr ""
 
-#: src/language/xforms/recode.c:500
+#: src/language/xforms/recode.c:501
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr ""
@@ -4368,6 +4209,31 @@ msgstr ""
 msgid "hash table:"
 msgstr ""
 
+#: src/libpspp/tmpfile.c:55
+#, c-format
+msgid "failed to create temporary file"
+msgstr ""
+
+#: src/libpspp/tmpfile.c:96
+#, c-format
+msgid "seeking in temporary file"
+msgstr ""
+
+#: src/libpspp/tmpfile.c:115
+#, c-format
+msgid "reading temporary file"
+msgstr ""
+
+#: src/libpspp/tmpfile.c:117
+#, c-format
+msgid "unexpected end of file reading temporary file"
+msgstr ""
+
+#: src/libpspp/tmpfile.c:136
+#, c-format
+msgid "writing to temporary file"
+msgstr ""
+
 #: src/math/percentiles.c:35
 msgid "HAverage"
 msgstr ""
@@ -4790,6 +4656,14 @@ msgid ""
 "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
 msgstr ""
 
+#: src/ui/gui/about.c:64
+msgid "A program for the analysis of sampled data"
+msgstr ""
+
+#: src/ui/gui/about.c:73
+msgid "translator-credits"
+msgstr "John Darrington"
+
 #: src/ui/gui/comments-dialog.c:58
 #, c-format
 msgid "Column Number: %d"
@@ -4829,7 +4703,7 @@ msgstr ""
 
 #: src/ui/gui/crosstabs-dialog.c:53 src/ui/gui/crosstabs-dialog.c:64
 #: src/ui/gui/crosstabs-dialog.c:99 src/ui/gui/crosstabs-dialog.c:107
-#: src/ui/gui/psppire-var-store.c:559 src/ui/gui/var-display.c:16
+#: src/ui/gui/psppire-var-store.c:568 src/ui/gui/var-display.c:16
 #: src/ui/gui/variable-info-dialog.c:40
 msgid "None"
 msgstr ""
@@ -4883,7 +4757,7 @@ msgstr ""
 msgid "Pivot"
 msgstr ""
 
-#: src/ui/gui/crosstabs.glade:253 src/ui/gui/psppire.glade:781
+#: src/ui/gui/crosstabs.glade:253 src/ui/gui/psppire.glade:756
 msgid "Ascending"
 msgstr ""
 
@@ -4958,7 +4832,7 @@ msgid "_Edit"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:174 src/ui/gui/data-editor.glade:843
-#: src/ui/gui/psppire-data-window.c:844 src/ui/gui/psppire-data-window.c:934
+#: src/ui/gui/psppire-data-window.c:843 src/ui/gui/psppire-data-window.c:933
 msgid "Insert Variable"
 msgstr ""
 
@@ -5155,7 +5029,7 @@ msgstr ""
 msgid "Open"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:712 src/ui/gui/psppire-data-window.c:582
+#: src/ui/gui/data-editor.glade:712 src/ui/gui/psppire-data-window.c:581
 msgid "Save"
 msgstr ""
 
@@ -5183,7 +5057,7 @@ msgstr ""
 msgid "Find"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:831 src/ui/gui/psppire-data-window.c:898
+#: src/ui/gui/data-editor.glade:831 src/ui/gui/psppire-data-window.c:897
 msgid "Insert Case"
 msgstr ""
 
@@ -5298,7 +5172,7 @@ msgstr ""
 msgid "Missing Values"
 msgstr ""
 
-#: src/ui/gui/find-dialog.c:657
+#: src/ui/gui/find-dialog.c:658
 #, c-format
 msgid "Bad regular expression: %s"
 msgstr ""
@@ -5344,7 +5218,7 @@ msgstr ""
 msgid "Standard error of the kurtosis"
 msgstr ""
 
-#: src/ui/gui/frequencies.glade:98 src/ui/gui/psppire.glade:277
+#: src/ui/gui/frequencies.glade:98 src/ui/gui/psppire.glade:252
 #: src/ui/gui/rank.glade:103
 msgid "Variable(s):"
 msgstr ""
@@ -5585,10 +5459,17 @@ msgstr ""
 msgid "Variable View"
 msgstr ""
 
-#: src/ui/gui/psppire-data-store.c:746
+#: src/ui/gui/psppire-data-store.c:761
 msgid "var"
 msgstr ""
 
+#: src/ui/gui/psppire-data-store.c:771 src/ui/gui/psppire-var-store.c:655
+#: src/ui/gui/psppire-var-store.c:665 src/ui/gui/psppire-var-store.c:675
+#: src/ui/gui/psppire-var-store.c:786
+#, c-format
+msgid "%d"
+msgstr ""
+
 #: src/ui/gui/psppire-data-window.c:213
 msgid "Transformations Pending"
 msgstr ""
@@ -5619,179 +5500,179 @@ msgstr ""
 msgid "Weight by %s"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:387 src/ui/gui/psppire-data-window.c:590
+#: src/ui/gui/psppire-data-window.c:387 src/ui/gui/psppire-data-window.c:589
 msgid "System Files (*.sav)"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:393 src/ui/gui/psppire-data-window.c:596
+#: src/ui/gui/psppire-data-window.c:393 src/ui/gui/psppire-data-window.c:595
 msgid "Portable Files (*.por) "
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:399 src/ui/gui/psppire-data-window.c:602
+#: src/ui/gui/psppire-data-window.c:399 src/ui/gui/psppire-data-window.c:601
 #: src/ui/gui/psppire-syntax-window.c:298
 #: src/ui/gui/psppire-syntax-window.c:385
 msgid "All Files"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:610
+#: src/ui/gui/psppire-data-window.c:609
 msgid "System File"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:615
+#: src/ui/gui/psppire-data-window.c:614
 msgid "Portable File"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:765
+#: src/ui/gui/psppire-data-window.c:764
 msgid "Font Selection"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:833
+#: src/ui/gui/psppire-data-window.c:832
 msgid "Sort Ascending"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:839
+#: src/ui/gui/psppire-data-window.c:838
 msgid "Sort Descending"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:847 src/ui/gui/psppire-data-window.c:901
-#: src/ui/gui/psppire-data-window.c:937 src/ui/gui/psppire-data-window.c:1302
-#: src/ui/gui/psppire-data-window.c:1320
+#: src/ui/gui/psppire-data-window.c:846 src/ui/gui/psppire-data-window.c:900
+#: src/ui/gui/psppire-data-window.c:936 src/ui/gui/psppire-data-window.c:1301
+#: src/ui/gui/psppire-data-window.c:1319
 msgid "Clear"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1179
+#: src/ui/gui/psppire-data-window.c:1178
 msgid "Open a data file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1197
+#: src/ui/gui/psppire-data-window.c:1196
 msgid "New data file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1212
+#: src/ui/gui/psppire-data-window.c:1211
 msgid "Import text data file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1228 src/ui/gui/psppire-data-window.c:1245
+#: src/ui/gui/psppire-data-window.c:1227 src/ui/gui/psppire-data-window.c:1244
 msgid "Save data to file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1244
+#: src/ui/gui/psppire-data-window.c:1243
 msgid "Save As"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1283
+#: src/ui/gui/psppire-data-window.c:1282
 msgid "Show/hide value labels"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1303
+#: src/ui/gui/psppire-data-window.c:1302
 msgid "Delete the cases at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1321
+#: src/ui/gui/psppire-data-window.c:1320
 msgid "Delete the variables at the selected position(s)"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1339
+#: src/ui/gui/psppire-data-window.c:1338
 msgid "Create a new variable at the current position"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1354
+#: src/ui/gui/psppire-data-window.c:1353
 msgid "Create a new case at the current position"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1370
+#: src/ui/gui/psppire-data-window.c:1369
 msgid "Jump to a Case in the Data Sheet"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1386
+#: src/ui/gui/psppire-data-window.c:1385
 msgid "Weight cases by variable"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1400
+#: src/ui/gui/psppire-data-window.c:1399
 msgid "Transpose the cases with the variables"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1414
+#: src/ui/gui/psppire-data-window.c:1413
 msgid "Split the active file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1429
+#: src/ui/gui/psppire-data-window.c:1428
 msgid "Sort cases in the active file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1443
+#: src/ui/gui/psppire-data-window.c:1442
 msgid "Select cases from the active file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1457
+#: src/ui/gui/psppire-data-window.c:1456
 msgid "Compute new values for a variable"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1471
+#: src/ui/gui/psppire-data-window.c:1470
 msgid "Perform one way analysis of variance"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1486
+#: src/ui/gui/psppire-data-window.c:1485
 msgid "Calculate T Test for samples from independent groups"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1500
+#: src/ui/gui/psppire-data-window.c:1499
 msgid "Calculate T Test for paired samples"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1514
+#: src/ui/gui/psppire-data-window.c:1513
 msgid "Calculate T Test for sample from a single distribution"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1529
+#: src/ui/gui/psppire-data-window.c:1528
 msgid "Commentary text for the data file"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1555
+#: src/ui/gui/psppire-data-window.c:1554
 msgid "Rank Cases"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1569
+#: src/ui/gui/psppire-data-window.c:1568
 msgid "Recode values into the same variables"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1583
+#: src/ui/gui/psppire-data-window.c:1582
 msgid "Recode values into different variables"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1597
+#: src/ui/gui/psppire-data-window.c:1596
 msgid "Jump to variable"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1610
+#: src/ui/gui/psppire-data-window.c:1609
 msgid "Calculate descriptive statistics (mean, variance, ...)"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1624
+#: src/ui/gui/psppire-data-window.c:1623
 msgid "Generate frequency statistics"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1638
+#: src/ui/gui/psppire-data-window.c:1637
 msgid "Generate crosstabulations"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1653
+#: src/ui/gui/psppire-data-window.c:1652
 msgid "Examine Data by Factors"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1667
+#: src/ui/gui/psppire-data-window.c:1666
 msgid "Estimate parameters of the linear model"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1681 src/ui/gui/reliability.glade:7
+#: src/ui/gui/psppire-data-window.c:1680 src/ui/gui/reliability.glade:7
 msgid "Reliability Analysis"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1844
+#: src/ui/gui/psppire-data-window.c:1843
 msgid "Split the window vertically and horizontally"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1886
+#: src/ui/gui/psppire-data-window.c:1885
 msgid "Data Editor"
 msgstr ""
 
@@ -5811,183 +5692,178 @@ msgstr ""
 msgid "Prefer variable labels"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:10
-msgid ""
-"This is beta status software.  Please report bugs to bug-gnu-pspp@gnu.org"
-msgstr ""
-
-#: src/ui/gui/psppire.glade:72 src/ui/gui/psppire.glade:155
+#: src/ui/gui/psppire.glade:47 src/ui/gui/psppire.glade:130
 #: src/ui/gui/weight-cases-dialog.c:79
 msgid "Do not weight cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:83
+#: src/ui/gui/psppire.glade:58
 msgid "Weight cases by"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:108
+#: src/ui/gui/psppire.glade:83
 msgid "Frequency Variable"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:148
+#: src/ui/gui/psppire.glade:123
 msgid "Current Status: "
 msgstr ""
 
-#: src/ui/gui/psppire.glade:244
+#: src/ui/gui/psppire.glade:219
 msgid "Name Variable:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:429
+#: src/ui/gui/psppire.glade:404
 msgid "Analyze all cases.  Do not create groups."
 msgstr "Analyse all cases.  Do not create groups."
 
-#: src/ui/gui/psppire.glade:440
+#: src/ui/gui/psppire.glade:415
 msgid "Compare groups."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:454
+#: src/ui/gui/psppire.glade:429
 msgid "Organize output by groups."
 msgstr "Organise output by groups."
 
-#: src/ui/gui/psppire.glade:502
+#: src/ui/gui/psppire.glade:477
 msgid "Groups based on:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:565
+#: src/ui/gui/psppire.glade:540
 msgid "Sort the file by grouping variables."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:577
+#: src/ui/gui/psppire.glade:552
 msgid "File is already sorted."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:622
+#: src/ui/gui/psppire.glade:597
 msgid "Current Status : "
 msgstr ""
 
-#: src/ui/gui/psppire.glade:630
+#: src/ui/gui/psppire.glade:605
 msgid "Analysis by groups is off"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:729
+#: src/ui/gui/psppire.glade:704
 msgid "Sort by:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:792
+#: src/ui/gui/psppire.glade:767
 msgid "Descending"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:809
+#: src/ui/gui/psppire.glade:784
 msgid "Sort Order"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:878
+#: src/ui/gui/psppire.glade:853
 msgid "Target Variable:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:909
+#: src/ui/gui/psppire.glade:884
 msgid "Type & Label"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:949
+#: src/ui/gui/psppire.glade:924
 msgid "="
 msgstr ""
 
-#: src/ui/gui/psppire.glade:995
+#: src/ui/gui/psppire.glade:970
 msgid "Numeric Expressions:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1049
+#: src/ui/gui/psppire.glade:1024
 msgid "Functions:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1112 src/ui/gui/psppire.glade:1516
+#: src/ui/gui/psppire.glade:1087 src/ui/gui/psppire.glade:1491
 #: src/ui/gui/recode.glade:731
 msgid "If..."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1345
+#: src/ui/gui/psppire.glade:1320
 msgid "Use filter variable"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1398
+#: src/ui/gui/psppire.glade:1373
 msgid "Based on time or case range"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1411
+#: src/ui/gui/psppire.glade:1386
 msgid "Range..."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1450
+#: src/ui/gui/psppire.glade:1425
 msgid "Random sample of cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1464
+#: src/ui/gui/psppire.glade:1439
 msgid "Sample..."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1502
+#: src/ui/gui/psppire.glade:1477
 msgid "If condition is satisfied"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1551
+#: src/ui/gui/psppire.glade:1526
 msgid "All Cases"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1566
+#: src/ui/gui/psppire.glade:1541
 msgid "Select"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1595
+#: src/ui/gui/psppire.glade:1570
 msgid "Filtered"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1606
+#: src/ui/gui/psppire.glade:1581
 msgid "Deleted"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1624
+#: src/ui/gui/psppire.glade:1599
 msgid "Unselected Cases Are"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1689
+#: src/ui/gui/psppire.glade:1664
 msgid "Comments:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1731
+#: src/ui/gui/psppire.glade:1706
 msgid "Display comments in output"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1746
+#: src/ui/gui/psppire.glade:1721
 msgid "Column Number: 0"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1829
+#: src/ui/gui/psppire.glade:1804
 msgid "First case"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1842
+#: src/ui/gui/psppire.glade:1817
 msgid "Last case"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1855
+#: src/ui/gui/psppire.glade:1830
 msgid "Observation"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1919
+#: src/ui/gui/psppire.glade:1894
 msgid "Use expression as label"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2045 src/ui/gui/psppire-var-sheet.c:540
-#: src/ui/gui/psppire-var-store.c:786
+#: src/ui/gui/psppire.glade:2020 src/ui/gui/psppire-var-sheet.c:529
+#: src/ui/gui/psppire-var-store.c:795
 msgid "Width"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2175
+#: src/ui/gui/psppire.glade:2150
 msgid "Goto Case Number:"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:2312
+#: src/ui/gui/psppire.glade:2287
 msgid "Sample Size"
 msgstr ""
 
@@ -6022,47 +5898,47 @@ msgstr ""
 msgid "Cannot load syntax file '%s'"
 msgstr ""
 
-#: src/ui/gui/psppire-var-sheet.c:538 src/ui/gui/psppire-var-store.c:784
+#: src/ui/gui/psppire-var-sheet.c:527 src/ui/gui/psppire-var-store.c:793
 msgid "Name"
 msgstr ""
 
-#: src/ui/gui/psppire-var-sheet.c:541 src/ui/gui/psppire-var-store.c:787
+#: src/ui/gui/psppire-var-sheet.c:530 src/ui/gui/psppire-var-store.c:796
 msgid "Decimals"
 msgstr ""
 
-#: src/ui/gui/psppire-var-sheet.c:543 src/ui/gui/psppire-var-store.c:789
+#: src/ui/gui/psppire-var-sheet.c:532 src/ui/gui/psppire-var-store.c:798
 msgid "Values"
 msgstr ""
 
-#: src/ui/gui/psppire-var-sheet.c:546 src/ui/gui/psppire-var-store.c:792
+#: src/ui/gui/psppire-var-sheet.c:535 src/ui/gui/psppire-var-store.c:801
 msgid "Align"
 msgstr ""
 
-#: src/ui/gui/psppire-var-sheet.c:547 src/ui/gui/psppire-var-store.c:793
+#: src/ui/gui/psppire-var-sheet.c:536 src/ui/gui/psppire-var-store.c:802
 msgid "Measure"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:569 src/ui/gui/var-sheet-dialogs.glade:43
+#: src/ui/gui/psppire-var-store.c:578 src/ui/gui/var-sheet-dialogs.glade:43
 msgid "Comma"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:570 src/ui/gui/var-sheet-dialogs.glade:59
+#: src/ui/gui/psppire-var-store.c:579 src/ui/gui/var-sheet-dialogs.glade:59
 msgid "Dot"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:571
+#: src/ui/gui/psppire-var-store.c:580
 msgid "Scientific"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:572 src/ui/gui/var-sheet-dialogs.glade:91
+#: src/ui/gui/psppire-var-store.c:581 src/ui/gui/var-sheet-dialogs.glade:91
 msgid "Date"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:573 src/ui/gui/var-sheet-dialogs.glade:107
+#: src/ui/gui/psppire-var-store.c:582 src/ui/gui/var-sheet-dialogs.glade:107
 msgid "Dollar"
 msgstr ""
 
-#: src/ui/gui/psppire-var-store.c:574
+#: src/ui/gui/psppire-var-store.c:583
 msgid "Custom"
 msgstr ""
 
@@ -6652,11 +6528,11 @@ msgstr ""
 msgid "Measurement Level: %s\n"
 msgstr ""
 
-#: src/ui/gui/variable-info-dialog.c:124
+#: src/ui/gui/variable-info-dialog.c:125
 msgid "Value Labels:\n"
 msgstr ""
 
-#: src/ui/gui/variable-info-dialog.c:137
+#: src/ui/gui/variable-info-dialog.c:138
 #, c-format
 msgid "%s %s\n"
 msgstr ""
index 1c3163be3dfe315a8dbd12dee5b90322bd9e9ebd..db3c9d3e6186c4b8994e8f2c0cabdd0c49ab8074 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -33,7 +33,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: nl\n"
 "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2009-05-16 07:00+0800\n"
+"POT-Creation-Date: 2009-07-17 15:23+0800\n"
 "PO-Revision-Date: 2009-05-15 18:24+0200\n"
 "Last-Translator:  <pspp@sjpaes.nl>\n"
 "Language-Team: Dutch\n"
@@ -80,81 +80,56 @@ msgstr ""
 "Ten minste een case in de gelezen data heeft een gewicht waarde 'user-"
 "missing, system-missing, zero, of negatief.  Deze case(s) zijn genegeerd."
 
-#: src/data/case-tmpfile.c:57
-#, c-format
-msgid "failed to create temporary file"
-msgstr "aanmaken van een tijdelijk bestand is mislukt"
-
-#: src/data/case-tmpfile.c:131
-#, c-format
-msgid "seeking in temporary file"
-msgstr "zoeken in tijdelijk bestand"
-
-#: src/data/case-tmpfile.c:153
-#, c-format
-msgid "reading temporary file"
-msgstr "lezen tijdelijk bestand"
-
-#: src/data/case-tmpfile.c:155
-#, c-format
-msgid "unexpected end of file reading temporary file"
-msgstr "onverwacht einde bestand bij het lezen van tijdelijk bestand"
-
-#: src/data/case-tmpfile.c:175
-#, c-format
-msgid "writing to temporary file"
-msgstr "schrijven naar tijdelijk bestand"
-
-#: src/data/data-in.c:262 src/data/data-in.c:452
+#: src/data/data-in.c:263 src/data/data-in.c:453
 msgid "Field contents are not numeric."
 msgstr "Veld inhoud is niet numeriek."
 
-#: src/data/data-in.c:264 src/data/data-in.c:454
+#: src/data/data-in.c:265 src/data/data-in.c:455
 msgid "Number followed by garbage."
 msgstr "Nummer gevolgd door rommel."
 
-#: src/data/data-in.c:275
+#: src/data/data-in.c:276
 msgid "Invalid numeric syntax."
 msgstr "Ongeldige numerieke syntax."
 
-#: src/data/data-in.c:284 src/data/data-in.c:467
+#: src/data/data-in.c:285 src/data/data-in.c:468
 msgid "Too-large number set to system-missing."
 msgstr "Te groot getal, is op system-missing gezet."
 
-#: src/data/data-in.c:289 src/data/data-in.c:472
+#: src/data/data-in.c:290 src/data/data-in.c:473
 msgid "Too-small number set to zero."
 msgstr "Te klein getal, is op nul gezet."
 
-#: src/data/data-in.c:315
+#: src/data/data-in.c:316
 msgid "All characters in field must be digits."
 msgstr "Alle karakters in veld moeten cijfers zijn."
 
-#: src/data/data-in.c:338
+#: src/data/data-in.c:339
 msgid "Unrecognized character in field."
 msgstr "Onherkenbaar karakter in veld."
 
-#: src/data/data-in.c:362 src/data/data-in.c:636
+#: src/data/data-in.c:363 src/data/data-in.c:638
 msgid "Field must have even length."
 msgstr "Veld moet een even lengte hebben."
 
-#: src/data/data-in.c:367 src/data/data-in.c:647
+#: src/data/data-in.c:368 src/data/data-in.c:649
 msgid "Field must contain only hex digits."
 msgstr "Veld mag alleen hex cijfers bevatten."
 
-#: src/data/data-in.c:686 src/data/data-in.c:733
+#: src/data/data-in.c:688 src/data/data-in.c:735
 msgid "Syntax error in date field."
 msgstr "Syntax fout in datum veld."
 
-#: src/data/data-in.c:702
+#: src/data/data-in.c:704
 #, c-format
 msgid "Day (%ld) must be between 1 and 31."
 msgstr "Dag (%ld) moet tussen 1 en 31 zijn."
 
-#: src/data/data-in.c:749
+#: src/data/data-in.c:751
 msgid "Delimiter expected between fields in date."
 msgstr "Veldscheider verwacht tussen velden in datum."
 
-#: src/data/data-in.c:823
+#: src/data/data-in.c:825
 msgid ""
 "Unrecognized month format.  Months may be specified as Arabic or Roman "
 "numerals or as at least 3 letters of their English names."
@@ -163,45 +138,45 @@ msgstr ""
 "of Romeins numeriek of als tenminste de eerste 3 letters van hun Engelse "
 "naam."
 
-#: src/data/data-in.c:850
+#: src/data/data-in.c:852
 #, c-format
 msgid "Year (%ld) must be between 1582 and 19999."
 msgstr "Jaar (%ld) moet tussen 1582 en 19999 zijn."
 
-#: src/data/data-in.c:862
+#: src/data/data-in.c:864
 #, c-format
 msgid "Trailing garbage \"%.*s\" following date."
 msgstr "Afsluitende rommel \"%.*s\" achter datum."
 
-#: src/data/data-in.c:878
+#: src/data/data-in.c:880
 msgid "Julian day must have exactly three digits."
 msgstr "Juliaanse datum moet bestaan uit precies 3 cijfers."
 
-#: src/data/data-in.c:883
+#: src/data/data-in.c:885
 #, c-format
 msgid "Julian day (%ld) must be between 1 and 366."
 msgstr "Juliaanse dag (%ld) moet tussen 1 en 366 zijn."
 
-#: src/data/data-in.c:907
+#: src/data/data-in.c:909
 #, c-format
 msgid "Quarter (%ld) must be between 1 and 4."
 msgstr "Kwartaal (%ld) moet tussen 1 en 4 zijn."
 
-#: src/data/data-in.c:927
+#: src/data/data-in.c:929
 #, c-format
 msgid "Week (%ld) must be between 1 and 53."
 msgstr "Week (%ld) moet tussen 1 en 53 zijn."
 
-#: src/data/data-in.c:940
+#: src/data/data-in.c:942
 msgid "Delimiter expected between fields in time."
 msgstr "Veldscheider verwacht tussen velden in tijd."
 
-#: src/data/data-in.c:960
+#: src/data/data-in.c:962
 #, c-format
 msgid "Minute (%ld) must be between 0 and 59."
 msgstr "Minuut (%ld) moet tussen 0 en 59 zijn."
 
-#: src/data/data-in.c:1000
+#: src/data/data-in.c:1002
 msgid ""
 "Unrecognized weekday name.  At least the first two letters of an English "
 "weekday name must be specified."
@@ -209,32 +184,32 @@ msgstr ""
 "Niet herkende weekdag naam.  Tenminste de eerste 2 letters van een Engelse "
 "weekdag naam moeten opgegeven worden."
 
-#: src/data/data-in.c:1138
+#: src/data/data-in.c:1140
 #, c-format
 msgid "`%c' expected in date field."
 msgstr "`%c' verwacht in datum veld."
 
-#: src/data/data-in.c:1179
+#: src/data/data-in.c:1181
 #, c-format
 msgid "column %d"
 msgstr "kolom %d"
 
-#: src/data/data-in.c:1181
+#: src/data/data-in.c:1183
 #, c-format
 msgid "columns %d-%d"
 msgstr "kolommen %d-%d"
 
-#: src/data/data-in.c:1185
+#: src/data/data-in.c:1187
 #, c-format
 msgid "%s field) "
 msgstr "%s veld) "
 
-#: src/data/data-out.c:446
+#: src/data/data-out.c:449
 #, c-format
 msgid "Weekday number %f is not between 1 and 7."
 msgstr "Weekdag nummer %f is niet tussen 1 en 7."
 
-#: src/data/data-out.c:467
+#: src/data/data-out.c:470
 #, c-format
 msgid "Month number %f is not between 1 and 12."
 msgstr "Maand nummer %f is niet tussen 1 en 12."
@@ -251,7 +226,7 @@ msgstr "systeem"
 msgid "scratch"
 msgstr ""
 
-#: src/data/dictionary.c:926
+#: src/data/dictionary.c:940
 msgid ""
 "At least one case in the data file had a weight value that was user-missing, "
 "system-missing, zero, or negative.  These case(s) were ignored."
@@ -259,7 +234,7 @@ msgstr ""
 "Op zijn minst een case in het data bestand heeft een gewicht waarde user-"
 "missing, system-missing, nul, of negatief.  Deze case(s) zijn genegeerd."
 
-#: src/data/dictionary.c:1228
+#: src/data/dictionary.c:1263
 #, c-format
 msgid "Truncating document line to %d bytes."
 msgstr "Document regel afgekapt tot %d bytes."
@@ -369,33 +344,33 @@ msgstr[1] ""
 msgid "%s variables are not compatible with %s format %s."
 msgstr "%s variabelen zijn niet compatibel met %s formaat %s."
 
-#: src/data/format.c:327 src/data/sys-file-reader.c:657
-#: src/ui/gui/psppire.glade:2034 src/ui/gui/psppire-var-store.c:575
+#: src/data/format.c:327 src/data/sys-file-reader.c:663
+#: src/ui/gui/psppire.glade:2009 src/ui/gui/psppire-var-store.c:584
 #: src/ui/gui/var-sheet-dialogs.glade:139
 msgid "String"
 msgstr ""
 
-#: src/data/format.c:327 src/data/sys-file-reader.c:657
-#: src/ui/gui/psppire.glade:2109 src/ui/gui/psppire-var-store.c:568
+#: src/data/format.c:327 src/data/sys-file-reader.c:663
+#: src/ui/gui/psppire.glade:2084 src/ui/gui/psppire-var-store.c:577
 #: src/ui/gui/var-sheet-dialogs.glade:28
 msgid "Numeric"
 msgstr "Numeriek"
 
-#: src/data/format.c:328 src/data/sys-file-reader.c:1214
-#: src/data/sys-file-reader.c:1216
+#: src/data/format.c:328 src/data/sys-file-reader.c:1228
+#: src/data/sys-file-reader.c:1230
 #: src/language/dictionary/apply-dictionary.c:78
 #: src/language/dictionary/apply-dictionary.c:79
-#: src/language/xforms/recode.c:489 src/language/xforms/recode.c:490
-#: src/language/xforms/recode.c:502 src/language/xforms/recode.c:503
+#: src/language/xforms/recode.c:490 src/language/xforms/recode.c:491
+#: src/language/xforms/recode.c:503 src/language/xforms/recode.c:504
 msgid "numeric"
 msgstr "numeriek"
 
-#: src/data/format.c:328 src/data/sys-file-reader.c:1214
-#: src/data/sys-file-reader.c:1216
+#: src/data/format.c:328 src/data/sys-file-reader.c:1228
+#: src/data/sys-file-reader.c:1230
 #: src/language/dictionary/apply-dictionary.c:78
 #: src/language/dictionary/apply-dictionary.c:79
-#: src/language/xforms/recode.c:489 src/language/xforms/recode.c:490
-#: src/language/xforms/recode.c:502 src/language/xforms/recode.c:503
+#: src/language/xforms/recode.c:490 src/language/xforms/recode.c:491
+#: src/language/xforms/recode.c:503 src/language/xforms/recode.c:504
 msgid "string"
 msgstr ""
 
@@ -404,30 +379,30 @@ msgstr ""
 msgid "String variable with width %d is not compatible with format %s."
 msgstr "String variabele met breedte %d is niet compatibel met formaat %s."
 
-#: src/data/gnumeric-reader.c:33
+#: src/data/gnumeric-reader.c:36
 msgid ""
 "Support for Gnumeric files was not compiled into this installation of PSPP"
 msgstr ""
 "Ondersteuning voor Gnumeric bestanden is niet gecompileerd in deze "
 "installatie van PSPP"
 
-#: src/data/gnumeric-reader.c:362
-#, c-format
-msgid "Error opening \"%s\" for reading as a gnumeric file: %s."
+#: src/data/gnumeric-reader.c:368
+#, fuzzy, c-format
+msgid "Error opening \"%s\" for reading as a Gnumeric file: %s."
 msgstr ""
 "Fout bij het openen van \"%s\" voor het lezen als een gnumeric bestand: %s."
 
-#: src/data/gnumeric-reader.c:382
+#: src/data/gnumeric-reader.c:388
 #, c-format
 msgid "Invalid cell range \"%s\""
 msgstr "Ongeldige cel range \"%s\""
 
-#: src/data/gnumeric-reader.c:518 src/data/psql-reader.c:182
+#: src/data/gnumeric-reader.c:520 src/data/psql-reader.c:187
 #, c-format
 msgid "Cannot create variable name from %s"
 msgstr "Kan geen variabele naam creëren van %s"
 
-#: src/data/gnumeric-reader.c:530
+#: src/data/gnumeric-reader.c:532
 #, c-format
 msgid "Selected sheet or range of spreadsheet \"%s\" is empty."
 msgstr "Geselecteerd blad of range van werkblad \"%s\" is leeg."
@@ -499,11 +474,11 @@ msgstr "onverwacht einde bestand"
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/por-file-reader.c:268 src/data/por-file-writer.c:148
+#: src/data/por-file-reader.c:267 src/data/por-file-writer.c:149
 msgid "portable file"
 msgstr "overdraagbaar (portable) bestand"
 
-#: src/data/por-file-reader.c:276
+#: src/data/por-file-reader.c:275
 #, c-format
 msgid ""
 "An error occurred while opening \"%s\" for reading as a portable file: %s."
@@ -511,48 +486,48 @@ msgstr ""
 "Er is een fout opgetreden tijdens het openen van \"%s\" voor het lezen als "
 "overdraagbaar (portable) bestand: %s."
 
-#: src/data/por-file-reader.c:297
+#: src/data/por-file-reader.c:296
 msgid "Data record expected."
 msgstr "Data record verwacht."
 
-#: src/data/por-file-reader.c:379
+#: src/data/por-file-reader.c:378
 msgid "Number expected."
 msgstr "Nummer verwacht."
 
-#: src/data/por-file-reader.c:407
+#: src/data/por-file-reader.c:406
 msgid "Missing numeric terminator."
 msgstr "Ontbrekende numerieke afsluiter."
 
-#: src/data/por-file-reader.c:430
+#: src/data/por-file-reader.c:429
 msgid "Invalid integer."
 msgstr "Ongeldige integer."
 
-#: src/data/por-file-reader.c:441
+#: src/data/por-file-reader.c:440
 #, c-format
 msgid "Bad string length %d."
 msgstr "Foutieve string lengte %d."
 
-#: src/data/por-file-reader.c:502
+#: src/data/por-file-reader.c:501
 #, c-format
 msgid "%s: Not a portable file."
 msgstr "%s: Geen overdraagbaar (portable) bestand."
 
-#: src/data/por-file-reader.c:519
+#: src/data/por-file-reader.c:518
 #, c-format
 msgid "Unrecognized version code `%c'."
 msgstr "Niet herkende versie code `%c'."
 
-#: src/data/por-file-reader.c:528
+#: src/data/por-file-reader.c:527
 #, c-format
 msgid "Bad date string length %zu."
 msgstr "Foutieve datum string lengte %zu."
 
-#: src/data/por-file-reader.c:530
+#: src/data/por-file-reader.c:529
 #, c-format
 msgid "Bad time string length %zu."
 msgstr "Foutieve tijd string lengte %zu."
 
-#: src/data/por-file-reader.c:572
+#: src/data/por-file-reader.c:571
 #, c-format
 msgid ""
 "%s: Bad format specifier byte (%d).  Variable will be assigned a default "
@@ -561,61 +536,61 @@ msgstr ""
 "%s: Foutief formaat specificatie byte (%d). Variabele krijgt een default "
 "formaat."
 
-#: src/data/por-file-reader.c:593
+#: src/data/por-file-reader.c:592
 #, c-format
 msgid "Numeric variable %s has invalid format specifier %s."
 msgstr "Numerieke variabele %s heeft een ongeldige formaat specificatie %s."
 
-#: src/data/por-file-reader.c:597
+#: src/data/por-file-reader.c:596
 #, c-format
 msgid "String variable %s with width %d has invalid format specifier %s."
 msgstr ""
 "String variabele %s met breedte %d heeft ongeldige formaat specificatie %s."
 
-#: src/data/por-file-reader.c:621
+#: src/data/por-file-reader.c:620
 msgid "Expected variable count record."
 msgstr "Variabele teller record verwacht."
 
-#: src/data/por-file-reader.c:625
+#: src/data/por-file-reader.c:624
 #, c-format
 msgid "Invalid number of variables %d."
 msgstr "Ongeldig aantal variabelen %d."
 
-#: src/data/por-file-reader.c:635
+#: src/data/por-file-reader.c:633
 #, c-format
 msgid "Weight variable name (%s) truncated."
 msgstr "Weging variabele naam (%s) afgekapt."
 
-#: src/data/por-file-reader.c:650
+#: src/data/por-file-reader.c:648
 msgid "Expected variable record."
 msgstr "Variabel record verwacht."
 
-#: src/data/por-file-reader.c:654
+#: src/data/por-file-reader.c:652
 #, c-format
 msgid "Invalid variable width %d."
 msgstr "Ongeldige variabele breedte %d."
 
-#: src/data/por-file-reader.c:662
+#: src/data/por-file-reader.c:659
 #, c-format
 msgid "Invalid variable name `%s' in position %d."
 msgstr "Ongeldige variabele naam '%s' in positie %d."
 
-#: src/data/por-file-reader.c:666
+#: src/data/por-file-reader.c:663 src/data/sys-file-reader.c:521
 #, c-format
 msgid "Bad width %d for variable %s."
 msgstr "Foutieve breedte %d voor variabele %s."
 
-#: src/data/por-file-reader.c:681
+#: src/data/por-file-reader.c:678
 #, c-format
 msgid "Duplicate variable name %s in position %d."
 msgstr "Dubbele variabele naam %s in positie %d."
 
-#: src/data/por-file-reader.c:682
+#: src/data/por-file-reader.c:679
 #, c-format
 msgid "Duplicate variable name %s in position %d renamed to %s."
 msgstr "Dubbele variabele naam %s in positie %d hernoemd naar %s."
 
-#: src/data/por-file-reader.c:725
+#: src/data/por-file-reader.c:728
 #, c-format
 msgid "Weighting variable %s not present in dictionary."
 msgstr "Weging variabele %s niet aanwezig in woordenboek."
@@ -633,26 +608,26 @@ msgstr ""
 "Kan geen waarde labels toekennen aan %s en %s, die verschillende variabele "
 "types hebben."
 
-#: src/data/por-file-writer.c:140
+#: src/data/por-file-writer.c:141
 #, c-format
 msgid "Invalid decimal digits count %d.  Treating as %d."
 msgstr "Ongeldige decimaal cijfers teller %d. Behandeld als %d."
 
-#: src/data/por-file-writer.c:160
+#: src/data/por-file-writer.c:161
 #, c-format
 msgid "Error opening \"%s\" for writing as a portable file: %s."
 msgstr ""
 "Fout tijdens openen \"%s\" voor het schrijven als een overdraagbaar "
 "(portable) bestand: %s."
 
-#: src/data/por-file-writer.c:500
+#: src/data/por-file-writer.c:506
 #, c-format
 msgid "An I/O error occurred writing portable file \"%s\"."
 msgstr ""
 "Een I/O fout opgetreden tijdens het schrijven van overdraagbaar (portable) "
 "bestand \"%s\"."
 
-#: src/data/psql-reader.c:42
+#: src/data/psql-reader.c:46
 msgid ""
 "Support for reading postgres databases was not compiled into this "
 "installation of PSPP"
@@ -660,16 +635,16 @@ msgstr ""
 "Ondersteuning voor het lezen van postgres databases was niet gecompileerd in "
 "deze installatie van PSPP"
 
-#: src/data/psql-reader.c:237
+#: src/data/psql-reader.c:242
 msgid "Memory error whilst opening psql source"
 msgstr "Geheugen fout tijdens het openen van psql source"
 
-#: src/data/psql-reader.c:243
+#: src/data/psql-reader.c:248
 #, c-format
 msgid "Error opening psql source: %s."
 msgstr "Fout tijdens openen psql source: %s."
 
-#: src/data/psql-reader.c:258
+#: src/data/psql-reader.c:263
 #, c-format
 msgid ""
 "Postgres server is version %s. Reading from versions earlier than 8.0 is not "
@@ -678,7 +653,7 @@ msgstr ""
 "Postgres server is versie %s. Lezen van versies ouder dan 8.0 wordt niet "
 "ondersteund."
 
-#: src/data/psql-reader.c:278
+#: src/data/psql-reader.c:283
 msgid ""
 "Connection is unencrypted, but unencrypted connections have not been "
 "permitted."
@@ -686,13 +661,13 @@ msgstr ""
 "Connectie is niet geëncrypt, maar niet geëncrypte connecties zijn niet "
 "toegestaan."
 
-#: src/data/psql-reader.c:317 src/data/psql-reader.c:342
-#: src/data/psql-reader.c:352
+#: src/data/psql-reader.c:322 src/data/psql-reader.c:347
+#: src/data/psql-reader.c:357
 #, c-format
 msgid "Error from psql source: %s."
 msgstr "Fout van psql source: %s."
 
-#: src/data/psql-reader.c:447
+#: src/data/psql-reader.c:452
 #, c-format
 msgid "Unsupported OID %d.  SYSMIS values will be inserted."
 msgstr "Niet ondersteunde OID %d. SYSMIS waarde wordt ingevoegd."
@@ -706,11 +681,11 @@ msgstr ""
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/scratch-writer.c:67 src/language/data-io/file-handle.q:181
+#: src/data/scratch-writer.c:66 src/language/data-io/file-handle.q:181
 msgid "scratch file"
 msgstr "scratch bestand"
 
-#: src/data/settings.c:685
+#: src/data/settings.c:686
 #, c-format
 msgid ""
 "%s: Custom currency string `%s' does not contain exactly three periods or "
@@ -725,141 +700,119 @@ msgstr "Variabele achtervoegsel te lang."
 
 #. TRANSLATORS: this fragment will be interpolated into
 #. messages in fh_lock() that identify types of files.
-#: src/data/sys-file-reader.c:216 src/data/sys-file-writer.c:200
+#: src/data/sys-file-reader.c:219 src/data/sys-file-writer.c:202
 msgid "system file"
 msgstr "systeem bestand"
 
-#: src/data/sys-file-reader.c:223
+#: src/data/sys-file-reader.c:226
 #, c-format
 msgid "Error opening \"%s\" for reading as a system file: %s."
 msgstr ""
 "Fout bij het openen van \"%s\" voor het lezen als een systeem file: %s."
 
-#: src/data/sys-file-reader.c:262
+#: src/data/sys-file-reader.c:265
 msgid "Misplaced type 4 record."
 msgstr "Verkeerd geplaatst type 4 record. "
 
-#: src/data/sys-file-reader.c:273
+#: src/data/sys-file-reader.c:276
 #, c-format
 msgid "Unrecognized record type %d."
 msgstr "Niet herkend record type %d."
 
-#: src/data/sys-file-reader.c:312
+#: src/data/sys-file-reader.c:315
 #, c-format
 msgid "File header claims %d variable positions but %d were read from file."
 msgstr ""
 "Bestand kop claimt %d variabele posities maar er zijn er %d gelezen van het "
 "bestand."
 
-#: src/data/sys-file-reader.c:352
+#: src/data/sys-file-reader.c:355
 #, c-format
 msgid "Error closing system file \"%s\": %s."
 msgstr "Fout bij het sluiten van system file \"%s\": %s."
 
-#: src/data/sys-file-reader.c:417 src/data/sys-file-reader.c:427
+#: src/data/sys-file-reader.c:420 src/data/sys-file-reader.c:430
 msgid "This is not an SPSS system file."
 msgstr "Dit is geen SPSS systeem bestand."
 
-#: src/data/sys-file-reader.c:446
+#: src/data/sys-file-reader.c:449
 msgid ""
 "Compression bias is not the usual value of 100, or system file uses "
 "unrecognized floating-point format."
 msgstr ""
 
-#: src/data/sys-file-reader.c:514
+#: src/data/sys-file-reader.c:517
 #, c-format
 msgid "Invalid variable name `%s'."
 msgstr "Ongeldige variabele naam '%s'."
 
-#: src/data/sys-file-reader.c:518
-#, c-format
-msgid "Bad variable width %d."
-msgstr "Foutieve variabele breedte %d."
-
-#: src/data/sys-file-reader.c:522
+#: src/data/sys-file-reader.c:525
 #, c-format
 msgid "Duplicate variable name `%s' within system file."
 msgstr "Dubbele variabele naam '%s' binnen system file."
 
-#: src/data/sys-file-reader.c:530
+#: src/data/sys-file-reader.c:533
 msgid "Variable label indicator field is not 0 or 1."
 msgstr "Variabel label indicator veld is niet 0 of 1."
 
-#: src/data/sys-file-reader.c:538
+#: src/data/sys-file-reader.c:541
 #, c-format
 msgid "Variable %s has label of invalid length %zu."
 msgstr "Variabele %s heeft label van ongeldige lengte %zu."
 
-#: src/data/sys-file-reader.c:557
+#: src/data/sys-file-reader.c:560
 msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 msgstr ""
 "Numeriek ontbrekende waarde indicator veld is niet -3, -2, 0, 1, 2, of 3."
 
-#: src/data/sys-file-reader.c:572
+#: src/data/sys-file-reader.c:578
 msgid "String missing value indicator field is not 0, 1, 2, or 3."
 msgstr "String missing waarde indicator veld is niet 0, 1, 2, of 3."
 
-#: src/data/sys-file-reader.c:575
-#, c-format
-msgid ""
-"Ignoring missing values on long string variable %s, which PSPP does not yet "
-"support."
-msgstr ""
-"Negeren van missing values voor lange string variabele %s, wat PSPP nog niet "
-"ondersteunt."
-
-#: src/data/sys-file-reader.c:604
+#: src/data/sys-file-reader.c:610
 msgid "Missing string continuation record."
 msgstr "Mis string continuering record."
 
-#: src/data/sys-file-reader.c:638
+#: src/data/sys-file-reader.c:644
 #, c-format
 msgid "Unknown variable format %<PRIu8>."
 msgstr "Onbekend variabele formaat %<PRIu8>."
 
-#: src/data/sys-file-reader.c:656
+#: src/data/sys-file-reader.c:662
 #, c-format
 msgid "%s variable %s has invalid %s format %s."
 msgstr "%s variabele %s heeft ongeldig %s formaat %s."
 
-#: src/data/sys-file-reader.c:659
+#: src/data/sys-file-reader.c:665
 msgid "print"
 msgstr "afdrukken"
 
-#: src/data/sys-file-reader.c:659
+#: src/data/sys-file-reader.c:665
 msgid "write"
 msgstr "schrijf"
 
-#: src/data/sys-file-reader.c:663
+#: src/data/sys-file-reader.c:669
 msgid "Suppressing further invalid format warnings."
 msgstr "Onderdrukt verdere ongeldige formaat waarschuwingen."
 
-#: src/data/sys-file-reader.c:681
+#: src/data/sys-file-reader.c:687
 msgid "Weighting variable must be numeric."
 msgstr "Weging variabele moet numeriek zijn."
 
-#: src/data/sys-file-reader.c:695
+#: src/data/sys-file-reader.c:701
 msgid "Multiple type 6 (document) records."
 msgstr "Meerdere type 6 (document) records."
 
-#: src/data/sys-file-reader.c:699
+#: src/data/sys-file-reader.c:705
 #, c-format
 msgid "Number of document lines (%d) must be greater than 0."
 msgstr "Aantal document regels (%d) moet groter dan 0 zijn."
 
-#: src/data/sys-file-reader.c:707
+#: src/data/sys-file-reader.c:713
 msgid "Document line contains null byte."
 msgstr "Document regel bevat null byte."
 
-#: src/data/sys-file-reader.c:793
-msgid ""
-"Ignoring value labels for long string variables, which PSPP does not yet "
-"support."
-msgstr ""
-"Negeer waarde labels voor lange string variabelen, die door PSPP nog niet "
-"ondersteund worden."
-
-#: src/data/sys-file-reader.c:798
+#: src/data/sys-file-reader.c:803
 #, c-format
 msgid ""
 "Unrecognized record type 7, subtype %d.  Please send a copy of this file, "
@@ -868,13 +821,13 @@ msgstr ""
 "Niet herkend type 7, subtype %d.  Stuur s.v.p. een kopie van dit bestand en "
 "de syntax waarmee het is aangemaakt naar %s "
 
-#: src/data/sys-file-reader.c:825
+#: src/data/sys-file-reader.c:830
 #, c-format
 msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
 msgstr ""
 "Foutieve lengte (%zu) of aantal (%zu) veld in record type 7, subtype 3."
 
-#: src/data/sys-file-reader.c:845
+#: src/data/sys-file-reader.c:850
 #, c-format
 msgid ""
 "Floating-point representation indicated by system file (%d) differs from "
@@ -883,15 +836,15 @@ msgstr ""
 "Drijvende komma representatie aangegeven door systeem bestand %d verschilt "
 "van verwachting (%d)."
 
-#: src/data/sys-file-reader.c:858
+#: src/data/sys-file-reader.c:863
 msgid "little-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:858
+#: src/data/sys-file-reader.c:863
 msgid "big-endian"
 msgstr ""
 
-#: src/data/sys-file-reader.c:859
+#: src/data/sys-file-reader.c:864
 #, c-format
 msgid ""
 "Integer format indicated by system file (%s) differs from expected (%s)."
@@ -899,37 +852,28 @@ msgstr ""
 "Integer formaat aangegeven door systeem bestand (%s) verschilt van verwacht "
 "(%s). "
 
-#: src/data/sys-file-reader.c:916
+#: src/data/sys-file-reader.c:921
 #, c-format
 msgid "Bad size (%zu) or count (%zu) on extension 4."
 msgstr "Foutieve lengte (%zu) of aantal (%zu) bij extensie 4."
 
-#: src/data/sys-file-reader.c:920
-#, c-format
-msgid "File specifies unexpected value %g as SYSMIS."
+#: src/data/sys-file-reader.c:925 src/data/sys-file-reader.c:929
+#: src/data/sys-file-reader.c:933
+#, fuzzy, c-format
+msgid "File specifies unexpected value %g as %s."
 msgstr "Bestand specificeert onverwachte waarde %g als SYSMIS."
 
-#: src/data/sys-file-reader.c:922
-#, c-format
-msgid "File specifies unexpected value %g as HIGHEST."
-msgstr "Bestand specificeert onverwachte waarde %g als HIGHEST."
-
-#: src/data/sys-file-reader.c:924
-#, c-format
-msgid "File specifies unexpected value %g as LOWEST."
-msgstr "Bestand specificeert onverwachte waarde %g als LOWEST."
-
-#: src/data/sys-file-reader.c:940
+#: src/data/sys-file-reader.c:950
 #, c-format
 msgid "Bad size %zu on extension 11."
 msgstr "Foutieve lengte %zu voor extensie 11."
 
-#: src/data/sys-file-reader.c:952
+#: src/data/sys-file-reader.c:962
 #, c-format
 msgid "Extension 11 has bad count %zu (for %zu variables)."
 msgstr "Extensie 11 heeft een foutief aantal %zu (voor %zu variabelen)."
 
-#: src/data/sys-file-reader.c:973
+#: src/data/sys-file-reader.c:983
 #, c-format
 msgid ""
 "Invalid variable display parameters for variable %zu (%s).  Default "
@@ -938,22 +882,22 @@ msgstr ""
 "Ongeldige variabele toon parameters voor variabele %zu (%s).  Default "
 "parameters ingevuld."
 
-#: src/data/sys-file-reader.c:1017
+#: src/data/sys-file-reader.c:1027
 #, c-format
 msgid "Long variable mapping from %s to invalid variable name `%s'."
 msgstr "Lange variabele afbeelding van %s tot ongeldige naam '%s'. "
 
-#: src/data/sys-file-reader.c:1027
+#: src/data/sys-file-reader.c:1037
 #, c-format
 msgid "Duplicate long variable name `%s' within system file."
 msgstr "Dubbele lange variabele naam `%s' binnen systeem bestand."
 
-#: src/data/sys-file-reader.c:1080
+#: src/data/sys-file-reader.c:1090
 #, c-format
 msgid "%s listed as string of invalid length %s in very length string record."
 msgstr ""
 
-#: src/data/sys-file-reader.c:1090
+#: src/data/sys-file-reader.c:1100
 #, c-format
 msgid ""
 "%s listed in very long string record with width %s, which requires only one "
@@ -962,12 +906,12 @@ msgstr ""
 "%s vermeld in erg lang string record met breedte %s, dat slechts een segment "
 "vereist."
 
-#: src/data/sys-file-reader.c:1096
+#: src/data/sys-file-reader.c:1106
 #, c-format
 msgid "Very long string %s overflows dictionary."
 msgstr "Erg lange string %s is te groot voor woordenboek."
 
-#: src/data/sys-file-reader.c:1110
+#: src/data/sys-file-reader.c:1120
 #, c-format
 msgid ""
 "Very long string with width %ld has segment %d of width %d (expected %d)"
@@ -975,12 +919,12 @@ msgstr ""
 "Erg lange string met breedte %ld heeft segment %d van breedte %d (verwacht %"
 "d)"
 
-#: src/data/sys-file-reader.c:1155
+#: src/data/sys-file-reader.c:1166
 #, c-format
 msgid "Invalid number of labels: %d.  Ignoring labels."
 msgstr "Ongeldig aantal labels: %d. Labels worden genegeerd."
 
-#: src/data/sys-file-reader.c:1186
+#: src/data/sys-file-reader.c:1197
 msgid ""
 "Variable index record (type 4) does not immediately follow value label "
 "record (type 3) as it should."
@@ -988,7 +932,7 @@ msgstr ""
 "Variabele index record (type 4) volgt niet onmiddellijk waarde label record "
 "(type 3) zoals het moet."
 
-#: src/data/sys-file-reader.c:1193
+#: src/data/sys-file-reader.c:1204
 #, c-format
 msgid ""
 "Number of variables associated with a value label (%d) is not between 1 and "
@@ -997,12 +941,14 @@ msgstr ""
 "Aantal variabelen geassocieerd aan waarde label (%d) is niet tussen 1 en het "
 "aantal variabelen (%zu)."
 
-#: src/data/sys-file-reader.c:1203
-#, c-format
-msgid "Value labels are not allowed on long string variables (%s)."
+#: src/data/sys-file-reader.c:1215
+#, fuzzy, c-format
+msgid ""
+"Value labels may not be added to long string variables (e.g. %s) using "
+"records types 3 and 4."
 msgstr "Waarde labels zijn niet toegestaan bij lange string variabelen (%s)."
 
-#: src/data/sys-file-reader.c:1210
+#: src/data/sys-file-reader.c:1224
 #, c-format
 msgid ""
 "Variables associated with value label are not all of identical type.  "
@@ -1011,87 +957,120 @@ msgstr ""
 "Variabelen geassocieerd met waarde label zijn niet allemaal van het "
 "identieke type.  Variabele %s is %s, maar variabele %s is %s."
 
-#: src/data/sys-file-reader.c:1243
+#: src/data/sys-file-reader.c:1258
 #, c-format
 msgid "Duplicate value label for %g on %s."
 msgstr "Dubbel waarde label voor %g op %s."
 
-#: src/data/sys-file-reader.c:1246
+#: src/data/sys-file-reader.c:1261 src/data/sys-file-reader.c:1442
 #, c-format
 msgid "Duplicate value label for \"%.*s\" on %s."
 msgstr "Dubbel waarde label voor \"%.*s\" on %s."
 
-#: src/data/sys-file-reader.c:1284
+#: src/data/sys-file-reader.c:1299
 #, c-format
 msgid "Error parsing attribute value %s[%d]"
 msgstr "Fout bij het ontleden van attribuut waarde %s[%d]"
 
-#: src/data/sys-file-reader.c:1298
+#: src/data/sys-file-reader.c:1313
 #, c-format
 msgid "Attribute value %s[%d] is not quoted: %s"
 msgstr "Attribuut waarde %s[%d] is niet geciteerd: %s"
 
-#: src/data/sys-file-reader.c:1414
+#: src/data/sys-file-reader.c:1376
+#, c-format
+msgid ""
+"Variable name length in long string value label record (%d) exceeds %d-byte "
+"limit."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1386
+#, fuzzy, c-format
+msgid "Ignoring long string value record for unknown variable %s."
+msgstr "Variabele afbeelding refereert aan onbekende variabele %s."
+
+#: src/data/sys-file-reader.c:1393
+#, fuzzy, c-format
+msgid "Ignoring long string value record for numeric variable %s."
+msgstr ""
+"Kan missing values uit bron bestand niet toepassen op lange string variabele "
+"%s."
+
+#: src/data/sys-file-reader.c:1400
+#, c-format
+msgid ""
+"Ignoring long string value record for variable %s because the record's width "
+"(%d) does not match the variable's width (%d)"
+msgstr ""
+
+#: src/data/sys-file-reader.c:1422
+#, c-format
+msgid ""
+"Ignoring long string value %zu for variable %s, with width %d, that has bad "
+"value width %zu."
+msgstr ""
+
+#: src/data/sys-file-reader.c:1537
 msgid "File ends in partial case."
 msgstr "Bestand eindigt in gedeeltelijke case."
 
-#: src/data/sys-file-reader.c:1422
+#: src/data/sys-file-reader.c:1545
 #, c-format
 msgid "Error reading case from file %s."
 msgstr "Fout tijdens lezen case van bestand %s."
 
-#: src/data/sys-file-reader.c:1519 src/data/sys-file-reader.c:1555
+#: src/data/sys-file-reader.c:1642 src/data/sys-file-reader.c:1678
 msgid "Compressed data is corrupt."
 msgstr "Gecomprimeerde data is corrupt."
 
-#: src/data/sys-file-reader.c:1642
+#: src/data/sys-file-reader.c:1765
 #, c-format
 msgid "Variable index %d not in valid range 1...%d."
 msgstr "Variabele index %d niet in geldige range 1...%d."
 
-#: src/data/sys-file-reader.c:1647
+#: src/data/sys-file-reader.c:1770
 #, c-format
 msgid "Variable index %d refers to long string continuation."
 msgstr "Variabele index %d verwijst naar lange string voortzetting."
 
-#: src/data/sys-file-reader.c:1715
+#: src/data/sys-file-reader.c:1838
 #, c-format
 msgid "Suppressed %d additional related warnings."
 msgstr "Onderdrukt %d extra gerelateerde waarschuwingen."
 
-#: src/data/sys-file-reader.c:1756
+#: src/data/sys-file-reader.c:1879
 #, c-format
 msgid "Variable map refers to unknown variable %s."
 msgstr "Variabele afbeelding refereert aan onbekende variabele %s."
 
-#: src/data/sys-file-reader.c:1864
+#: src/data/sys-file-reader.c:1987
 #, c-format
 msgid "System error: %s."
 msgstr "Systeem fout: %s."
 
-#: src/data/sys-file-reader.c:1866
+#: src/data/sys-file-reader.c:1989
 msgid "Unexpected end of file."
 msgstr "Onverwacht bestand einde."
 
-#: src/data/sys-file-writer.c:173
+#: src/data/sys-file-writer.c:175
 #, c-format
 msgid "Unknown system file version %d. Treating as version %d."
 msgstr "Onbekende systeem bestand versie %d. Behandeld als versie %d."
 
-#: src/data/sys-file-writer.c:212
+#: src/data/sys-file-writer.c:214
 #, c-format
 msgid "Error opening \"%s\" for writing as a system file: %s."
 msgstr ""
 "Fout bij het openen van \"%s\" voor het schrijven als een systeem bestand: %"
 "s."
 
-#: src/data/sys-file-writer.c:837
+#: src/data/sys-file-writer.c:917
 #, c-format
 msgid "An I/O error occurred writing system file \"%s\"."
 msgstr ""
 "Een I/O fout is opgetreden tijdens het schrijven van systeem bestand \"%s\"."
 
-#: src/data/variable.c:240
+#: src/data/variable.c:242
 #, c-format
 msgid ""
 "Character `%c' (in %s) may not appear as the first character in a variable "
@@ -1100,31 +1079,31 @@ msgstr ""
 "Karakter '%c' (in %s) mag niet als eerste karakter in een variabele naam "
 "voorkomen. "
 
-#: src/data/variable.c:252
+#: src/data/variable.c:254
 #, c-format
 msgid "Character `%c' (in %s) may not appear in a variable name."
 msgstr "Karakter '%c' (in %s) mag niet in een variabele naam voorkomen."
 
-#: src/data/variable.c:280
+#: src/data/variable.c:282
 msgid "Variable name cannot be empty string."
 msgstr "Variabele naam kan geen lege string zijn."
 
-#: src/data/variable.c:286
+#: src/data/variable.c:288
 #, c-format
 msgid "Variable name %s exceeds %d-character limit."
 msgstr "Variabele naam %s overschrijdt de limiet van %d-karakters."
 
-#: src/data/variable.c:294
+#: src/data/variable.c:296
 #, c-format
 msgid "`%s' may not be used as a variable name because it is a reserved word."
 msgstr ""
 "'%s' mag niet gebruikt worden als variabele naam omdat het een gereserveerd "
 "woord is."
 
-#: src/language/command.c:208
+#: src/language/command.c:208 src/language/expressions/parse.c:1267
 #, c-format
-msgid "%s is unimplemented."
-msgstr "%s is niet geïmplementeerd."
+msgid "%s is not yet implemented."
+msgstr "%s is nog niet geïmplementeerd."
 
 #: src/language/command.c:214
 #, c-format
@@ -1424,7 +1403,7 @@ msgstr ""
 "Variabele naam %s gespecificeerd op %s subopdracht dupliceert een bestaande "
 "variabele naam."
 
-#: src/language/data-io/combine-files.c:757
+#: src/language/data-io/combine-files.c:762
 #, c-format
 msgid "Encountered %zu sets of duplicate cases in the master file."
 msgstr "Ontmoet %zu sets van dubbele cases in het master bestand. "
@@ -1509,7 +1488,7 @@ msgstr "Record eindigd in data die geen onderdeel is van een veld."
 #: src/language/dictionary/split-file.c:84
 #: src/language/dictionary/sys-file-info.c:169
 #: src/language/dictionary/sys-file-info.c:393
-#: src/language/dictionary/sys-file-info.c:716
+#: src/language/dictionary/sys-file-info.c:725
 #: src/language/stats/descriptives.c:885 src/ui/gui/psppire-dictview.c:502
 msgid "Variable"
 msgstr "Variabele"
@@ -1519,8 +1498,8 @@ msgid "Record"
 msgstr ""
 
 #: src/language/data-io/data-parser.c:646 src/language/data-io/print.c:405
-#: src/ui/gui/crosstabs.glade:92 src/ui/gui/psppire-var-sheet.c:545
-#: src/ui/gui/psppire-var-store.c:791
+#: src/ui/gui/crosstabs.glade:92 src/ui/gui/psppire-var-sheet.c:534
+#: src/ui/gui/psppire-var-store.c:800
 msgid "Columns"
 msgstr "Kolommen"
 
@@ -1746,19 +1725,19 @@ msgstr ""
 "Het gespecificeerde record nummer, %ld, overschrijdt het aantal records per "
 "case zoals gespecificeerd in FIXCASE, %d."
 
-#: src/language/data-io/inpt-pgm.c:129
+#: src/language/data-io/inpt-pgm.c:130
 msgid "Unexpected end-of-file within INPUT PROGRAM."
 msgstr "Onverwacht einde-bestand binnen INPUT PROGRAM."
 
-#: src/language/data-io/inpt-pgm.c:142
+#: src/language/data-io/inpt-pgm.c:143
 msgid "Input program did not create any variables."
 msgstr "Input program heeft geen variabelen gecreëerd."
 
-#: src/language/data-io/inpt-pgm.c:286
+#: src/language/data-io/inpt-pgm.c:288
 msgid "COLUMN subcommand multiply specified."
 msgstr "COLUMN subopdracht meerdere keren gespecificeerd."
 
-#: src/language/data-io/inpt-pgm.c:336
+#: src/language/data-io/inpt-pgm.c:338
 msgid ""
 "REREAD: Column numbers must be positive finite numbers.  Column set to 1."
 msgstr ""
@@ -1857,21 +1836,21 @@ msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
 msgstr ""
 "De output vraagt %d records maar %zu gespecificeerd bij RECORDS subopdracht. "
 
-#: src/language/data-io/print.c:436
+#: src/language/data-io/print.c:437
 #, c-format
 msgid "Writing %d record to %s."
 msgid_plural "Writing %d records to %s."
 msgstr[0] "Schrijven van %d record naar %s."
 msgstr[1] "Schrijven van %d records naar %s."
 
-#: src/language/data-io/print.c:440
+#: src/language/data-io/print.c:441
 #, c-format
 msgid "Writing %d record."
 msgid_plural "Writing %d records."
 msgstr[0] "Schrijven van %d record."
 msgstr[1] "Schrijven van %d records."
 
-#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:479
+#: src/language/data-io/print-space.c:73 src/language/lexer/lexer.c:478
 #: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:60
 msgid "expecting end of command"
 msgstr "verwacht einde van opdracht "
@@ -1932,22 +1911,7 @@ msgstr "Kan niet alle variabelen DROP-en uit woordenboek."
 msgid "Variable %s is %s in target file, but %s in source file."
 msgstr "Variabele %s is %s in doel bestand, maar %s in bron bestand."
 
-#: src/language/dictionary/apply-dictionary.c:99
-#, c-format
-msgid "Cannot add value labels from source file to long string variable %s."
-msgstr ""
-"Kan geen value labels van bron bestand toevoegen aan lange string variabele %"
-"s."
-
-#: src/language/dictionary/apply-dictionary.c:113
-#, c-format
-msgid ""
-"Cannot apply missing values from source file to long string variable %s."
-msgstr ""
-"Kan missing values uit bron bestand niet toepassen op lange string variabele "
-"%s."
-
-#: src/language/dictionary/apply-dictionary.c:129
+#: src/language/dictionary/apply-dictionary.c:115
 msgid "No matching variables found between the source and target files."
 msgstr ""
 "Geen overeenkomende variabelen gevonden tussen het bron en het doel bestand."
@@ -1998,12 +1962,12 @@ msgstr ""
 "Kan numerieke variabelen (b.v. %s) en string variabelen (b.v. %s) niet mixen "
 "binnen een enkele lijst."
 
-#: src/language/dictionary/missing-values.c:117
-#, c-format
-msgid "Truncating missing value to short string length (%d characters)."
+#: src/language/dictionary/missing-values.c:116
+#, fuzzy, c-format
+msgid "Truncating missing value to maximum acceptable length (%d bytes)."
 msgstr "Afkappen missing value naar short string lengte (%d karakters)."
 
-#: src/language/dictionary/missing-values.c:139
+#: src/language/dictionary/missing-values.c:138
 #, c-format
 msgid "Missing values provided are too long to assign to variable of width %d."
 msgstr ""
@@ -2134,21 +2098,21 @@ msgid "Renaming would duplicate variable name %s."
 msgstr "Hernoemen zou variabele naam %s dupliceren."
 
 #: src/language/dictionary/split-file.c:85
-#: src/language/dictionary/sys-file-info.c:487
-#: src/language/dictionary/sys-file-info.c:636
-#: src/language/stats/crosstabs.q:1167 src/language/stats/crosstabs.q:1194
-#: src/language/stats/crosstabs.q:1214 src/language/stats/crosstabs.q:1236
-#: src/language/stats/examine.q:1958 src/language/stats/frequencies.q:1059
-#: src/language/stats/frequencies.q:1184 src/language/stats/reliability.q:581
-#: src/language/stats/reliability.q:592
+#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:641
+#: src/language/stats/crosstabs.q:1231 src/language/stats/crosstabs.q:1258
+#: src/language/stats/crosstabs.q:1282 src/language/stats/crosstabs.q:1307
+#: src/language/stats/examine.q:1959 src/language/stats/frequencies.q:1048
+#: src/language/stats/frequencies.q:1173 src/language/stats/reliability.q:582
+#: src/language/stats/reliability.q:593
 msgid "Value"
 msgstr "Waarde"
 
 #: src/language/dictionary/split-file.c:86
 #: src/language/dictionary/sys-file-info.c:397
-#: src/language/dictionary/sys-file-info.c:637 src/ui/gui/crosstabs.glade:275
-#: src/ui/gui/psppire.glade:1999 src/ui/gui/psppire-var-sheet.c:542
-#: src/ui/gui/psppire-var-store.c:788
+#: src/language/dictionary/sys-file-info.c:642 src/ui/gui/crosstabs.glade:275
+#: src/ui/gui/psppire.glade:1974 src/ui/gui/psppire-var-sheet.c:531
+#: src/ui/gui/psppire-var-store.c:797
 msgid "Label"
 msgstr ""
 
@@ -2156,7 +2120,7 @@ msgstr ""
 msgid "File:"
 msgstr "Bestand:"
 
-#: src/language/dictionary/sys-file-info.c:115 src/ui/gui/psppire.glade:1938
+#: src/language/dictionary/sys-file-info.c:115 src/ui/gui/psppire.glade:1913
 #: src/ui/gui/recode.glade:841
 msgid "Label:"
 msgstr ""
@@ -2268,7 +2232,7 @@ msgstr "Omschrijving"
 
 #: src/language/dictionary/sys-file-info.c:171
 #: src/language/dictionary/sys-file-info.c:399
-#: src/language/dictionary/sys-file-info.c:715
+#: src/language/dictionary/sys-file-info.c:724
 msgid "Position"
 msgstr "Positie"
 
@@ -2296,16 +2260,16 @@ msgstr "Het actieve bestand woordenboek bevat geen documenten."
 msgid "Documents in the active file:"
 msgstr "Documenten in het actieve bestand:"
 
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:485
 msgid "Attribute"
 msgstr "Attribuut"
 
-#: src/language/dictionary/sys-file-info.c:544
+#: src/language/dictionary/sys-file-info.c:543
 #, c-format
 msgid "Format: %s"
 msgstr "Formaat: %s"
 
-#: src/language/dictionary/sys-file-info.c:551
+#: src/language/dictionary/sys-file-info.c:550
 #, c-format
 msgid "Print Format: %s"
 msgstr "Print Formaat: %s"
@@ -2315,89 +2279,72 @@ msgstr "Print Formaat: %s"
 msgid "Write Format: %s"
 msgstr "Schrijf Formaat: %s"
 
-#: src/language/dictionary/sys-file-info.c:566
+#: src/language/dictionary/sys-file-info.c:567
 #, c-format
 msgid "Measure: %s"
 msgstr "Meting: %s"
 
-#: src/language/dictionary/sys-file-info.c:567
+#: src/language/dictionary/sys-file-info.c:568
 #: src/ui/gui/psppire-var-sheet.c:111
 msgid "Nominal"
 msgstr "Nominaal"
 
-#: src/language/dictionary/sys-file-info.c:568
+#: src/language/dictionary/sys-file-info.c:569
 #: src/ui/gui/psppire-var-sheet.c:112
 msgid "Ordinal"
 msgstr "Ordinaal"
 
-#: src/language/dictionary/sys-file-info.c:569
+#: src/language/dictionary/sys-file-info.c:570
 #: src/ui/gui/psppire-var-sheet.c:113
 msgid "Scale"
 msgstr "Schaal"
 
-#: src/language/dictionary/sys-file-info.c:572
+#: src/language/dictionary/sys-file-info.c:573
 #, c-format
 msgid "Display Alignment: %s"
 msgstr "Toon Groepering: %s"
 
-#: src/language/dictionary/sys-file-info.c:573
+#: src/language/dictionary/sys-file-info.c:574
 #: src/ui/gui/psppire-var-sheet.c:104
 msgid "Left"
 msgstr "Links"
 
-#: src/language/dictionary/sys-file-info.c:574
+#: src/language/dictionary/sys-file-info.c:575
 #: src/ui/gui/psppire-var-sheet.c:106
 msgid "Center"
 msgstr "Centreer"
 
-#: src/language/dictionary/sys-file-info.c:575
+#: src/language/dictionary/sys-file-info.c:576
 #: src/ui/gui/psppire-var-sheet.c:105
 msgid "Right"
 msgstr "Rechts"
 
-#: src/language/dictionary/sys-file-info.c:578
+#: src/language/dictionary/sys-file-info.c:579
 #, c-format
 msgid "Display Width: %d"
 msgstr "Toonbreedte: %d"
 
-#: src/language/dictionary/sys-file-info.c:590
+#: src/language/dictionary/sys-file-info.c:593
 msgid "Missing Values: "
 msgstr "Ontbrekende Waardes:"
 
-#: src/language/dictionary/sys-file-info.c:693
+#: src/language/dictionary/sys-file-info.c:702
 msgid "No vectors defined."
 msgstr "Geen vectoren gedefinieerd."
 
-#: src/language/dictionary/sys-file-info.c:714
+#: src/language/dictionary/sys-file-info.c:723
 msgid "Vector"
 msgstr ""
 
-#: src/language/dictionary/sys-file-info.c:717
+#: src/language/dictionary/sys-file-info.c:726
 msgid "Print Format"
 msgstr "Print Formaat"
 
-#: src/language/dictionary/value-labels.c:121
-#, c-format
-msgid ""
-"It is not possible to assign value labels to long string variables such as %"
-"s."
-msgstr ""
-"Het is niet mogelijk om waarde labels aan lange string variabelen als %s toe "
-"te kennen."
-
-#: src/language/dictionary/value-labels.c:157 src/language/lexer/lexer.c:632
-msgid "expecting string"
-msgstr "string verwacht"
-
-#: src/language/dictionary/value-labels.c:166 src/language/lexer/lexer.c:659
-msgid "expecting number"
-msgstr "nummer verwacht"
-
-#: src/language/dictionary/value-labels.c:182
+#: src/language/dictionary/value-labels.c:150
 msgid "Truncating value label to 60 characters."
 msgstr "Afkappen waarde label tot 60 karakters."
 
-#: src/language/dictionary/variable-display.c:119
+#: src/language/dictionary/variable-display.c:120
 msgid "Variable display width must be a positive integer."
 msgstr "Variabele toonbreedte moet een positieve integer zijn."
 
@@ -2449,11 +2396,11 @@ msgstr "De weging variabele moet numeriek zijn."
 msgid "The weighting variable may not be scratch."
 msgstr "De weging variabele mag geen scratch zijn."
 
-#: src/language/expressions/evaluate.c:154
+#: src/language/expressions/evaluate.c:155
 msgid "expecting number or string"
 msgstr "verwacht nummer of string"
 
-#: src/language/expressions/evaluate.c:168
+#: src/language/expressions/evaluate.c:169
 #, c-format
 msgid "Duplicate variable name %s."
 msgstr "Dubbele variabele naam %s."
@@ -2640,11 +2587,6 @@ msgstr "verwacht ',' of ')' bij aanroep %s functie"
 msgid "%s is a PSPP extension."
 msgstr "%s is een PSPP extensie."
 
-#: src/language/expressions/parse.c:1267
-#, c-format
-msgid "%s is not yet implemented."
-msgstr "%s is nog niet geïmplementeerd."
-
 #: src/language/expressions/parse.c:1273
 #, c-format
 msgid "%s may not appear after TEMPORARY."
@@ -2664,89 +2606,92 @@ msgid "%s does not form a valid number."
 msgstr "%s vormt geen geldig nummer."
 
 #: src/language/lexer/lexer.c:389
-#, c-format
-msgid "Bad character in input: `%c'."
+#, fuzzy, c-format
+msgid "Bad character in input: `%s'."
 msgstr "Fout karakter in input: '%c'."
 
-#: src/language/lexer/lexer.c:391
-#, c-format
-msgid "Bad character in input: `\\%o'."
-msgstr "Fout karakter in input: '\\%o'."
-
-#: src/language/lexer/lexer.c:427
+#: src/language/lexer/lexer.c:426
 #, c-format
 msgid "Subcommand %s may only be specified once."
 msgstr "Subopdracht %s mag slechts een keer gespecificeerd worden."
 
-#: src/language/lexer/lexer.c:435
+#: src/language/lexer/lexer.c:434
 #, c-format
 msgid "missing required subcommand %s"
 msgstr "mis verplichte subopdracht %s"
 
-#: src/language/lexer/lexer.c:464
+#: src/language/lexer/lexer.c:463
 #, c-format
 msgid "Syntax error %s at %s."
 msgstr "Syntax fout %s op %s."
 
-#: src/language/lexer/lexer.c:467
+#: src/language/lexer/lexer.c:466
 #, c-format
 msgid "Syntax error at %s."
 msgstr "Syntax fout op %s."
 
-#: src/language/lexer/lexer.c:601 src/language/lexer/lexer.c:618
+#: src/language/lexer/lexer.c:600 src/language/lexer/lexer.c:617
 #, c-format
 msgid "expecting `%s'"
 msgstr "verwacht '%s'"
 
-#: src/language/lexer/lexer.c:646
+#: src/language/lexer/lexer.c:631
+msgid "expecting string"
+msgstr "string verwacht"
+
+#: src/language/lexer/lexer.c:645
 msgid "expecting integer"
 msgstr "verwacht integer"
 
-#: src/language/lexer/lexer.c:671
+#: src/language/lexer/lexer.c:658
+msgid "expecting number"
+msgstr "nummer verwacht"
+
+#: src/language/lexer/lexer.c:670
 msgid "expecting identifier"
 msgstr "verwacht herkenningsteken"
 
-#: src/language/lexer/lexer.c:1065
+#: src/language/lexer/lexer.c:1064
 msgid "binary"
 msgstr "binair"
 
-#: src/language/lexer/lexer.c:1070
+#: src/language/lexer/lexer.c:1069
 msgid "octal"
 msgstr "octaal"
 
-#: src/language/lexer/lexer.c:1075
+#: src/language/lexer/lexer.c:1074
 msgid "hex"
 msgstr ""
 
-#: src/language/lexer/lexer.c:1085
+#: src/language/lexer/lexer.c:1084
 #, c-format
 msgid "String of %s digits has %zu characters, which is not a multiple of %d."
 msgstr ""
 "String van %s cijfers heeft %zu karakters, wat geen meervoud van %d is."
 
-#: src/language/lexer/lexer.c:1114
+#: src/language/lexer/lexer.c:1113
 #, c-format
 msgid "`%c' is not a valid %s digit."
 msgstr "'%c' is geen geldig %s cijfer."
 
-#: src/language/lexer/lexer.c:1148
+#: src/language/lexer/lexer.c:1147
 msgid "Unterminated string constant."
 msgstr "Geen einde aan string constante."
 
-#: src/language/lexer/lexer.c:1202
+#: src/language/lexer/lexer.c:1201
 msgid "Unexpected end of file in string concatenation."
 msgstr "Onverwacht bestandseinde in string samenvoeging."
 
-#: src/language/lexer/lexer.c:1210
+#: src/language/lexer/lexer.c:1209
 msgid "String expected following `+'."
 msgstr "String verwacht achter '+'."
 
-#: src/language/lexer/lexer.c:1223
+#: src/language/lexer/lexer.c:1222
 #, c-format
 msgid "String exceeds 255 characters in length (%zu characters)."
 msgstr "String overschrijdt de lengte van 255 karakters (%zu karakters)."
 
-#: src/language/lexer/range-parser.c:60
+#: src/language/lexer/value-parser.c:60
 #, c-format
 msgid ""
 "Low end of range (%g) is below high end (%g).  The range will be treated as "
@@ -2755,20 +2700,20 @@ msgstr ""
 "Ondergrens van range (%g) is lager dan bovengrens (%g). De range wordt "
 "behandeld als omgekeerd."
 
-#: src/language/lexer/range-parser.c:68
+#: src/language/lexer/value-parser.c:68
 #, c-format
 msgid "Ends of range are equal (%g)."
 msgstr "Eindes van range zijn gelijk (%g)."
 
-#: src/language/lexer/range-parser.c:76
+#: src/language/lexer/value-parser.c:76
 msgid "LO or LOWEST must be part of a range."
 msgstr "LO of LOWEST moet een onderdeel van een range zijn."
 
-#: src/language/lexer/range-parser.c:108
+#: src/language/lexer/value-parser.c:108
 msgid "System-missing value is not valid here."
 msgstr "System-missing waarde is hier niet geldig."
 
-#: src/language/lexer/range-parser.c:116
+#: src/language/lexer/value-parser.c:116
 msgid "expecting number or data string"
 msgstr "nummer of data string verwacht"
 
@@ -2940,63 +2885,63 @@ msgstr "Doel variabele %s dupliceert bestaande variabele %s."
 msgid "Duplicate variable name %s among target variables."
 msgstr "Dubbele variabele naam %s tussen doel variabelen."
 
-#: src/language/stats/binomial.c:142
+#: src/language/stats/binomial.c:141
 #, c-format
 msgid "Variable %s is not dichotomous"
 msgstr "Variabele %s is niet dichotomisch "
 
-#: src/language/stats/binomial.c:207
+#: src/language/stats/binomial.c:194
 msgid "Binomial Test"
 msgstr ""
 
-#: src/language/stats/binomial.c:238
+#: src/language/stats/binomial.c:224
 msgid "Group1"
 msgstr "Groep1 "
 
-#: src/language/stats/binomial.c:239
+#: src/language/stats/binomial.c:225
 msgid "Group2"
 msgstr "Groep2"
 
-#: src/language/stats/binomial.c:240 src/language/stats/chisquare.c:224
-#: src/language/stats/chisquare.c:284 src/language/stats/crosstabs.q:868
-#: src/language/stats/crosstabs.q:1074 src/language/stats/crosstabs.q:1797
-#: src/language/stats/examine.q:1214 src/language/stats/frequencies.q:1136
-#: src/language/stats/oneway.q:305 src/language/stats/oneway.q:475
-#: src/language/stats/regression.q:309 src/language/stats/reliability.q:717
-#: src/language/stats/sign.c:93 src/language/stats/wilcoxon.c:246
+#: src/language/stats/binomial.c:226 src/language/stats/chisquare.c:202
+#: src/language/stats/chisquare.c:262 src/language/stats/crosstabs.q:843
+#: src/language/stats/crosstabs.q:1170 src/language/stats/crosstabs.q:1594
+#: src/language/stats/examine.q:1216 src/language/stats/frequencies.q:1125
+#: src/language/stats/oneway.q:305 src/language/stats/oneway.q:476
+#: src/language/stats/regression.q:309 src/language/stats/reliability.q:718
+#: src/language/stats/sign.c:94 src/language/stats/wilcoxon.c:262
 #: src/ui/gui/crosstabs-dialog.c:59
 msgid "Total"
 msgstr "Totaal"
 
-#: src/language/stats/binomial.c:273 src/language/stats/chisquare.c:247
-#: src/language/stats/crosstabs.q:1192 src/language/stats/crosstabs.q:1233
+#: src/language/stats/binomial.c:259 src/language/stats/chisquare.c:225
+#: src/language/stats/crosstabs.q:1256 src/language/stats/crosstabs.q:1304
 msgid "Category"
 msgstr "Categorie"
 
-#: src/language/stats/binomial.c:274 src/language/stats/crosstabs.q:878
-#: src/language/stats/examine.q:1287 src/language/stats/frequencies.q:1407
+#: src/language/stats/binomial.c:260 src/language/stats/crosstabs.q:850
+#: src/language/stats/examine.q:1289 src/language/stats/frequencies.q:1396
 #: src/language/stats/npar-summary.c:123 src/language/stats/oneway.q:389
-#: src/language/stats/reliability.q:720 src/language/stats/sign.c:73
-#: src/language/stats/t-test.q:700 src/language/stats/t-test.q:724
-#: src/language/stats/t-test.q:863 src/language/stats/t-test.q:1425
-#: src/language/stats/wilcoxon.c:229
+#: src/language/stats/reliability.q:721 src/language/stats/sign.c:74
+#: src/language/stats/t-test.q:506 src/language/stats/t-test.q:526
+#: src/language/stats/t-test.q:626 src/language/stats/t-test.q:1105
+#: src/language/stats/wilcoxon.c:245
 msgid "N"
 msgstr ""
 
-#: src/language/stats/binomial.c:275
+#: src/language/stats/binomial.c:261
 msgid "Observed Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:276
+#: src/language/stats/binomial.c:262
 msgid "Test Prop."
 msgstr ""
 
-#: src/language/stats/binomial.c:279
+#: src/language/stats/binomial.c:265
 #, c-format
 msgid "Exact Sig. (%d-tailed)"
 msgstr ""
 
-#: src/language/stats/chisquare.c:194
+#: src/language/stats/chisquare.c:172
 #, c-format
 msgid ""
 "CHISQUARE test specified %d expected values, but %d distinct values were "
@@ -3005,332 +2950,327 @@ msgstr ""
 "CHISQUARE test specificeert %d verwachte waardes, maar %d verschillende "
 "waardes werden gevonden in variabele %s."
 
-#: src/language/stats/chisquare.c:208 src/language/stats/chisquare.c:248
+#: src/language/stats/chisquare.c:186 src/language/stats/chisquare.c:226
 msgid "Observed N"
 msgstr "Waargenomen N"
 
-#: src/language/stats/chisquare.c:209 src/language/stats/chisquare.c:249
+#: src/language/stats/chisquare.c:187 src/language/stats/chisquare.c:227
 msgid "Expected N"
 msgstr "Verwacht N"
 
-#: src/language/stats/chisquare.c:210 src/language/stats/chisquare.c:250
+#: src/language/stats/chisquare.c:188 src/language/stats/chisquare.c:228
 #: src/language/stats/regression.q:308 src/ui/gui/crosstabs-dialog.c:61
 msgid "Residual"
 msgstr "Overblijvend"
 
-#: src/language/stats/chisquare.c:243 src/language/stats/sign.c:61
+#: src/language/stats/chisquare.c:221 src/language/stats/sign.c:62
 msgid "Frequencies"
 msgstr "Frequenties"
 
-#: src/language/stats/chisquare.c:298 src/language/stats/sign.c:114
-#: src/language/stats/wilcoxon.c:297
+#: src/language/stats/chisquare.c:276 src/language/stats/sign.c:115
+#: src/language/stats/wilcoxon.c:313
 msgid "Test Statistics"
 msgstr ""
 
-#: src/language/stats/chisquare.c:312
+#: src/language/stats/chisquare.c:290
 msgid "Chi-Square"
 msgstr ""
 
-#: src/language/stats/chisquare.c:313 src/language/stats/crosstabs.q:1168
-#: src/language/stats/oneway.q:278 src/language/stats/oneway.q:689
-#: src/language/stats/regression.q:302 src/language/stats/t-test.q:1026
-#: src/language/stats/t-test.q:1219 src/language/stats/t-test.q:1316
+#: src/language/stats/chisquare.c:291 src/language/stats/crosstabs.q:1232
+#: src/language/stats/oneway.q:278 src/language/stats/oneway.q:691
+#: src/language/stats/regression.q:302 src/language/stats/t-test.q:753
+#: src/language/stats/t-test.q:924 src/language/stats/t-test.q:1011
 msgid "df"
 msgstr ""
 
-#: src/language/stats/chisquare.c:314
+#: src/language/stats/chisquare.c:292
 msgid "Asymp. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:278
+#: src/language/stats/crosstabs.q:325
 msgid ""
 "Missing mode REPORT not allowed in general mode.  Assuming MISSING=TABLE."
 msgstr ""
 "Missing modus REPORT niet toegestaan in algemene modus.  MISSING=TABLE "
 "aangenomen."
 
-#: src/language/stats/crosstabs.q:288
-msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
-msgstr ""
-"Write modus ALL niet toegestaan in algemen modus.  WRITE=CELLS aangenomen."
-
-#: src/language/stats/crosstabs.q:364
+#: src/language/stats/crosstabs.q:414
 msgid "Too many cross-tabulation variables or dimensions."
 msgstr "Te veel cross-tabulation variabelen of dimensies."
 
-#: src/language/stats/crosstabs.q:374
+#: src/language/stats/crosstabs.q:424
 msgid "expecting BY"
 msgstr "BY verwacht"
 
-#: src/language/stats/crosstabs.q:441
+#: src/language/stats/crosstabs.q:484
 msgid "VARIABLES must be specified before TABLES."
 msgstr "VARIABLES dient voor TABLES gespecificeerd te worden."
 
-#: src/language/stats/crosstabs.q:479
+#: src/language/stats/crosstabs.q:522
 #, c-format
 msgid "Maximum value (%ld) less than minimum value (%ld)."
 msgstr "Maximum waarde (%ld) is kleiner dan minimum waarde (%ld)."
 
-#: src/language/stats/crosstabs.q:863
+#: src/language/stats/crosstabs.q:838
 msgid "Summary."
 msgstr "Overzicht."
 
-#: src/language/stats/crosstabs.q:865 src/language/stats/examine.q:1275
-#: src/language/stats/reliability.q:708
+#: src/language/stats/crosstabs.q:840 src/language/stats/examine.q:1277
+#: src/language/stats/reliability.q:709
 msgid "Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:866 src/language/stats/examine.q:1212
-#: src/language/stats/frequencies.q:1057 src/language/stats/frequencies.q:1408
-#: src/language/stats/reliability.q:711
+#: src/language/stats/crosstabs.q:841 src/language/stats/examine.q:1214
+#: src/language/stats/frequencies.q:1046 src/language/stats/frequencies.q:1397
+#: src/language/stats/reliability.q:712
 msgid "Valid"
 msgstr "Geldig"
 
-#: src/language/stats/crosstabs.q:867 src/language/stats/examine.q:1213
-#: src/language/stats/frequencies.q:1127 src/language/stats/frequencies.q:1409
-#: src/ui/gui/psppire-var-sheet.c:544 src/ui/gui/psppire-var-store.c:790
+#: src/language/stats/crosstabs.q:842 src/language/stats/examine.q:1215
+#: src/language/stats/frequencies.q:1116 src/language/stats/frequencies.q:1398
+#: src/ui/gui/psppire-var-sheet.c:533 src/ui/gui/psppire-var-store.c:799
 msgid "Missing"
 msgstr "Ontbrekend"
 
-#: src/language/stats/crosstabs.q:879 src/language/stats/examine.q:1290
-#: src/language/stats/frequencies.q:1061 src/language/stats/frequencies.q:1062
-#: src/language/stats/frequencies.q:1063
+#: src/language/stats/crosstabs.q:851 src/language/stats/examine.q:1292
+#: src/language/stats/frequencies.q:1050 src/language/stats/frequencies.q:1051
+#: src/language/stats/frequencies.q:1052
 msgid "Percent"
 msgstr "Procent"
 
-#: src/language/stats/crosstabs.q:1126
+#: src/language/stats/crosstabs.q:1131
 msgid "count"
 msgstr "aantal"
 
-#: src/language/stats/crosstabs.q:1127
+#: src/language/stats/crosstabs.q:1132
 msgid "row %"
 msgstr "rij %"
 
-#: src/language/stats/crosstabs.q:1128
+#: src/language/stats/crosstabs.q:1133
 msgid "column %"
 msgstr "kolom %"
 
-#: src/language/stats/crosstabs.q:1129
+#: src/language/stats/crosstabs.q:1134
 msgid "total %"
 msgstr "totaal %"
 
-#: src/language/stats/crosstabs.q:1130
+#: src/language/stats/crosstabs.q:1135
 msgid "expected"
 msgstr "verwacht"
 
-#: src/language/stats/crosstabs.q:1131
+#: src/language/stats/crosstabs.q:1136
 msgid "residual"
 msgstr "overblijvend"
 
-#: src/language/stats/crosstabs.q:1132
+#: src/language/stats/crosstabs.q:1137
 msgid "std. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1138
 msgid "adj. resid."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1227
 msgid "Chi-square tests."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1193
-#: src/language/stats/crosstabs.q:1213 src/language/stats/crosstabs.q:1234
-#: src/language/stats/examine.q:1752 src/ui/gui/checkbox-treeview.c:92
+#: src/language/stats/crosstabs.q:1230 src/language/stats/crosstabs.q:1257
+#: src/language/stats/crosstabs.q:1281 src/language/stats/crosstabs.q:1305
+#: src/language/stats/examine.q:1753 src/ui/gui/checkbox-treeview.c:92
 msgid "Statistic"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1170
+#: src/language/stats/crosstabs.q:1234
 msgid "Asymp. Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1172
-msgid "Exact. Sig. (2-sided)"
+#: src/language/stats/crosstabs.q:1236
+msgid "Exact Sig. (2-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1174
-msgid "Exact. Sig. (1-sided)"
+#: src/language/stats/crosstabs.q:1238
+msgid "Exact Sig. (1-sided)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1253
 msgid "Symmetric measures."
 msgstr "Symmetrische metingen."
 
-#: src/language/stats/crosstabs.q:1195 src/language/stats/crosstabs.q:1237
+#: src/language/stats/crosstabs.q:1259 src/language/stats/crosstabs.q:1308
 msgid "Asymp. Std. Error"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1196 src/language/stats/crosstabs.q:1238
+#: src/language/stats/crosstabs.q:1260 src/language/stats/crosstabs.q:1309
 msgid "Approx. T"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1197 src/language/stats/crosstabs.q:1239
+#: src/language/stats/crosstabs.q:1261 src/language/stats/crosstabs.q:1310
 msgid "Approx. Sig."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1208
+#: src/language/stats/crosstabs.q:1276
 msgid "Risk estimate."
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1212
+#: src/language/stats/crosstabs.q:1280
 #, c-format
 msgid "95%% Confidence Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1215 src/language/stats/t-test.q:1030
-#: src/language/stats/t-test.q:1216 src/language/stats/t-test.q:1319
+#: src/language/stats/crosstabs.q:1283 src/language/stats/t-test.q:757
+#: src/language/stats/t-test.q:921 src/language/stats/t-test.q:1014
 msgid "Lower"
 msgstr "Lager"
 
-#: src/language/stats/crosstabs.q:1216 src/language/stats/t-test.q:1031
-#: src/language/stats/t-test.q:1217 src/language/stats/t-test.q:1320
+#: src/language/stats/crosstabs.q:1284 src/language/stats/t-test.q:758
+#: src/language/stats/t-test.q:922 src/language/stats/t-test.q:1015
 msgid "Upper"
 msgstr "Hoger"
 
-#: src/language/stats/crosstabs.q:1230
+#: src/language/stats/crosstabs.q:1301
 msgid "Directional measures."
 msgstr "Directioneel metingen."
 
-#: src/language/stats/crosstabs.q:1235 src/ui/gui/psppire.glade:2124
-#: src/ui/gui/psppire-var-sheet.c:539 src/ui/gui/psppire-var-store.c:785
+#: src/language/stats/crosstabs.q:1306 src/ui/gui/psppire.glade:2099
+#: src/ui/gui/psppire-var-sheet.c:528 src/ui/gui/psppire-var-store.c:794
 msgid "Type"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1991
+#: src/language/stats/crosstabs.q:1774
 msgid "Pearson Chi-Square"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1992
+#: src/language/stats/crosstabs.q:1775
 msgid "Likelihood Ratio"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1993
+#: src/language/stats/crosstabs.q:1776
 msgid "Fisher's Exact Test"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1994
+#: src/language/stats/crosstabs.q:1777
 msgid "Continuity Correction"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:1995
+#: src/language/stats/crosstabs.q:1778
 msgid "Linear-by-Linear Association"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2032 src/language/stats/crosstabs.q:2105
-#: src/language/stats/crosstabs.q:2167
+#: src/language/stats/crosstabs.q:1813 src/language/stats/crosstabs.q:1888
+#: src/language/stats/crosstabs.q:1953
 msgid "N of Valid Cases"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2051 src/language/stats/crosstabs.q:2183
+#: src/language/stats/crosstabs.q:1832 src/language/stats/crosstabs.q:1971
 msgid "Nominal by Nominal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2052 src/language/stats/crosstabs.q:2184
+#: src/language/stats/crosstabs.q:1833 src/language/stats/crosstabs.q:1972
 msgid "Ordinal by Ordinal"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2053
+#: src/language/stats/crosstabs.q:1834
 msgid "Interval by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2054
+#: src/language/stats/crosstabs.q:1835
 msgid "Measure of Agreement"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2059 src/ui/gui/crosstabs-dialog.c:41
+#: src/language/stats/crosstabs.q:1840 src/ui/gui/crosstabs-dialog.c:41
 msgid "Phi"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2060
+#: src/language/stats/crosstabs.q:1841
 msgid "Cramer's V"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2061
+#: src/language/stats/crosstabs.q:1842
 msgid "Contingency Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2062
+#: src/language/stats/crosstabs.q:1843
 msgid "Kendall's tau-b"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2063
+#: src/language/stats/crosstabs.q:1844
 msgid "Kendall's tau-c"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2064 src/ui/gui/crosstabs-dialog.c:48
+#: src/language/stats/crosstabs.q:1845 src/ui/gui/crosstabs-dialog.c:48
 msgid "Gamma"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2065
+#: src/language/stats/crosstabs.q:1846
 msgid "Spearman Correlation"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2066
+#: src/language/stats/crosstabs.q:1847
 msgid "Pearson's R"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2067 src/ui/gui/crosstabs-dialog.c:50
+#: src/language/stats/crosstabs.q:1848 src/ui/gui/crosstabs-dialog.c:50
 msgid "Kappa"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2140
+#: src/language/stats/crosstabs.q:1926
 #, c-format
 msgid "Odds Ratio for %s (%g / %g)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2143
+#: src/language/stats/crosstabs.q:1929
 #, c-format
 msgid "Odds Ratio for %s (%.*s / %.*s)"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2151
+#: src/language/stats/crosstabs.q:1937
 #, c-format
 msgid "For cohort %s = %g"
 msgstr "Voor cohort %s = %g"
 
-#: src/language/stats/crosstabs.q:2154
+#: src/language/stats/crosstabs.q:1940
 #, c-format
 msgid "For cohort %s = %.*s"
 msgstr "Voor cohort %s = %.*s"
 
-#: src/language/stats/crosstabs.q:2185
+#: src/language/stats/crosstabs.q:1973
 msgid "Nominal by Interval"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2190 src/ui/gui/crosstabs-dialog.c:43
+#: src/language/stats/crosstabs.q:1978 src/ui/gui/crosstabs-dialog.c:43
 msgid "Lambda"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2191
+#: src/language/stats/crosstabs.q:1979
 msgid "Goodman and Kruskal tau"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2192
+#: src/language/stats/crosstabs.q:1980
 msgid "Uncertainty Coefficient"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2193
+#: src/language/stats/crosstabs.q:1981
 msgid "Somers' d"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2194 src/ui/gui/crosstabs-dialog.c:51
+#: src/language/stats/crosstabs.q:1982 src/ui/gui/crosstabs-dialog.c:51
 msgid "Eta"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2199
+#: src/language/stats/crosstabs.q:1987
 msgid "Symmetric"
 msgstr ""
 
-#: src/language/stats/crosstabs.q:2200 src/language/stats/crosstabs.q:2201
+#: src/language/stats/crosstabs.q:1988 src/language/stats/crosstabs.q:1989
 #, c-format
 msgid "%s Dependent"
 msgstr ""
 
-#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1557
+#: src/language/stats/descriptives.c:102 src/language/stats/examine.q:1559
 #: src/language/stats/frequencies.q:123 src/language/stats/npar-summary.c:126
-#: src/language/stats/oneway.q:390 src/language/stats/t-test.q:701
-#: src/language/stats/t-test.q:725 src/language/stats/t-test.q:862
-#: src/language/stats/t-test.q:1213 src/ui/gui/descriptives-dialog.c:39
+#: src/language/stats/oneway.q:390 src/language/stats/t-test.q:507
+#: src/language/stats/t-test.q:527 src/language/stats/t-test.q:625
+#: src/language/stats/t-test.q:918 src/ui/gui/descriptives-dialog.c:39
 #: src/ui/gui/frequencies-dialog.c:40
 msgid "Mean"
 msgstr "Gemiddeld"
@@ -3343,13 +3283,13 @@ msgstr ""
 msgid "Std Dev"
 msgstr ""
 
-#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1588
+#: src/language/stats/descriptives.c:105 src/language/stats/examine.q:1589
 #: src/language/stats/frequencies.q:128 src/ui/gui/descriptives-dialog.c:46
 #: src/ui/gui/frequencies-dialog.c:45
 msgid "Variance"
 msgstr ""
 
-#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1624
+#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1625
 #: src/language/stats/frequencies.q:129 src/ui/gui/descriptives-dialog.c:47
 #: src/ui/gui/frequencies-dialog.c:50
 msgid "Kurtosis"
@@ -3359,7 +3299,7 @@ msgstr ""
 msgid "S E Kurt"
 msgstr ""
 
-#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1619
+#: src/language/stats/descriptives.c:108 src/language/stats/examine.q:1620
 #: src/language/stats/frequencies.q:131 src/ui/gui/descriptives-dialog.c:48
 #: src/ui/gui/frequencies-dialog.c:46
 msgid "Skewness"
@@ -3369,22 +3309,22 @@ msgstr ""
 msgid "S E Skew"
 msgstr ""
 
-#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1608
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.q:1609
 #: src/language/stats/frequencies.q:133 src/ui/gui/descriptives-dialog.c:43
 #: src/ui/gui/frequencies-dialog.c:48
 msgid "Range"
 msgstr ""
 
-#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1598
+#: src/language/stats/descriptives.c:111 src/language/stats/examine.q:1599
 #: src/language/stats/frequencies.q:134 src/language/stats/npar-summary.c:132
-#: src/language/stats/oneway.q:403 src/ui/gui/descriptives-dialog.c:41
+#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:41
 #: src/ui/gui/frequencies-dialog.c:42
 msgid "Minimum"
 msgstr ""
 
-#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1603
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.q:1604
 #: src/language/stats/frequencies.q:135 src/language/stats/npar-summary.c:135
-#: src/language/stats/oneway.q:404 src/ui/gui/descriptives-dialog.c:42
+#: src/language/stats/oneway.q:405 src/ui/gui/descriptives-dialog.c:42
 #: src/ui/gui/frequencies-dialog.c:43
 msgid "Maximum"
 msgstr ""
@@ -3441,131 +3381,122 @@ msgstr ""
 msgid "Valid cases = %g; cases with missing value(s) = %g."
 msgstr "Geldige cases = %g; cases met missing value(s) = %g."
 
-#: src/language/stats/examine.q:343 src/language/stats/examine.q:496
-#: src/language/stats/examine.q:1058
+#: src/language/stats/examine.q:346 src/language/stats/examine.q:499
+#: src/language/stats/examine.q:1060
 msgid "Not creating plot because data set is empty."
 msgstr "Er wordt geen plot aangemaakt omdat de data set leeg is."
 
-#: src/language/stats/examine.q:353
+#: src/language/stats/examine.q:356
 #, c-format
 msgid "Normal Q-Q Plot of %s"
 msgstr "Normal Q-Q Plot van %s"
 
-#: src/language/stats/examine.q:354 src/language/stats/examine.q:359
+#: src/language/stats/examine.q:357 src/language/stats/examine.q:362
 msgid "Observed Value"
 msgstr "Waargenomen Waarde"
 
-#: src/language/stats/examine.q:355
+#: src/language/stats/examine.q:358
 msgid "Expected Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:357
+#: src/language/stats/examine.q:360
 #, c-format
 msgid "Detrended Normal Q-Q Plot of %s"
 msgstr "Detrended Normal Q-Q Plot van %s"
 
-#: src/language/stats/examine.q:360
+#: src/language/stats/examine.q:363
 msgid "Dev from Normal"
 msgstr ""
 
-#: src/language/stats/examine.q:513
+#: src/language/stats/examine.q:516
 #, c-format
 msgid "Boxplot of %s vs. %s"
 msgstr ""
 
-#: src/language/stats/examine.q:517
+#: src/language/stats/examine.q:520
 #, c-format
 msgid "Boxplot of %s"
 msgstr ""
 
-#: src/language/stats/examine.q:753 src/language/stats/examine.q:766
+#: src/language/stats/examine.q:756 src/language/stats/examine.q:769
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s en %s zijn wederzijds exclusief"
 
-#: src/language/stats/examine.q:1270 src/language/stats/reliability.q:685
+#: src/language/stats/examine.q:1272 src/language/stats/reliability.q:686
 msgid "Case Processing Summary"
 msgstr "Case Bewerkings Overzicht"
 
-#: src/language/stats/examine.q:1562 src/language/stats/oneway.q:398
+#: src/language/stats/examine.q:1564 src/language/stats/oneway.q:398
 #, c-format
 msgid "%g%% Confidence Interval for Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1568 src/language/stats/oneway.q:400
+#: src/language/stats/examine.q:1570 src/language/stats/oneway.q:401
 msgid "Lower Bound"
 msgstr "Beneden Grens"
 
-#: src/language/stats/examine.q:1573 src/language/stats/oneway.q:401
+#: src/language/stats/examine.q:1575 src/language/stats/oneway.q:402
 msgid "Upper Bound"
 msgstr "Boven Grens"
 
-#: src/language/stats/examine.q:1578
-#, c-format
-msgid "5%% Trimmed Mean"
+#: src/language/stats/examine.q:1579
+msgid "5% Trimmed Mean"
 msgstr ""
 
-#: src/language/stats/examine.q:1583 src/language/stats/frequencies.q:125
+#: src/language/stats/examine.q:1584 src/language/stats/frequencies.q:125
 #: src/ui/gui/frequencies-dialog.c:52
 msgid "Median"
 msgstr ""
 
-#: src/language/stats/examine.q:1593 src/language/stats/npar-summary.c:129
-#: src/language/stats/oneway.q:391 src/language/stats/t-test.q:702
-#: src/language/stats/t-test.q:726 src/language/stats/t-test.q:864
-#: src/language/stats/t-test.q:1214
+#: src/language/stats/examine.q:1594 src/language/stats/npar-summary.c:129
+#: src/language/stats/oneway.q:391 src/language/stats/t-test.q:508
+#: src/language/stats/t-test.q:528 src/language/stats/t-test.q:627
+#: src/language/stats/t-test.q:919
 msgid "Std. Deviation"
 msgstr ""
 
-#: src/language/stats/examine.q:1613
+#: src/language/stats/examine.q:1614
 msgid "Interquartile Range"
 msgstr ""
 
-#: src/language/stats/examine.q:1749 src/language/stats/oneway.q:407
+#: src/language/stats/examine.q:1750 src/language/stats/oneway.q:408
 #: src/ui/gui/examine.glade:310
 msgid "Descriptives"
 msgstr ""
 
-#: src/language/stats/examine.q:1755 src/language/stats/oneway.q:392
-#: src/language/stats/oneway.q:687 src/language/stats/regression.q:203
+#: src/language/stats/examine.q:1756 src/language/stats/oneway.q:392
+#: src/language/stats/oneway.q:689 src/language/stats/regression.q:203
 msgid "Std. Error"
 msgstr ""
 
-#: src/language/stats/examine.q:1852 src/language/stats/examine.q:1857
-#: src/ui/gui/psppire-data-store.c:756 src/ui/gui/psppire-var-store.c:646
-#: src/ui/gui/psppire-var-store.c:656 src/ui/gui/psppire-var-store.c:666
-#: src/ui/gui/psppire-var-store.c:777
-#, c-format
-msgid "%d"
-msgstr ""
-
-#: src/language/stats/examine.q:1938
+#: src/language/stats/examine.q:1939
 msgid "Highest"
 msgstr "Hoogste"
 
-#: src/language/stats/examine.q:1943
+#: src/language/stats/examine.q:1944
 msgid "Lowest"
 msgstr "Laagste"
 
-#: src/language/stats/examine.q:1950
+#: src/language/stats/examine.q:1951
 msgid "Extreme Values"
 msgstr "Extreme Waardes"
 
-#: src/language/stats/examine.q:1954
+#: src/language/stats/examine.q:1955
 msgid "Case Number"
 msgstr "Case Nummer"
 
-#: src/language/stats/examine.q:2076
+#: src/language/stats/examine.q:2077
 msgid "Tukey's Hinges"
 msgstr ""
 
-#: src/language/stats/examine.q:2116 src/language/stats/examine.q:2134
-#: src/language/stats/frequencies.q:1418 src/language/stats/npar-summary.c:142
+#: src/language/stats/examine.q:2117 src/language/stats/examine.q:2134
+#: src/language/stats/frequencies.q:1407 src/language/stats/npar-summary.c:142
 #: src/ui/gui/examine.glade:333
 msgid "Percentiles"
 msgstr ""
 
-#: src/language/stats/examine.q:2123
+#: src/language/stats/examine.q:2124
 #, c-format
 msgid "%g"
 msgstr ""
@@ -3576,68 +3507,54 @@ msgid ""
 msgstr ""
 "FLIP negeert TEMPORARY. Tijdelijke transformaties worden permanent gemaakt."
 
-#: src/language/stats/flip.c:151
+#: src/language/stats/flip.c:147
 msgid "Could not create temporary file for FLIP."
 msgstr "Kon geen tijdelijk bestand voor FLIP aanmaken."
 
-#: src/language/stats/flip.c:162
-#, c-format
-msgid "Error writing FLIP file: %s."
-msgstr "Fout tijdens het schrijven van FLIP bestand: %s."
-
-#: src/language/stats/flip.c:262
-#, c-format
-msgid "Could not create acceptable variant for variable %s."
-msgstr "Kon geen acceptabele variant voor variabele %s creëren."
-
-#: src/language/stats/flip.c:278
-msgid "Cannot create more than 99999 variable names."
-msgstr "Kan niet meer dan 99999 variabele namen creëren."
-
-#: src/language/stats/flip.c:394
+#: src/language/stats/flip.c:324
 #, c-format
 msgid "Error rewinding FLIP file: %s."
 msgstr "Fout tijdens terugdraaien FLIP bestand: %s."
 
-#: src/language/stats/flip.c:401
+#: src/language/stats/flip.c:331
 msgid "Error creating FLIP source file."
 msgstr "Fout tijdens het creëren van FLIP bron bestand."
 
-#: src/language/stats/flip.c:414
+#: src/language/stats/flip.c:344
 #, c-format
 msgid "Error reading FLIP file: %s."
 msgstr "Fout tijdens lezen FLIP bestand: %s."
 
-#: src/language/stats/flip.c:416
+#: src/language/stats/flip.c:346
 msgid "Unexpected end of file reading FLIP file."
 msgstr "Onverwacht einde bestand tijdens lezen FLIP bestand."
 
-#: src/language/stats/flip.c:432
+#: src/language/stats/flip.c:362
 #, c-format
 msgid "Error seeking FLIP source file: %s."
 msgstr "Fout tijdens zoeken FLIP bron bestand: %s."
 
-#: src/language/stats/flip.c:440
+#: src/language/stats/flip.c:370
 #, c-format
 msgid "Error writing FLIP source file: %s."
 msgstr "Fout tijdens schrijven FLIP bron bestand: %s."
 
-#: src/language/stats/flip.c:451
+#: src/language/stats/flip.c:381
 #, c-format
 msgid "Error closing FLIP source file: %s."
 msgstr "Fout tijdens sluiten FLIP bron bestand: %s."
 
-#: src/language/stats/flip.c:459
+#: src/language/stats/flip.c:389
 #, c-format
 msgid "Error rewinding FLIP source file: %s."
 msgstr "Fout tijdens terugdraaien FLIP bron bestand: %s."
 
-#: src/language/stats/flip.c:487
+#: src/language/stats/flip.c:419
 #, c-format
 msgid "Error reading FLIP temporary file: %s."
 msgstr "Fout tijdens lezen FLIP tijdelijk bestand: %s."
 
-#: src/language/stats/flip.c:490
+#: src/language/stats/flip.c:422
 msgid "Unexpected end of file reading FLIP temporary file."
 msgstr "Onverwacht einde bestand tijdens lezen FLIP tijdelijk bestand."
 
@@ -3657,7 +3574,7 @@ msgstr ""
 msgid "S.E. Skew"
 msgstr ""
 
-#: src/language/stats/frequencies.q:409
+#: src/language/stats/frequencies.q:405
 msgid ""
 "At most one of BARCHART, HISTOGRAM, or HBAR should be given.  HBAR will be "
 "assumed.  Argument values will be given precedence increasing along the "
@@ -3667,7 +3584,7 @@ msgstr ""
 "HBAR wordt aangenomen.  Argument waardes zullen gebruikt worden in opgegeven "
 "volgorde."
 
-#: src/language/stats/frequencies.q:492
+#: src/language/stats/frequencies.q:488
 #, c-format
 msgid ""
 "MAX must be greater than or equal to MIN, if both are specified.  However, "
@@ -3676,52 +3593,52 @@ msgstr ""
 "MAX moet groter of gelijk zijn aan MIN, als beiden zijn opgegeven. Maar, MIN "
 "was opgegeven als %g en MAX als %g. MIN en MAX worden genegeerd."
 
-#: src/language/stats/frequencies.q:757
+#: src/language/stats/frequencies.q:752
 #, c-format
 msgid "Variable %s specified multiple times on VARIABLES subcommand."
 msgstr "Variabele %s is meerdere keren opgegeven bij VARIABLES subopdracht."
 
-#: src/language/stats/frequencies.q:820
+#: src/language/stats/frequencies.q:809
 msgid "`)' expected after GROUPED interval list."
 msgstr "')' verwacht na GROUPED interval lijst."
 
-#: src/language/stats/frequencies.q:832
+#: src/language/stats/frequencies.q:821
 #, c-format
 msgid "Variables %s specified on GROUPED but not on VARIABLES."
 msgstr "Variabele %s gespecificeerd bij GROUPED maar niet bij VARIABLES."
 
-#: src/language/stats/frequencies.q:839
+#: src/language/stats/frequencies.q:828
 #, c-format
 msgid "Variables %s specified multiple times on GROUPED subcommand."
 msgstr "Variabele %s is meerdere keren gespecificeerd bij GROUPED subopdracht."
 
-#: src/language/stats/frequencies.q:1058 src/language/stats/frequencies.q:1151
-#: src/language/stats/frequencies.q:1152 src/language/stats/frequencies.q:1187
+#: src/language/stats/frequencies.q:1047 src/language/stats/frequencies.q:1140
+#: src/language/stats/frequencies.q:1141 src/language/stats/frequencies.q:1176
 msgid "Cum"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1060 src/output/charts/plot-hist.c:140
+#: src/language/stats/frequencies.q:1049 src/output/charts/plot-hist.c:140
 msgid "Frequency"
 msgstr "Frequenties"
 
-#: src/language/stats/frequencies.q:1081
+#: src/language/stats/frequencies.q:1070
 msgid "Value Label"
 msgstr "Waarde Label"
 
-#: src/language/stats/frequencies.q:1185
+#: src/language/stats/frequencies.q:1174
 msgid "Freq"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1186 src/language/stats/frequencies.q:1188
+#: src/language/stats/frequencies.q:1175 src/language/stats/frequencies.q:1177
 msgid "Pct"
 msgstr ""
 
-#: src/language/stats/frequencies.q:1381
+#: src/language/stats/frequencies.q:1370
 #, c-format
 msgid "No valid data for variable %s; statistics not displayed."
 msgstr "Geen geldige data voor variabele %s; statistieken worden niet getoond."
 
-#: src/language/stats/frequencies.q:1422
+#: src/language/stats/frequencies.q:1411
 msgid "50 (Median)"
 msgstr ""
 
@@ -3761,7 +3678,7 @@ msgstr ""
 "%d verwachte waardes waren opgegeven, maar de opgegeven range (%d-%d) "
 "vereist precies %d waardes."
 
-#: src/language/stats/npar.q:441 src/language/stats/t-test.q:501
+#: src/language/stats/npar.q:441 src/language/stats/t-test.q:379
 #, c-format
 msgid ""
 "PAIRED was specified but the number of variables preceding WITH (%zu) did "
@@ -3809,11 +3726,11 @@ msgid "Mean Square"
 msgstr ""
 
 #: src/language/stats/oneway.q:280 src/language/stats/regression.q:304
-#: src/language/stats/t-test.q:1023
+#: src/language/stats/t-test.q:750
 msgid "F"
 msgstr ""
 
-#: src/language/stats/oneway.q:281 src/language/stats/oneway.q:538
+#: src/language/stats/oneway.q:281 src/language/stats/oneway.q:539
 #: src/language/stats/regression.q:206 src/language/stats/regression.q:305
 msgid "Significance"
 msgstr "Significantie "
@@ -3830,19 +3747,19 @@ msgstr "Binnen Groepen"
 msgid "ANOVA"
 msgstr ""
 
-#: src/language/stats/oneway.q:535
+#: src/language/stats/oneway.q:536
 msgid "Levene Statistic"
 msgstr ""
 
-#: src/language/stats/oneway.q:536
+#: src/language/stats/oneway.q:537
 msgid "df1"
 msgstr ""
 
-#: src/language/stats/oneway.q:537
+#: src/language/stats/oneway.q:538
 msgid "df2"
 msgstr ""
 
-#: src/language/stats/oneway.q:540
+#: src/language/stats/oneway.q:541
 msgid "Test of Homogeneity of Variances"
 msgstr ""
 
@@ -3850,34 +3767,34 @@ msgstr ""
 msgid "Contrast Coefficients"
 msgstr ""
 
-#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:685
+#: src/language/stats/oneway.q:610 src/language/stats/oneway.q:687
 msgid "Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:683
+#: src/language/stats/oneway.q:685
 msgid "Contrast Tests"
 msgstr ""
 
-#: src/language/stats/oneway.q:686
+#: src/language/stats/oneway.q:688
 msgid "Value of Contrast"
 msgstr ""
 
-#: src/language/stats/oneway.q:688 src/language/stats/regression.q:205
-#: src/language/stats/t-test.q:1025 src/language/stats/t-test.q:1218
-#: src/language/stats/t-test.q:1315
+#: src/language/stats/oneway.q:690 src/language/stats/regression.q:205
+#: src/language/stats/t-test.q:752 src/language/stats/t-test.q:923
+#: src/language/stats/t-test.q:1010
 msgid "t"
 msgstr ""
 
-#: src/language/stats/oneway.q:690 src/language/stats/t-test.q:1027
-#: src/language/stats/t-test.q:1220 src/language/stats/t-test.q:1317
+#: src/language/stats/oneway.q:692 src/language/stats/t-test.q:754
+#: src/language/stats/t-test.q:925 src/language/stats/t-test.q:1012
 msgid "Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/oneway.q:734
+#: src/language/stats/oneway.q:736
 msgid "Assume equal variances"
 msgstr "Veronderstelt gelijke variantie"
 
-#: src/language/stats/oneway.q:738
+#: src/language/stats/oneway.q:740
 msgid "Does not assume equal"
 msgstr "Veronderstelt niet gelijk"
 
@@ -3904,22 +3821,22 @@ msgstr "Variabelen gecreëerd door RANK"
 msgid "%s into %s(%s of %s using %s BY %s)"
 msgstr "%s in %s(%s van %s gebruikt %s PER %s)"
 
-#: src/language/stats/rank.q:729
+#: src/language/stats/rank.q:728
 #, c-format
 msgid "%s into %s(%s of %s BY %s)"
 msgstr "%s in %s(%s van %s PER %s)"
 
-#: src/language/stats/rank.q:743
+#: src/language/stats/rank.q:741
 #, c-format
 msgid "%s into %s(%s of %s using %s)"
 msgstr "%s in %s(%s van %s gebruikt %s"
 
-#: src/language/stats/rank.q:753
+#: src/language/stats/rank.q:750
 #, c-format
 msgid "%s into %s(%s of %s)"
 msgstr "%s in %s(%s van %s)"
 
-#: src/language/stats/rank.q:766
+#: src/language/stats/rank.q:762
 msgid ""
 "FRACTION has been specified, but NORMAL and PROPORTION rank functions have "
 "not been requested.  The FRACTION subcommand will be ignored."
@@ -3927,12 +3844,12 @@ msgstr ""
 "FRACTION is gespecificeerd maar NORMAL en PROPORTION rangschik functies ziin "
 "niet gevraagd. De FRACTION subopdracht wordt genegeerd."
 
-#: src/language/stats/rank.q:857
+#: src/language/stats/rank.q:853
 #, c-format
 msgid "Variable %s already exists."
 msgstr "Variabele %s bestaat al."
 
-#: src/language/stats/rank.q:862
+#: src/language/stats/rank.q:858
 msgid "Too many variables in INTO clause."
 msgstr "Te veel variabelen in INTO clause."
 
@@ -3999,104 +3916,103 @@ msgstr ""
 msgid "Dependent variable must be numeric."
 msgstr "Afhankelijke variabele moet numeriek zijn."
 
-#: src/language/stats/reliability.q:432
+#: src/language/stats/reliability.q:433
 msgid "Reliability Statistics"
 msgstr ""
 
-#: src/language/stats/reliability.q:475
+#: src/language/stats/reliability.q:476
 msgid "Item-Total Statistics"
 msgstr ""
 
-#: src/language/stats/reliability.q:497
+#: src/language/stats/reliability.q:498
 msgid "Scale Mean if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:500
+#: src/language/stats/reliability.q:501
 msgid "Scale Variance if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:503
+#: src/language/stats/reliability.q:504
 msgid "Corrected Item-Total Correlation"
 msgstr ""
 
-#: src/language/stats/reliability.q:506
+#: src/language/stats/reliability.q:507
 msgid "Cronbach's Alpha if Item Deleted"
 msgstr ""
 
-#: src/language/stats/reliability.q:556 src/language/stats/reliability.q:575
+#: src/language/stats/reliability.q:557 src/language/stats/reliability.q:576
 msgid "Cronbach's Alpha"
 msgstr ""
 
-#: src/language/stats/reliability.q:559
+#: src/language/stats/reliability.q:560
 msgid "N of items"
 msgstr ""
 
-#: src/language/stats/reliability.q:578
+#: src/language/stats/reliability.q:579
 msgid "Part 1"
 msgstr "Deel 1"
 
-#: src/language/stats/reliability.q:584 src/language/stats/reliability.q:595
+#: src/language/stats/reliability.q:585 src/language/stats/reliability.q:596
 msgid "N of Items"
 msgstr ""
 
-#: src/language/stats/reliability.q:589
+#: src/language/stats/reliability.q:590
 msgid "Part 2"
 msgstr "Deel 2"
 
-#: src/language/stats/reliability.q:600
+#: src/language/stats/reliability.q:601
 msgid "Total N of Items"
 msgstr ""
 
-#: src/language/stats/reliability.q:603
+#: src/language/stats/reliability.q:604
 msgid "Correlation Between Forms"
 msgstr ""
 
-#: src/language/stats/reliability.q:607
+#: src/language/stats/reliability.q:608
 msgid "Spearman-Brown Coefficient"
 msgstr ""
 
-#: src/language/stats/reliability.q:610
+#: src/language/stats/reliability.q:611
 msgid "Equal Length"
 msgstr "Gelijke Lengte"
 
-#: src/language/stats/reliability.q:613
+#: src/language/stats/reliability.q:614
 msgid "Unequal Length"
 msgstr "Ongelijke Lengte"
 
-#: src/language/stats/reliability.q:617
+#: src/language/stats/reliability.q:618
 msgid "Guttman Split-Half Coefficient"
 msgstr ""
 
-#: src/language/stats/reliability.q:714
+#: src/language/stats/reliability.q:715
 msgid "Excluded"
 msgstr "Uitgesloten"
 
 #: src/language/stats/reliability.q:723
-#, c-format
-msgid "%%"
+msgid "%"
 msgstr ""
 
-#: src/language/stats/sign.c:90
+#: src/language/stats/sign.c:91
 msgid "Negative Differences"
 msgstr "Negatieve Verschillen"
 
-#: src/language/stats/sign.c:91
+#: src/language/stats/sign.c:92
 msgid "Positive Differences"
 msgstr "Positieve Verschillen"
 
-#: src/language/stats/sign.c:92 src/language/stats/wilcoxon.c:245
+#: src/language/stats/sign.c:93 src/language/stats/wilcoxon.c:261
 msgid "Ties"
 msgstr ""
 
-#: src/language/stats/sign.c:133
+#: src/language/stats/sign.c:134 src/language/stats/wilcoxon.c:331
 msgid "Exact Sig. (2-tailed)"
 msgstr ""
 
-#: src/language/stats/sign.c:136
+#: src/language/stats/sign.c:137 src/language/stats/wilcoxon.c:332
 msgid "Exact Sig. (1-tailed)"
 msgstr ""
 
-#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:319
+#: src/language/stats/sign.c:140 src/language/stats/wilcoxon.c:335
 msgid "Point Probability"
 msgstr ""
 
@@ -4117,163 +4033,152 @@ msgstr "')' verwacht."
 msgid "Variable %s specified twice in sort criteria."
 msgstr "Variabele %s 2 keer opgegeven in sort criteria."
 
-#: src/language/stats/t-test.q:280
-msgid "TESTVAL, GROUPS and PAIRS subcommands are mutually exclusive."
+#: src/language/stats/t-test.q:189
+#, fuzzy
+msgid "Exactly one of TESTVAL, GROUPS and PAIRS subcommands must be specified."
 msgstr "TESTVAL, GROUPS en PAIRS subopdracht zijn wederzijds uitsluitend."
 
-#: src/language/stats/t-test.q:298
-msgid "VARIABLES subcommand is not appropriate with PAIRS"
+#: src/language/stats/t-test.q:210
+#, fuzzy
+msgid "VARIABLES subcommand may not be used with PAIRS."
 msgstr "VARIABLES subprogramma is niet het juiste met PAIRS"
 
-#: src/language/stats/t-test.q:336
+#: src/language/stats/t-test.q:229
 msgid "One or more VARIABLES must be specified."
 msgstr "Een of meer VARIABLES moeten gespecificeerd zijn."
 
-#: src/language/stats/t-test.q:386
-#, c-format
-msgid "Long string variable %s is not valid here."
-msgstr "Lange string variabele %s is niet geldig hier."
-
-#: src/language/stats/t-test.q:406 src/language/stats/t-test.q:420
+#: src/language/stats/t-test.q:323
 msgid ""
 "When applying GROUPS to a string variable, two values must be specified."
 msgstr ""
 "By het toepassen van GROUPS op een string variabele moeten twee waardes "
 "opgegeven zijn."
 
-#: src/language/stats/t-test.q:518
+#: src/language/stats/t-test.q:394
 msgid "At least two variables must be specified on PAIRS."
 msgstr "Ten minste 2 variabelen moeten opgegeven worden bij PAIRS."
 
-#: src/language/stats/t-test.q:698
+#: src/language/stats/t-test.q:504
 msgid "One-Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:703 src/language/stats/t-test.q:727
-#: src/language/stats/t-test.q:865
+#: src/language/stats/t-test.q:509 src/language/stats/t-test.q:529
+#: src/language/stats/t-test.q:628
 msgid "SE. Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:722
+#: src/language/stats/t-test.q:523
 msgid "Group Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:859
+#: src/language/stats/t-test.q:622
 msgid "Paired Sample Statistics"
 msgstr ""
 
-#: src/language/stats/t-test.q:885 src/language/stats/t-test.q:1243
-#: src/language/stats/t-test.q:1442
+#: src/language/stats/t-test.q:642 src/language/stats/t-test.q:945
+#: src/language/stats/t-test.q:1119
 #, c-format
 msgid "Pair %d"
 msgstr ""
 
-#: src/language/stats/t-test.q:1011
+#: src/language/stats/t-test.q:738
 msgid "Independent Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1019
+#: src/language/stats/t-test.q:746
 msgid "Levene's Test for Equality of Variances"
 msgstr ""
 
-#: src/language/stats/t-test.q:1021
+#: src/language/stats/t-test.q:748
 msgid "t-test for Equality of Means"
 msgstr ""
 
-#: src/language/stats/t-test.q:1024 src/language/stats/t-test.q:1427
+#: src/language/stats/t-test.q:751 src/language/stats/t-test.q:1107
 msgid "Sig."
 msgstr ""
 
-#: src/language/stats/t-test.q:1028 src/language/stats/t-test.q:1318
+#: src/language/stats/t-test.q:755 src/language/stats/t-test.q:1013
 msgid "Mean Difference"
 msgstr "Gemiddelde Verschil"
 
-#: src/language/stats/t-test.q:1029
+#: src/language/stats/t-test.q:756
 msgid "Std. Error Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1034 src/language/stats/t-test.q:1210
-#: src/language/stats/t-test.q:1310
+#: src/language/stats/t-test.q:761 src/language/stats/t-test.q:915
+#: src/language/stats/t-test.q:1005
 #, c-format
 msgid "%g%% Confidence Interval of the Difference"
 msgstr ""
 
-#: src/language/stats/t-test.q:1090
+#: src/language/stats/t-test.q:815
 msgid "Equal variances assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1142
+#: src/language/stats/t-test.q:861
 msgid "Equal variances not assumed"
 msgstr ""
 
-#: src/language/stats/t-test.q:1200
+#: src/language/stats/t-test.q:905
 msgid "Paired Samples Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1203
+#: src/language/stats/t-test.q:908
 msgid "Paired Differences"
 msgstr ""
 
-#: src/language/stats/t-test.q:1215
+#: src/language/stats/t-test.q:920
 msgid "Std. Error Mean"
 msgstr ""
 
-#: src/language/stats/t-test.q:1299
+#: src/language/stats/t-test.q:994
 msgid "One-Sample Test"
 msgstr ""
 
-#: src/language/stats/t-test.q:1304
+#: src/language/stats/t-test.q:999
 #, c-format
 msgid "Test Value = %f"
 msgstr ""
 
-#: src/language/stats/t-test.q:1422
+#: src/language/stats/t-test.q:1102
 msgid "Paired Samples Correlations"
 msgstr ""
 
-#: src/language/stats/t-test.q:1426
+#: src/language/stats/t-test.q:1106
 msgid "Correlation"
 msgstr "Correlatie"
 
-#: src/language/stats/t-test.q:1445
+#: src/language/stats/t-test.q:1121
 #, c-format
 msgid "%s & %s"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:216
+#: src/language/stats/wilcoxon.c:232
 msgid "Ranks"
 msgstr "Rangen"
 
-#: src/language/stats/wilcoxon.c:230
+#: src/language/stats/wilcoxon.c:246
 msgid "Mean Rank"
 msgstr "Gemiddelde Rang"
 
-#: src/language/stats/wilcoxon.c:231
+#: src/language/stats/wilcoxon.c:247
 msgid "Sum of Ranks"
 msgstr "Totaal van de Rangen"
 
-#: src/language/stats/wilcoxon.c:243
+#: src/language/stats/wilcoxon.c:259
 msgid "Negative Ranks"
 msgstr "Negatieve Rangen"
 
-#: src/language/stats/wilcoxon.c:244
+#: src/language/stats/wilcoxon.c:260
 msgid "Positive Ranks"
 msgstr "Positieve Rangen"
 
-#: src/language/stats/wilcoxon.c:310
+#: src/language/stats/wilcoxon.c:326
 msgid "Z"
 msgstr ""
 
-#: src/language/stats/wilcoxon.c:311
-msgid "Asymp. Sig (2-tailed)"
-msgstr ""
-
-#: src/language/stats/wilcoxon.c:315
-msgid "Exact Sig (2-tailed)"
-msgstr ""
-
-#: src/language/stats/wilcoxon.c:316
-msgid "Exact Sig (1-tailed)"
+#: src/language/stats/wilcoxon.c:327
+msgid "Asymp. Sig. (2-tailed)"
 msgstr ""
 
 #: src/language/syntax-file.c:88
@@ -4286,35 +4191,16 @@ msgstr "openen \"%s\" als syntax bestand"
 msgid "Opening `%s': %s."
 msgstr "Openen '%s': %s."
 
-#: src/language/syntax-file.c:106
+#: src/language/syntax-file.c:107
 #, c-format
 msgid "Reading `%s': %s."
 msgstr "Lezen '%s': %s."
 
-#: src/language/syntax-file.c:126
+#: src/language/syntax-file.c:127
 #, c-format
 msgid "Closing `%s': %s."
 msgstr "Sluiten '%s': %s."
 
-#: src/language/tests/check-model.q:138
-msgid "PATH and SEARCH subcommands are mutually exclusive.  Ignoring PATH."
-msgstr ""
-"PATH en SEARCH subopdrachten zijn wederzijds uitsluitend. PATH genegeerd. "
-
-#: src/language/tests/check-model.q:156
-msgid "At least one value must be specified on PATH."
-msgstr "Tenminste 1 waarde dient bij PATH opgegeven te zijn."
-
-#: src/language/tests/check-model.q:167
-#, c-format
-msgid "Hash bits adjusted to %d."
-msgstr "Hash bits aangepast naar %d."
-
-#: src/language/tests/check-model.q:208
-#, c-format
-msgid "error opening \"%s\" for writing"
-msgstr "fout bij openen \"%s\" voor schrijven"
-
 #: src/language/tests/float-format.c:124
 #, c-format
 msgid "%zu-byte string needed but %zu-byte string supplied."
@@ -4448,99 +4334,46 @@ msgstr ""
 "FORMAT vereist numeriek uitvoer formaat als een argument. Opgegeven formaat %"
 "s is van het type string."
 
-#: src/language/utilities/set.q:522
-msgid "BLANKS is SYSMIS."
-msgstr ""
-
-#: src/language/utilities/set.q:524
-#, c-format
-msgid "BLANKS is %g."
-msgstr ""
-
-#: src/language/utilities/set.q:559
-#, c-format
-msgid "%s is \"%s\"."
-msgstr ""
-
-#: src/language/utilities/set.q:595
-#, c-format
-msgid "DECIMAL is \"%c\"."
+#: src/language/utilities/set.q:668
+msgid "ISL (32-bit IEEE 754 single, little-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:601
-#, c-format
-msgid "ENDCMD is \"%c\"."
+#: src/language/utilities/set.q:671
+msgid "ISB (32-bit IEEE 754 single, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:609
-#, c-format
-msgid "ERRORS is \"%s\"."
+#: src/language/utilities/set.q:674
+msgid "IDL (64-bit IEEE 754 double, little-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:620
-#, c-format
-msgid "FORMAT is %s."
+#: src/language/utilities/set.q:677
+msgid "IDB (64-bit IEEE 754 double, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:626
-#, c-format
-msgid "LENGTH is %d."
+#: src/language/utilities/set.q:681
+msgid "VF (32-bit VAX F, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:632
-#, c-format
-msgid "LOCALE is %s"
+#: src/language/utilities/set.q:684
+msgid "VD (64-bit VAX D, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:638
-#, c-format
-msgid "MXERRS is %d."
+#: src/language/utilities/set.q:687
+msgid "VG (64-bit VAX G, VAX-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:644
-#, c-format
-msgid "MXLOOPS is %d."
+#: src/language/utilities/set.q:691
+msgid "ZS (32-bit IBM Z hexadecimal short, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:650
-#, c-format
-msgid "MXWARNS is %d."
+#: src/language/utilities/set.q:694
+msgid "ZL (64-bit IBM Z hexadecimal long, big-endian)"
 msgstr ""
 
-#: src/language/utilities/set.q:657 src/language/utilities/set.q:708
-#, c-format
-msgid "%s is %s (%s)."
-msgstr ""
-
-#: src/language/utilities/set.q:729
-msgid "SCOMPRESSION is ON."
-msgstr ""
-
-#: src/language/utilities/set.q:731
-msgid "SCOMPRESSION is OFF."
-msgstr ""
-
-#: src/language/utilities/set.q:738
-msgid "UNDEFINED is WARN."
-msgstr ""
-
-#: src/language/utilities/set.q:740
-msgid "UNDEFINED is NOWARN."
-msgstr ""
-
-#: src/language/utilities/set.q:748
-msgid "WEIGHT is off."
-msgstr "WEGING is uit."
-
-#: src/language/utilities/set.q:750
-#, c-format
-msgid "WEIGHT is variable %s."
-msgstr "WEGING is variabele %s."
-
-#: src/language/utilities/set.q:768
-#, c-format
-msgid "WIDTH is %d."
-msgstr "BREEDTE is %d."
+#: src/language/utilities/set.q:793
+#, fuzzy, c-format
+msgid "%s is %s."
+msgstr "%s van %s"
 
 #: src/language/utilities/title.c:68
 #, c-format
@@ -4569,7 +4402,7 @@ msgstr ""
 "Tijdens uitvoeren van COMPUTE: %g is geen geldige waarde als een index in "
 "vector %s."
 
-#: src/language/xforms/compute.c:354
+#: src/language/xforms/compute.c:353
 #, c-format
 msgid "There is no vector named %s."
 msgstr "Er is geen vector genaamd %s."
@@ -4578,7 +4411,7 @@ msgstr "Er is geen vector genaamd %s."
 msgid "Destination cannot be a string variable."
 msgstr "Bestemming kan geen string variabele zijn."
 
-#: src/language/xforms/recode.c:251
+#: src/language/xforms/recode.c:245
 msgid ""
 "Inconsistent target variable types.  Target variables must be all numeric or "
 "all string."
@@ -4586,19 +4419,19 @@ msgstr ""
 "Inconsistent doel variabele types.  Doel variabelen moeten allemaal numeriek "
 "of allemaal string zijn. "
 
-#: src/language/xforms/recode.c:272
+#: src/language/xforms/recode.c:266
 msgid "CONVERT requires string input values and numeric output values."
 msgstr "CONVERT vereist string invoer waardes en numerieke uitvoer waardes."
 
-#: src/language/xforms/recode.c:329
+#: src/language/xforms/recode.c:321
 msgid "THRU is not allowed with string variables."
 msgstr "THRU is niet toegestaan met string variabelen."
 
-#: src/language/xforms/recode.c:407
+#: src/language/xforms/recode.c:400
 msgid "expecting output value"
 msgstr "verwacht uitvoer waarde"
 
-#: src/language/xforms/recode.c:456
+#: src/language/xforms/recode.c:457
 #, c-format
 msgid ""
 "%zu variable(s) cannot be recoded into %zu variable(s).  Specify the same "
@@ -4607,7 +4440,7 @@ msgstr ""
 "%zu variabel(en) kunnen niet gehercodeerd worden in %zu variabel(en).  "
 "Specificeer hetzelfde aantal variabelen als bron en als doel variabelen."
 
-#: src/language/xforms/recode.c:471
+#: src/language/xforms/recode.c:472
 #, c-format
 msgid ""
 "There is no variable named %s.  (All string variables specified on INTO must "
@@ -4617,12 +4450,12 @@ msgstr ""
 "INTO dienen al te bestaan.  Gebruik de STRING opdracht om een string "
 "variabele aan te maken.)"
 
-#: src/language/xforms/recode.c:487
+#: src/language/xforms/recode.c:488
 #, c-format
 msgid "INTO is required with %s input values and %s output values."
 msgstr "INTO is vereist met %s invoer waardes en %s uitvoer waardes."
 
-#: src/language/xforms/recode.c:500
+#: src/language/xforms/recode.c:501
 #, c-format
 msgid "Type mismatch.  Cannot store %s data in %s variable %s."
 msgstr "Type fout. Kan %s data niet in %s variabele %s opslaan. "
@@ -4653,6 +4486,31 @@ msgstr "De filter variabele mag niet scratch zijn."
 msgid "hash table:"
 msgstr "hash tabel:"
 
+#: src/libpspp/tmpfile.c:55
+#, c-format
+msgid "failed to create temporary file"
+msgstr "aanmaken van een tijdelijk bestand is mislukt"
+
+#: src/libpspp/tmpfile.c:96
+#, c-format
+msgid "seeking in temporary file"
+msgstr "zoeken in tijdelijk bestand"
+
+#: src/libpspp/tmpfile.c:115
+#, c-format
+msgid "reading temporary file"
+msgstr "lezen tijdelijk bestand"
+
+#: src/libpspp/tmpfile.c:117
+#, c-format
+msgid "unexpected end of file reading temporary file"
+msgstr "onverwacht einde bestand bij het lezen van tijdelijk bestand"
+
+#: src/libpspp/tmpfile.c:136
+#, c-format
+msgid "writing to temporary file"
+msgstr "schrijven naar tijdelijk bestand"
+
 #: src/math/percentiles.c:35
 msgid "HAverage"
 msgstr ""
@@ -5090,6 +4948,14 @@ msgid ""
 "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
 msgstr ""
 
+#: src/ui/gui/about.c:64
+msgid "A program for the analysis of sampled data"
+msgstr ""
+
+#: src/ui/gui/about.c:73
+msgid "translator-credits"
+msgstr ""
+
 #: src/ui/gui/comments-dialog.c:58
 #, c-format
 msgid "Column Number: %d"
@@ -5129,7 +4995,7 @@ msgstr ""
 
 #: src/ui/gui/crosstabs-dialog.c:53 src/ui/gui/crosstabs-dialog.c:64
 #: src/ui/gui/crosstabs-dialog.c:99 src/ui/gui/crosstabs-dialog.c:107
-#: src/ui/gui/psppire-var-store.c:559 src/ui/gui/var-display.c:16
+#: src/ui/gui/psppire-var-store.c:568 src/ui/gui/var-display.c:16
 #: src/ui/gui/variable-info-dialog.c:40
 msgid "None"
 msgstr "Geen"
@@ -5183,7 +5049,7 @@ msgstr "Print tabellen"
 msgid "Pivot"
 msgstr ""
 
-#: src/ui/gui/crosstabs.glade:253 src/ui/gui/psppire.glade:781
+#: src/ui/gui/crosstabs.glade:253 src/ui/gui/psppire.glade:756
 msgid "Ascending"
 msgstr "Oplopend"
 
@@ -5258,7 +5124,7 @@ msgid "_Edit"
 msgstr ""
 
 #: src/ui/gui/data-editor.glade:174 src/ui/gui/data-editor.glade:843
-#: src/ui/gui/psppire-data-window.c:844 src/ui/gui/psppire-data-window.c:934
+#: src/ui/gui/psppire-data-window.c:843 src/ui/gui/psppire-data-window.c:933
 msgid "Insert Variable"
 msgstr "Invoegen Variabele"
 
@@ -5455,7 +5321,7 @@ msgstr "_Over"
 msgid "Open"
 msgstr ""
 
-#: src/ui/gui/data-editor.glade:712 src/ui/gui/psppire-data-window.c:582
+#: src/ui/gui/data-editor.glade:712 src/ui/gui/psppire-data-window.c:581
 msgid "Save"
 msgstr "Opslaan"
 
@@ -5483,7 +5349,7 @@ msgstr "Variabelen"
 msgid "Find"
 msgstr "Vind"
 
-#: src/ui/gui/data-editor.glade:831 src/ui/gui/psppire-data-window.c:898
+#: src/ui/gui/data-editor.glade:831 src/ui/gui/psppire-data-window.c:897
 msgid "Insert Case"
 msgstr "Invoegen Case"
 
@@ -5598,7 +5464,7 @@ msgstr "Herhaal waardes"
 msgid "Missing Values"
 msgstr "Ontbrekende Waardes"
 
-#: src/ui/gui/find-dialog.c:657
+#: src/ui/gui/find-dialog.c:658
 #, c-format
 msgid "Bad regular expression: %s"
 msgstr "Foutieve regulaire expressie: %s"
@@ -5644,7 +5510,7 @@ msgstr ""
 msgid "Standard error of the kurtosis"
 msgstr ""
 
-#: src/ui/gui/frequencies.glade:98 src/ui/gui/psppire.glade:277
+#: src/ui/gui/frequencies.glade:98 src/ui/gui/psppire.glade:252
 #: src/ui/gui/rank.glade:103
 msgid "Variable(s):"
 msgstr "Variabele(n):"
@@ -5887,10 +5753,17 @@ msgstr "Data Weergave"
 msgid "Variable View"
 msgstr "Variabele Weergave"
 
-#: src/ui/gui/psppire-data-store.c:746
+#: src/ui/gui/psppire-data-store.c:761
 msgid "var"
 msgstr ""
 
+#: src/ui/gui/psppire-data-store.c:771 src/ui/gui/psppire-var-store.c:655
+#: src/ui/gui/psppire-var-store.c:665 src/ui/gui/psppire-var-store.c:675
+#: src/ui/gui/psppire-var-store.c:786
+#, c-format
+msgid "%d"
+msgstr ""
+
 #: src/ui/gui/psppire-data-window.c:213
 msgid "Transformations Pending"
 msgstr "Transformaties Uitstaand"
@@ -5921,179 +5794,179 @@ msgstr "Weging uit"
 msgid "Weight by %s"
 msgstr "Weeg op %s"
 
-#: src/ui/gui/psppire-data-window.c:387 src/ui/gui/psppire-data-window.c:590
+#: src/ui/gui/psppire-data-window.c:387 src/ui/gui/psppire-data-window.c:589
 msgid "System Files (*.sav)"
 msgstr "Systeem Bestand (*.sav)"
 
-#: src/ui/gui/psppire-data-window.c:393 src/ui/gui/psppire-data-window.c:596
+#: src/ui/gui/psppire-data-window.c:393 src/ui/gui/psppire-data-window.c:595
 msgid "Portable Files (*.por) "
 msgstr "Overdraagbaar (Portable) Bestand (*.por)"
 
-#: src/ui/gui/psppire-data-window.c:399 src/ui/gui/psppire-data-window.c:602
+#: src/ui/gui/psppire-data-window.c:399 src/ui/gui/psppire-data-window.c:601
 #: src/ui/gui/psppire-syntax-window.c:298
 #: src/ui/gui/psppire-syntax-window.c:385
 msgid "All Files"
 msgstr "Alle bestanden"
 
-#: src/ui/gui/psppire-data-window.c:610
+#: src/ui/gui/psppire-data-window.c:609
 msgid "System File"
 msgstr "Systeem Bestand"
 
-#: src/ui/gui/psppire-data-window.c:615
+#: src/ui/gui/psppire-data-window.c:614
 msgid "Portable File"
 msgstr "Overdraagbaar (Portable) Bestand"
 
-#: src/ui/gui/psppire-data-window.c:765
+#: src/ui/gui/psppire-data-window.c:764
 msgid "Font Selection"
 msgstr "Font Selectie"
 
-#: src/ui/gui/psppire-data-window.c:833
+#: src/ui/gui/psppire-data-window.c:832
 msgid "Sort Ascending"
 msgstr "Sorteer oplopend"
 
-#: src/ui/gui/psppire-data-window.c:839
+#: src/ui/gui/psppire-data-window.c:838
 msgid "Sort Descending"
 msgstr "Sorteer aflopend"
 
-#: src/ui/gui/psppire-data-window.c:847 src/ui/gui/psppire-data-window.c:901
-#: src/ui/gui/psppire-data-window.c:937 src/ui/gui/psppire-data-window.c:1302
-#: src/ui/gui/psppire-data-window.c:1320
+#: src/ui/gui/psppire-data-window.c:846 src/ui/gui/psppire-data-window.c:900
+#: src/ui/gui/psppire-data-window.c:936 src/ui/gui/psppire-data-window.c:1301
+#: src/ui/gui/psppire-data-window.c:1319
 msgid "Clear"
 msgstr "Ruimop"
 
-#: src/ui/gui/psppire-data-window.c:1179
+#: src/ui/gui/psppire-data-window.c:1178
 msgid "Open a data file"
 msgstr "Open een data bestand"
 
-#: src/ui/gui/psppire-data-window.c:1197
+#: src/ui/gui/psppire-data-window.c:1196
 msgid "New data file"
 msgstr "Nieuw data bestand"
 
-#: src/ui/gui/psppire-data-window.c:1212
+#: src/ui/gui/psppire-data-window.c:1211
 msgid "Import text data file"
 msgstr "Importeer text data bestand"
 
-#: src/ui/gui/psppire-data-window.c:1228 src/ui/gui/psppire-data-window.c:1245
+#: src/ui/gui/psppire-data-window.c:1227 src/ui/gui/psppire-data-window.c:1244
 msgid "Save data to file"
 msgstr "Data opslaan als bestand"
 
-#: src/ui/gui/psppire-data-window.c:1244
+#: src/ui/gui/psppire-data-window.c:1243
 msgid "Save As"
 msgstr "Opslaan Als"
 
-#: src/ui/gui/psppire-data-window.c:1283
+#: src/ui/gui/psppire-data-window.c:1282
 msgid "Show/hide value labels"
 msgstr "Show/verberg waarde labels"
 
-#: src/ui/gui/psppire-data-window.c:1303
+#: src/ui/gui/psppire-data-window.c:1302
 msgid "Delete the cases at the selected position(s)"
 msgstr "Verwijder de cases op de geselecteerde positie(s)"
 
-#: src/ui/gui/psppire-data-window.c:1321
+#: src/ui/gui/psppire-data-window.c:1320
 msgid "Delete the variables at the selected position(s)"
 msgstr "Verwijder de variabele op de geselecteerde positie(s)"
 
-#: src/ui/gui/psppire-data-window.c:1339
+#: src/ui/gui/psppire-data-window.c:1338
 msgid "Create a new variable at the current position"
 msgstr "Creëer een nieuwe variabele op de huidige positie"
 
-#: src/ui/gui/psppire-data-window.c:1354
+#: src/ui/gui/psppire-data-window.c:1353
 msgid "Create a new case at the current position"
 msgstr "Creëer een nieuwe case op de huidige positie"
 
-#: src/ui/gui/psppire-data-window.c:1370
+#: src/ui/gui/psppire-data-window.c:1369
 msgid "Jump to a Case in the Data Sheet"
 msgstr "Spring naar een Case in het Data Blad"
 
-#: src/ui/gui/psppire-data-window.c:1386
+#: src/ui/gui/psppire-data-window.c:1385
 msgid "Weight cases by variable"
 msgstr "Weeg cases per variabele"
 
-#: src/ui/gui/psppire-data-window.c:1400
+#: src/ui/gui/psppire-data-window.c:1399
 msgid "Transpose the cases with the variables"
 msgstr "Herschik de cases met de variabelen"
 
-#: src/ui/gui/psppire-data-window.c:1414
+#: src/ui/gui/psppire-data-window.c:1413
 msgid "Split the active file"
 msgstr "Splits het actieve bestand"
 
-#: src/ui/gui/psppire-data-window.c:1429
+#: src/ui/gui/psppire-data-window.c:1428
 msgid "Sort cases in the active file"
 msgstr "Sorteer cases in het actieve bestand"
 
-#: src/ui/gui/psppire-data-window.c:1443
+#: src/ui/gui/psppire-data-window.c:1442
 msgid "Select cases from the active file"
 msgstr "Selecteer cases van het actieve bestand"
 
-#: src/ui/gui/psppire-data-window.c:1457
+#: src/ui/gui/psppire-data-window.c:1456
 msgid "Compute new values for a variable"
 msgstr "Bereken nieuwe waardes voor een variabele"
 
-#: src/ui/gui/psppire-data-window.c:1471
+#: src/ui/gui/psppire-data-window.c:1470
 msgid "Perform one way analysis of variance"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1486
+#: src/ui/gui/psppire-data-window.c:1485
 msgid "Calculate T Test for samples from independent groups"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1500
+#: src/ui/gui/psppire-data-window.c:1499
 msgid "Calculate T Test for paired samples"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1514
+#: src/ui/gui/psppire-data-window.c:1513
 msgid "Calculate T Test for sample from a single distribution"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1529
+#: src/ui/gui/psppire-data-window.c:1528
 msgid "Commentary text for the data file"
 msgstr "Commentaar tekst voor het data bestand"
 
-#: src/ui/gui/psppire-data-window.c:1555
+#: src/ui/gui/psppire-data-window.c:1554
 msgid "Rank Cases"
 msgstr "Rangschik Cases"
 
-#: src/ui/gui/psppire-data-window.c:1569
+#: src/ui/gui/psppire-data-window.c:1568
 msgid "Recode values into the same variables"
 msgstr "Hercodeer waardes in dezelfde Variabelen"
 
-#: src/ui/gui/psppire-data-window.c:1583
+#: src/ui/gui/psppire-data-window.c:1582
 msgid "Recode values into different variables"
 msgstr "Hercodeer waardes in andere Variabelen"
 
-#: src/ui/gui/psppire-data-window.c:1597
+#: src/ui/gui/psppire-data-window.c:1596
 msgid "Jump to variable"
 msgstr "Spring naar Variabele"
 
-#: src/ui/gui/psppire-data-window.c:1610
+#: src/ui/gui/psppire-data-window.c:1609
 msgid "Calculate descriptive statistics (mean, variance, ...)"
 msgstr "Bereken descriptive statistieken (mean, variance, ...)"
 
-#: src/ui/gui/psppire-data-window.c:1624
+#: src/ui/gui/psppire-data-window.c:1623
 msgid "Generate frequency statistics"
 msgstr "Genereer frequentie statistieken"
 
-#: src/ui/gui/psppire-data-window.c:1638
+#: src/ui/gui/psppire-data-window.c:1637
 msgid "Generate crosstabulations"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1653
+#: src/ui/gui/psppire-data-window.c:1652
 msgid "Examine Data by Factors"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1667
+#: src/ui/gui/psppire-data-window.c:1666
 msgid "Estimate parameters of the linear model"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1681 src/ui/gui/reliability.glade:7
+#: src/ui/gui/psppire-data-window.c:1680 src/ui/gui/reliability.glade:7
 msgid "Reliability Analysis"
 msgstr ""
 
-#: src/ui/gui/psppire-data-window.c:1844
+#: src/ui/gui/psppire-data-window.c:1843
 msgid "Split the window vertically and horizontally"
 msgstr "Splits het venster verticaal en horizontaal"
 
-#: src/ui/gui/psppire-data-window.c:1886
+#: src/ui/gui/psppire-data-window.c:1885
 msgid "Data Editor"
 msgstr ""
 
@@ -6113,184 +5986,178 @@ msgstr "Hoeveel dingen kunnen worden geselecteerd"
 msgid "Prefer variable labels"
 msgstr "Prefereer variabele labels"
 
-#: src/ui/gui/psppire.glade:10
-msgid ""
-"This is beta status software.  Please report bugs to bug-gnu-pspp@gnu.org"
-msgstr ""
-"Dit is beta status software. Rapporteer bugs s.v.p. bij bug-gnu-pspp@gnu.org"
-
-#: src/ui/gui/psppire.glade:72 src/ui/gui/psppire.glade:155
+#: src/ui/gui/psppire.glade:47 src/ui/gui/psppire.glade:130
 #: src/ui/gui/weight-cases-dialog.c:79
 msgid "Do not weight cases"
 msgstr "Weeg cases niet"
 
-#: src/ui/gui/psppire.glade:83
+#: src/ui/gui/psppire.glade:58
 msgid "Weight cases by"
 msgstr "Weeg cases op"
 
-#: src/ui/gui/psppire.glade:108
+#: src/ui/gui/psppire.glade:83
 msgid "Frequency Variable"
 msgstr "Frequencie Variabele"
 
-#: src/ui/gui/psppire.glade:148
+#: src/ui/gui/psppire.glade:123
 msgid "Current Status: "
 msgstr "Huidige Status:"
 
-#: src/ui/gui/psppire.glade:244
+#: src/ui/gui/psppire.glade:219
 msgid "Name Variable:"
 msgstr "Naam Variabele:"
 
-#: src/ui/gui/psppire.glade:429
+#: src/ui/gui/psppire.glade:404
 msgid "Analyze all cases.  Do not create groups."
 msgstr "Analyseer alle cases.  Creëer geen groepen."
 
-#: src/ui/gui/psppire.glade:440
+#: src/ui/gui/psppire.glade:415
 msgid "Compare groups."
 msgstr "Vergelijk groepen."
 
-#: src/ui/gui/psppire.glade:454
+#: src/ui/gui/psppire.glade:429
 msgid "Organize output by groups."
 msgstr "Organiseer uitvoer per groepen."
 
-#: src/ui/gui/psppire.glade:502
+#: src/ui/gui/psppire.glade:477
 msgid "Groups based on:"
 msgstr "Groepen gebaseerd op:"
 
-#: src/ui/gui/psppire.glade:565
+#: src/ui/gui/psppire.glade:540
 msgid "Sort the file by grouping variables."
 msgstr "Sorteer bestand op groepering variabelen."
 
-#: src/ui/gui/psppire.glade:577
+#: src/ui/gui/psppire.glade:552
 msgid "File is already sorted."
 msgstr "Bestand is al gesorteerd."
 
-#: src/ui/gui/psppire.glade:622
+#: src/ui/gui/psppire.glade:597
 msgid "Current Status : "
 msgstr "Huidige Status : "
 
-#: src/ui/gui/psppire.glade:630
+#: src/ui/gui/psppire.glade:605
 msgid "Analysis by groups is off"
 msgstr "Analyseer per groep is uit"
 
-#: src/ui/gui/psppire.glade:729
+#: src/ui/gui/psppire.glade:704
 msgid "Sort by:"
 msgstr "Sorteer op:"
 
-#: src/ui/gui/psppire.glade:792
+#: src/ui/gui/psppire.glade:767
 msgid "Descending"
 msgstr "Aflopend"
 
-#: src/ui/gui/psppire.glade:809
+#: src/ui/gui/psppire.glade:784
 msgid "Sort Order"
 msgstr "Sorteer Volgorde"
 
-#: src/ui/gui/psppire.glade:878
+#: src/ui/gui/psppire.glade:853
 msgid "Target Variable:"
 msgstr "Doel Variabele:"
 
-#: src/ui/gui/psppire.glade:909
+#: src/ui/gui/psppire.glade:884
 msgid "Type & Label"
 msgstr ""
 
-#: src/ui/gui/psppire.glade:949
+#: src/ui/gui/psppire.glade:924
 msgid "="
 msgstr ""
 
-#: src/ui/gui/psppire.glade:995
+#: src/ui/gui/psppire.glade:970
 msgid "Numeric Expressions:"
 msgstr "Numerieke Expressies:"
 
-#: src/ui/gui/psppire.glade:1049
+#: src/ui/gui/psppire.glade:1024
 msgid "Functions:"
 msgstr "Functies:"
 
-#: src/ui/gui/psppire.glade:1112 src/ui/gui/psppire.glade:1516
+#: src/ui/gui/psppire.glade:1087 src/ui/gui/psppire.glade:1491
 #: src/ui/gui/recode.glade:731
 msgid "If..."
 msgstr "Als..."
 
-#: src/ui/gui/psppire.glade:1345
+#: src/ui/gui/psppire.glade:1320
 msgid "Use filter variable"
 msgstr "Gebruik filter variabele"
 
-#: src/ui/gui/psppire.glade:1398
+#: src/ui/gui/psppire.glade:1373
 msgid "Based on time or case range"
 msgstr "Gebaseerd op tijd of case volgorde"
 
-#: src/ui/gui/psppire.glade:1411
+#: src/ui/gui/psppire.glade:1386
 msgid "Range..."
 msgstr ""
 
-#: src/ui/gui/psppire.glade:1450
+#: src/ui/gui/psppire.glade:1425
 msgid "Random sample of cases"
 msgstr "Random steekproef van cases"
 
-#: src/ui/gui/psppire.glade:1464
+#: src/ui/gui/psppire.glade:1439
 msgid "Sample..."
 msgstr "Steekproef..."
 
-#: src/ui/gui/psppire.glade:1502
+#: src/ui/gui/psppire.glade:1477
 msgid "If condition is satisfied"
 msgstr "Aan If conditie is voldaan"
 
-#: src/ui/gui/psppire.glade:1551
+#: src/ui/gui/psppire.glade:1526
 msgid "All Cases"
 msgstr "Alle Cases"
 
-#: src/ui/gui/psppire.glade:1566
+#: src/ui/gui/psppire.glade:1541
 msgid "Select"
 msgstr "Selecteer"
 
-#: src/ui/gui/psppire.glade:1595
+#: src/ui/gui/psppire.glade:1570
 msgid "Filtered"
 msgstr "Gefilterd"
 
-#: src/ui/gui/psppire.glade:1606
+#: src/ui/gui/psppire.glade:1581
 msgid "Deleted"
 msgstr "Verwijderd"
 
-#: src/ui/gui/psppire.glade:1624
+#: src/ui/gui/psppire.glade:1599
 msgid "Unselected Cases Are"
 msgstr "Niet geselecteerde Cases zijn"
 
-#: src/ui/gui/psppire.glade:1689
+#: src/ui/gui/psppire.glade:1664
 msgid "Comments:"
 msgstr "Commentaren:"
 
-#: src/ui/gui/psppire.glade:1731
+#: src/ui/gui/psppire.glade:1706
 msgid "Display comments in output"
 msgstr "Toon commentaren in uitvoer"
 
-#: src/ui/gui/psppire.glade:1746
+#: src/ui/gui/psppire.glade:1721
 msgid "Column Number: 0"
 msgstr "Kolom Nummer: 0"
 
-#: src/ui/gui/psppire.glade:1829
+#: src/ui/gui/psppire.glade:1804
 msgid "First case"
 msgstr "Eerste case"
 
-#: src/ui/gui/psppire.glade:1842
+#: src/ui/gui/psppire.glade:1817
 msgid "Last case"
 msgstr "Laatste case"
 
-#: src/ui/gui/psppire.glade:1855
+#: src/ui/gui/psppire.glade:1830
 msgid "Observation"
 msgstr "Observatie"
 
-#: src/ui/gui/psppire.glade:1919
+#: src/ui/gui/psppire.glade:1894
 msgid "Use expression as label"
 msgstr "Gebruik expressie als label"
 
-#: src/ui/gui/psppire.glade:2045 src/ui/gui/psppire-var-sheet.c:540
-#: src/ui/gui/psppire-var-store.c:786
+#: src/ui/gui/psppire.glade:2020 src/ui/gui/psppire-var-sheet.c:529
+#: src/ui/gui/psppire-var-store.c:795
 msgid "Width"
 msgstr "Breedte"
 
-#: src/ui/gui/psppire.glade:2175
+#: src/ui/gui/psppire.glade:2150
 msgid "Goto Case Number:"
 msgstr "Ga naar Case Nummer:"
 
-#: src/ui/gui/psppire.glade:2312
+#: src/ui/gui/psppire.glade:2287
 msgid "Sample Size"
 msgstr "Steekproef Grootte"
 
@@ -6325,47 +6192,47 @@ msgstr ""
 msgid "Cannot load syntax file '%s'"
 msgstr "Kan syntax bestand \"%s\" niet laden"
 
-#: src/ui/gui/psppire-var-sheet.c:538 src/ui/gui/psppire-var-store.c:784
+#: src/ui/gui/psppire-var-sheet.c:527 src/ui/gui/psppire-var-store.c:793
 msgid "Name"
 msgstr "Naam"
 
-#: src/ui/gui/psppire-var-sheet.c:541 src/ui/gui/psppire-var-store.c:787
+#: src/ui/gui/psppire-var-sheet.c:530 src/ui/gui/psppire-var-store.c:796
 msgid "Decimals"
 msgstr "Decimalen"
 
-#: src/ui/gui/psppire-var-sheet.c:543 src/ui/gui/psppire-var-store.c:789
+#: src/ui/gui/psppire-var-sheet.c:532 src/ui/gui/psppire-var-store.c:798
 msgid "Values"
 msgstr "Waardes"
 
-#: src/ui/gui/psppire-var-sheet.c:546 src/ui/gui/psppire-var-store.c:792
+#: src/ui/gui/psppire-var-sheet.c:535 src/ui/gui/psppire-var-store.c:801
 msgid "Align"
 msgstr "Uitlijnen"
 
-#: src/ui/gui/psppire-var-sheet.c:547 src/ui/gui/psppire-var-store.c:793
+#: src/ui/gui/psppire-var-sheet.c:536 src/ui/gui/psppire-var-store.c:802
 msgid "Measure"
 msgstr "Meting"
 
-#: src/ui/gui/psppire-var-store.c:569 src/ui/gui/var-sheet-dialogs.glade:43
+#: src/ui/gui/psppire-var-store.c:578 src/ui/gui/var-sheet-dialogs.glade:43
 msgid "Comma"
 msgstr "Komma"
 
-#: src/ui/gui/psppire-var-store.c:570 src/ui/gui/var-sheet-dialogs.glade:59
+#: src/ui/gui/psppire-var-store.c:579 src/ui/gui/var-sheet-dialogs.glade:59
 msgid "Dot"
 msgstr "Punt"
 
-#: src/ui/gui/psppire-var-store.c:571
+#: src/ui/gui/psppire-var-store.c:580
 msgid "Scientific"
 msgstr "Wetenschappelijk"
 
-#: src/ui/gui/psppire-var-store.c:572 src/ui/gui/var-sheet-dialogs.glade:91
+#: src/ui/gui/psppire-var-store.c:581 src/ui/gui/var-sheet-dialogs.glade:91
 msgid "Date"
 msgstr "Datum"
 
-#: src/ui/gui/psppire-var-store.c:573 src/ui/gui/var-sheet-dialogs.glade:107
+#: src/ui/gui/psppire-var-store.c:582 src/ui/gui/var-sheet-dialogs.glade:107
 msgid "Dollar"
 msgstr "Euro"
 
-#: src/ui/gui/psppire-var-store.c:574
+#: src/ui/gui/psppire-var-store.c:583
 msgid "Custom"
 msgstr "Aangepast"
 
@@ -6981,11 +6848,11 @@ msgstr "Ontbrekende Waardes: %s\n"
 msgid "Measurement Level: %s\n"
 msgstr "Meetniveau: %s\n"
 
-#: src/ui/gui/variable-info-dialog.c:124
+#: src/ui/gui/variable-info-dialog.c:125
 msgid "Value Labels:\n"
 msgstr "Waarde Labels:\n"
 
-#: src/ui/gui/variable-info-dialog.c:137
+#: src/ui/gui/variable-info-dialog.c:138
 #, c-format
 msgid "%s %s\n"
 msgstr ""
@@ -7177,5 +7044,90 @@ msgstr "Print een lijst van bekende driver classes en eindig daarna"
 msgid "Start an interactive session"
 msgstr "Start een interactieve sessie"
 
+#~ msgid "Bad variable width %d."
+#~ msgstr "Foutieve variabele breedte %d."
+
+#~ msgid "File specifies unexpected value %g as HIGHEST."
+#~ msgstr "Bestand specificeert onverwachte waarde %g als HIGHEST."
+
+#~ msgid "File specifies unexpected value %g as LOWEST."
+#~ msgstr "Bestand specificeert onverwachte waarde %g als LOWEST."
+
+#~ msgid "%s is unimplemented."
+#~ msgstr "%s is niet geïmplementeerd."
+
+#~ msgid "Bad character in input: `\\%o'."
+#~ msgstr "Fout karakter in input: '\\%o'."
+
+#~ msgid "WEIGHT is off."
+#~ msgstr "WEGING is uit."
+
+#~ msgid "WEIGHT is variable %s."
+#~ msgstr "WEGING is variabele %s."
+
+#~ msgid "WIDTH is %d."
+#~ msgstr "BREEDTE is %d."
+
+#~ msgid ""
+#~ "Ignoring missing values on long string variable %s, which PSPP does not "
+#~ "yet support."
+#~ msgstr ""
+#~ "Negeren van missing values voor lange string variabele %s, wat PSPP nog "
+#~ "niet ondersteunt."
+
+#~ msgid ""
+#~ "Ignoring value labels for long string variables, which PSPP does not yet "
+#~ "support."
+#~ msgstr ""
+#~ "Negeer waarde labels voor lange string variabelen, die door PSPP nog niet "
+#~ "ondersteund worden."
+
+#~ msgid "Cannot add value labels from source file to long string variable %s."
+#~ msgstr ""
+#~ "Kan geen value labels van bron bestand toevoegen aan lange string "
+#~ "variabele %s."
+
+#~ msgid ""
+#~ "It is not possible to assign value labels to long string variables such "
+#~ "as %s."
+#~ msgstr ""
+#~ "Het is niet mogelijk om waarde labels aan lange string variabelen als %s "
+#~ "toe te kennen."
+
+#~ msgid "Write mode ALL not allowed in general mode.  Assuming WRITE=CELLS."
+#~ msgstr ""
+#~ "Write modus ALL niet toegestaan in algemen modus.  WRITE=CELLS aangenomen."
+
+#~ msgid "Error writing FLIP file: %s."
+#~ msgstr "Fout tijdens het schrijven van FLIP bestand: %s."
+
+#~ msgid "Could not create acceptable variant for variable %s."
+#~ msgstr "Kon geen acceptabele variant voor variabele %s creëren."
+
+#~ msgid "Cannot create more than 99999 variable names."
+#~ msgstr "Kan niet meer dan 99999 variabele namen creëren."
+
+#~ msgid "Long string variable %s is not valid here."
+#~ msgstr "Lange string variabele %s is niet geldig hier."
+
+#~ msgid "PATH and SEARCH subcommands are mutually exclusive.  Ignoring PATH."
+#~ msgstr ""
+#~ "PATH en SEARCH subopdrachten zijn wederzijds uitsluitend. PATH genegeerd. "
+
+#~ msgid "At least one value must be specified on PATH."
+#~ msgstr "Tenminste 1 waarde dient bij PATH opgegeven te zijn."
+
+#~ msgid "Hash bits adjusted to %d."
+#~ msgstr "Hash bits aangepast naar %d."
+
+#~ msgid "error opening \"%s\" for writing"
+#~ msgstr "fout bij openen \"%s\" voor schrijven"
+
+#~ msgid ""
+#~ "This is beta status software.  Please report bugs to bug-gnu-pspp@gnu.org"
+#~ msgstr ""
+#~ "Dit is beta status software. Rapporteer bugs s.v.p. bij bug-gnu-pspp@gnu."
+#~ "org"
+
 #~ msgid "Diagnositic options:"
 #~ msgstr "Diagnostische opties:"
index 1a6ddc1bad52c3e99143b19ee2927c6c1f340b67..f166ee6aba86f1a00acefb409c466e253635a574 100644 (file)
@@ -365,7 +365,7 @@ gnumeric_open_reader (struct gnumeric_read_info *gri, struct dictionary **dict)
 
   if ( NULL == gz)
     {
-      msg (ME, _("Error opening \"%s\" for reading as a gnumeric file: %s."),
+      msg (ME, _("Error opening \"%s\" for reading as a Gnumeric file: %s."),
            gri->file_name, strerror (errno));
 
       goto error;
index 0f583a12a5005fe360abd8662847039742b9afbb..9978d43a4e58d993649935a9d2580ce1cf4faa2b 100644 (file)
@@ -577,7 +577,7 @@ read_variable_record (struct sfm_reader *r, struct dictionary *dict,
 
   /* Create variable. */
   if (width < 0 || width > 255)
-    sys_error (r, _("Bad variable width %d."), width);
+    sys_error (r, _("Bad width %d for variable %s."), width, name);
   var = dict_create_var (dict, name, width);
   if (var == NULL)
     sys_error (r,
@@ -981,11 +981,16 @@ read_machine_float_info (struct sfm_reader *r, size_t size, size_t count)
                size, count);
 
   if (sysmis != SYSMIS)
-    sys_warn (r, _("File specifies unexpected value %g as SYSMIS."), sysmis);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              sysmis, "SYSMIS");
+
   if (highest != HIGHEST)
-    sys_warn (r, _("File specifies unexpected value %g as HIGHEST."), highest);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              highest, "HIGHEST");
+
   if (lowest != LOWEST)
-    sys_warn (r, _("File specifies unexpected value %g as LOWEST."), lowest);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              lowest, "LOWEST");
 }
 
 /* Read record type 7, subtype 11, which specifies how variables
index 84f08d87ce5da9241c07192fda84b45665eab365..f9782e2d867d47028f134c4b406dbfd53313d68c 100644 (file)
@@ -59,9 +59,6 @@ static inline double value_num (const union value *);
 static inline const uint8_t *value_str (const union value *, int width);
 static inline uint8_t *value_str_rw (union value *, int width);
 
-int compare_values (const void *, const void *, const void *var);
-unsigned hash_value (const void *, const void *var);
-
 static inline void value_copy (union value *, const union value *, int width);
 void value_copy_rpad (union value *, int dst_width,
                       const union value *, int src_width,
index 5dd2a30835f4e3d0eb053ecdd55a03918cc56fdd..c00d94b9c4b3597bcc2416ae0e29fd56018b229f 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-9, 2000, 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -205,7 +205,7 @@ do_parse_command (struct lexer *lexer,
     }
   else if (command->function == NULL)
     {
-      msg (SE, _("%s is unimplemented."), command->name);
+      msg (SE, _("%s is not yet implemented."), command->name);
       result = CMD_NOT_IMPLEMENTED;
       goto finish;
     }
index 8f189b1b212c6bccf497e28b68900612e6989149..6ec3d0d50bc94e258d44306d25d1157483f73c70 100644 (file)
@@ -661,9 +661,9 @@ dump_fixed_table (const struct data_parser *parser,
       int row = i + 1;
 
       tab_text (t, 0, row, TAB_LEFT, f->name);
-      tab_text (t, 1, row, TAT_PRINTF, "%d", f->record);
-      tab_text (t, 2, row, TAT_PRINTF, "%3d-%3d",
-                f->first_column, f->first_column + f->format.w - 1);
+      tab_text_format (t, 1, row, 0, "%d", f->record);
+      tab_text_format (t, 2, row, 0, "%3d-%3d",
+                       f->first_column, f->first_column + f->format.w - 1);
       tab_text (t, 3, row, TAB_LEFT | TAB_FIX,
                 fmt_to_string (&f->format, fmt_string));
     }
index c981bb1dcc2300f1053f741bc5dd9b93a7c8569e..e345477baf706f50add706bbac7e5f04b0d4057d 100644 (file)
@@ -414,8 +414,9 @@ dump_table (struct print_trns *trns, const struct file_handle *fh)
       switch (spec->type)
         {
         case PRT_LITERAL:
-          tab_text (t, 0, row, TAB_LEFT | TAB_FIX | TAT_PRINTF, "\"%.*s\"",
-                    (int) ds_length (&spec->string), ds_data (&spec->string));
+          tab_text_format (t, 0, row, TAB_LEFT | TAB_FIX, "\"%.*s\"",
+                           (int) ds_length (&spec->string),
+                           ds_data (&spec->string));
           width = ds_length (&spec->string);
           break;
         case PRT_VAR:
@@ -427,9 +428,9 @@ dump_table (struct print_trns *trns, const struct file_handle *fh)
         default:
           NOT_REACHED ();
        }
-      tab_text (t, 1, row, TAT_PRINTF, "%d", spec->record);
-      tab_text (t, 2, row, TAT_PRINTF, "%3d-%3d",
-                spec->first_column, spec->first_column + width - 1);
+      tab_text_format (t, 1, row, 0, "%d", spec->record);
+      tab_text_format (t, 2, row, 0, "%3d-%3d",
+                       spec->first_column, spec->first_column + width - 1);
       row++;
     }
 
index 0024787fdd203e022b9e6b2911e3333c90ab6f76..5d2b42d758eed2d1e305d05046d59cf0aa290877 100644 (file)
@@ -92,11 +92,11 @@ output_split_file_values (const struct dataset *ds, const struct ccase *c)
       const char *val_lab;
       const struct fmt_spec *print = var_get_print_format (v);
 
-      tab_text (t, 0, i + 1, TAB_LEFT | TAT_PRINTF, "%s", var_get_name (v));
+      tab_text_format (t, 0, i + 1, TAB_LEFT, "%s", var_get_name (v));
 
       s = data_out (case_data (c, v), dict_get_encoding (dict), print);
+      tab_text_format (t, 1, i + 1, 0, "%.*s", print->w, s);
 
-      tab_text (t, 1, i + 1, TAT_PRINTF, "%.*s", print->w, s);
       free (s);
       
       val_lab = var_lookup_value_label (v, case_data (c, v));
index 8f2ab7d7a04de75ca753a4fd700326b787695da5..6a0c81acac768b50ee782a3ef979ff96db57f615 100644 (file)
@@ -120,8 +120,8 @@ cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
     tab_text (t, 1, 1, TAB_LEFT, label);
   }
   tab_text (t, 0, 2, TAB_LEFT, _("Created:"));
-  tab_text (t, 1, 2, TAB_LEFT | TAT_PRINTF, "%s %s by %s",
-               info.creation_date, info.creation_time, info.product);
+  tab_text_format (t, 1, 2, TAB_LEFT, "%s %s by %s",
+                   info.creation_date, info.creation_time, info.product);
   tab_text (t, 0, 3, TAB_LEFT, _("Integer Format:"));
   tab_text (t, 1, 3, TAB_LEFT,
             info.integer_format == INTEGER_MSB_FIRST ? _("Big Endian.")
@@ -136,11 +136,11 @@ cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
             : info.float_format == FLOAT_Z_LONG ? _("IBM 390 Hex Long.")
             : _("Unknown."));
   tab_text (t, 0, 5, TAB_LEFT, _("Variables:"));
-  tab_text (t, 1, 5, TAB_LEFT | TAT_PRINTF, "%zu", dict_get_var_cnt (d));
+  tab_text_format (t, 1, 5, TAB_LEFT, "%zu", dict_get_var_cnt (d));
   tab_text (t, 0, 6, TAB_LEFT, _("Cases:"));
-  tab_text (t, 1, 6, TAB_LEFT | TAT_PRINTF,
-            info.case_cnt == -1 ? _("Unknown") : "%ld",
-            (long int) info.case_cnt);
+  tab_text_format (t, 1, 6, TAB_LEFT,
+                   info.case_cnt == -1 ? _("Unknown") : "%ld",
+                   (long int) info.case_cnt);
   tab_text (t, 0, 7, TAB_LEFT, _("Type:"));
   tab_text (t, 1, 7, TAB_LEFT, _("System File."));
   tab_text (t, 0, 8, TAB_LEFT, _("Weight:"));
@@ -151,13 +151,13 @@ cmd_sysfile_info (struct lexer *lexer, struct dataset *ds UNUSED)
                ? var_get_name (weight_var) : _("Not weighted.")));
   }
   tab_text (t, 0, 9, TAB_LEFT, _("Mode:"));
-  tab_text (t, 1, 9, TAB_LEFT | TAT_PRINTF,
-               _("Compression %s."), info.compressed ? _("on") : _("off"));
+  tab_text_format (t, 1, 9, TAB_LEFT,
+                   _("Compression %s."), info.compressed ? _("on") : _("off"));
 
 
   tab_text (t, 0, 10, TAB_LEFT, _("Charset:"));
-  tab_text (t, 1, 10, TAB_LEFT | TAT_PRINTF,
-           dict_get_encoding(d) ? dict_get_encoding(d) : _("Unknown"));
+  tab_text_format (t, 1, 10, TAB_LEFT,
+                   dict_get_encoding(d) ? dict_get_encoding(d) : _("Unknown"));
 
 
   tab_dim (t, tab_natural_dimensions, NULL);
@@ -459,8 +459,7 @@ display_attributes (struct tab_table *t, const struct attrset *set, int flags,
       for (i = 0; i < n_values; i++)
         {
           if (n_values > 1)
-            tab_text (t, c, r, TAB_LEFT | TAT_PRINTF, "%s[%d]",
-                      name, i + 1);
+            tab_text_format (t, c, r, TAB_LEFT, "%s[%d]", name, i + 1);
           else
             tab_text (t, c, r, TAB_LEFT, name);
           tab_text (t, c + 1, r, TAB_LEFT, attribute_get_value (attr, i));
@@ -523,7 +522,7 @@ describe_variable (const struct variable *v, struct tab_table *t, int r,
   /* Put the name, var label, and position into the first row. */
   tab_text (t, 0, r, TAB_LEFT, var_get_name (v));
   if (flags & DF_DICT_INDEX)
-    tab_text (t, pc, r, TAT_PRINTF, "%zu", var_get_dict_index (v) + 1);
+    tab_text_format (t, pc, r, 0, "%zu", var_get_dict_index (v) + 1);
 
   if (flags & DF_VARIABLE_LABELS && var_has_label (v))
     {
@@ -540,18 +539,20 @@ describe_variable (const struct variable *v, struct tab_table *t, int r,
       if (fmt_equal (print, write))
         {
           char str[FMT_STRING_LEN_MAX + 1];
-          tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                          _("Format: %s"), fmt_to_string (print, str));
+          tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                                 _("Format: %s"), fmt_to_string (print, str));
           r++;
         }
       else
         {
           char str[FMT_STRING_LEN_MAX + 1];
-          tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                          _("Print Format: %s"), fmt_to_string (print, str));
+          tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                                 _("Print Format: %s"),
+                                 fmt_to_string (print, str));
           r++;
-          tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                          _("Write Format: %s"), fmt_to_string (write, str));
+          tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                                 _("Write Format: %s"),
+                                 fmt_to_string (write, str));
           r++;
         }
     }
@@ -562,20 +563,21 @@ describe_variable (const struct variable *v, struct tab_table *t, int r,
       enum measure m = var_get_measure (v);
       enum alignment a = var_get_alignment (v);
 
-      tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                      _("Measure: %s"),
-                      m == MEASURE_NOMINAL ? _("Nominal")
-                      : m == MEASURE_ORDINAL ? _("Ordinal")
-                      : _("Scale"));
+      tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                             _("Measure: %s"),
+                             m == MEASURE_NOMINAL ? _("Nominal")
+                             : m == MEASURE_ORDINAL ? _("Ordinal")
+                             : _("Scale"));
       r++;
-      tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                      _("Display Alignment: %s"),
-                      a == ALIGN_LEFT ? _("Left")
-                      : a == ALIGN_CENTRE ? _("Center")
-                      : _("Right"));
+      tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                             _("Display Alignment: %s"),
+                             a == ALIGN_LEFT ? _("Left")
+                             : a == ALIGN_CENTRE ? _("Center")
+                             : _("Right"));
       r++;
-      tab_joint_text (t, 1, r, 2, r, TAB_LEFT | TAT_PRINTF,
-                      _("Display Width: %d"), var_get_display_width (v));
+      tab_joint_text_format (t, 1, r, 2, r, TAB_LEFT,
+                             _("Display Width: %d"),
+                             var_get_display_width (v));
       r++;
     }
   
@@ -739,7 +741,7 @@ display_vectors (const struct dictionary *dict, int sorted)
           char fmt_string[FMT_STRING_LEN_MAX + 1];
           fmt_to_string (var_get_print_format (var), fmt_string);
 
-          tab_text (t, 1, row, TAB_RIGHT | TAT_PRINTF, "%zu", j + 1);
+          tab_text_format (t, 1, row, TAB_RIGHT, "%zu", j + 1);
           tab_text (t, 2, row, TAB_LEFT, var_get_name (var));
           tab_text (t, 3, row, TAB_LEFT, fmt_string);
           row++;
index 265116141eb36f0d8ffa685a326431cd79f7b7ad..8b3f2a48d00474811a09c090f8a82d1b75ed7546 100644 (file)
@@ -385,10 +385,9 @@ lex_get (struct lexer *lexer)
           else
             {
               unsigned char c = *lexer->prog++;
-              if (c_isgraph (c))
-                msg (SE, _("Bad character in input: `%c'."), c);
-              else
-                msg (SE, _("Bad character in input: `\\%o'."), c);
+              char *c_name = xasprintf (c_isgraph (c) ? "%c" : "\\%o", c);
+              msg (SE, _("Bad character in input: `%s'."), c_name);
+              free (c_name);
               continue;
             }
         }
index b44c5a6f165ea38160430bfedb3012630169afc2..26e0257ca14030ca3d58a2ae10acd8f960b45d2c 100644 (file)
@@ -261,9 +261,9 @@ binomial_execute (const struct dataset *ds,
       tab_text (table,  4, 0,  TAB_CENTER, _("Observed Prop."));
       tab_text (table,  5, 0,  TAB_CENTER, _("Test Prop."));
 
-      tab_text (table,  6, 0,  TAB_CENTER | TAT_PRINTF,
-                _("Exact Sig. (%d-tailed)"),
-                bst->p == 0.5 ? 2: 1);
+      tab_text_format (table,  6, 0,  TAB_CENTER,
+                       _("Exact Sig. (%d-tailed)"),
+                       bst->p == 0.5 ? 2 : 1);
 
       tab_vline (table, TAL_2, 2, 0, tab_nr (table) -1);
       tab_submit (table);
index e3f54c817630178cdca465f50d40f8baf9693b64..99fa41d9c056a039ef9d92fdc9090758539c9d15 100644 (file)
@@ -883,8 +883,8 @@ make_summary_table (struct crosstabs_proc *proc)
         {
           tab_double (summary, i * 2 + 1, 0, TAB_RIGHT, n[i],
                       &proc->weight_format);
-          tab_text (summary, i * 2 + 2, 0, TAB_RIGHT | TAT_PRINTF, "%.1f%%",
-                    n[i] / n[2] * 100.);
+          tab_text_format (summary, i * 2 + 2, 0, TAB_RIGHT, "%.1f%%",
+                           n[i] / n[2] * 100.);
         }
 
       tab_next_row (summary);
@@ -1237,9 +1237,9 @@ create_chisq_table (struct pivot_table *pt)
   tab_text (chisq, 3, 0, TAB_RIGHT | TAT_TITLE,
             _("Asymp. Sig. (2-sided)"));
   tab_text (chisq, 4, 0, TAB_RIGHT | TAT_TITLE,
-            _("Exact. Sig. (2-sided)"));
+            _("Exact Sig. (2-sided)"));
   tab_text (chisq, 5, 0, TAB_RIGHT | TAT_TITLE,
-            _("Exact. Sig. (1-sided)"));
+            _("Exact Sig. (1-sided)"));
   tab_offset (chisq, 0, 1);
 
   return chisq;
@@ -1280,8 +1280,8 @@ create_risk_table (struct pivot_table *pt)
   tab_title (risk, _("Risk estimate."));
 
   tab_offset (risk, pt->n_vars - 2, 0);
-  tab_joint_text (risk, 2, 0, 3, 0, TAB_CENTER | TAT_TITLE | TAT_PRINTF,
-                  _("95%% Confidence Interval"));
+  tab_joint_text_format (risk, 2, 0, 3, 0, TAB_CENTER | TAT_TITLE,
+                         _("95%% Confidence Interval"));
   tab_text (risk, 0, 1, TAB_LEFT | TAT_TITLE, _("Statistic"));
   tab_text (risk, 1, 1, TAB_RIGHT | TAT_TITLE, _("Value"));
   tab_text (risk, 2, 1, TAB_RIGHT | TAT_TITLE, _("Lower"));
@@ -2062,8 +2062,8 @@ display_directional (struct crosstabs_proc *proc, struct pivot_table *pt,
                  else
                    string = var_get_name (pt->vars[1]);
 
-                 tab_text (direct, j, 0, TAB_LEFT | TAT_PRINTF,
-                           gettext (stats_names[j][k]), string);
+                 tab_text_format (direct, j, 0, TAB_LEFT,
+                                   gettext (stats_names[j][k]), string);
                }
            }
       }
index 58144ceb908fc063b062435bf66abd314d130f43..7b30a6013908c6692a5ba0b6977b3046a534f33c 100644 (file)
@@ -905,9 +905,9 @@ display (struct dsc_proc *dsc)
 
       nc = 0;
       tab_text (t, nc++, i + 1, TAB_LEFT, var_get_name (dv->v));
-      tab_text (t, nc++, i + 1, TAT_PRINTF, "%g", dv->valid);
+      tab_text_format (t, nc++, i + 1, 0, "%g", dv->valid);
       if (dsc->format == DSC_SERIAL)
-       tab_text (t, nc++, i + 1, TAT_PRINTF, "%g", dv->missing);
+       tab_text_format (t, nc++, i + 1, 0, "%g", dv->missing);
 
       for (j = 0; j < DSC_N_STATS; j++)
        if (dsc->show_stats & (1ul << j))
index a829112ef2e45366034dc93da16b0cedb4b5372c..e8333b1ceeaa5257d922b9be4700bc6aec8ef7d1 100644 (file)
@@ -1405,10 +1405,10 @@ show_summary (const struct variable **dependent_var, int n_dep_var,
                     TAB_LEFT,
                     n, wfmt);
 
-         tab_text (tbl, heading_columns + 1,
-                   heading_rows + j + v * ll_count (&fctr->result_list),
-                   TAB_RIGHT | TAT_PRINTF,
-                   "%g%%", n * 100.0 / result->metrics[v].n);
+         tab_text_format (tbl, heading_columns + 1,
+                           heading_rows + j + v * ll_count (&fctr->result_list),
+                           TAB_RIGHT,
+                           "%g%%", n * 100.0 / result->metrics[v].n);
 
          /* Total Missing */
          tab_double (tbl, heading_columns + 2,
@@ -1417,12 +1417,12 @@ show_summary (const struct variable **dependent_var, int n_dep_var,
                     result->metrics[v].n - n,
                     wfmt);
 
-         tab_text (tbl, heading_columns + 3,
-                   heading_rows + j + v * ll_count (&fctr->result_list),
-                   TAB_RIGHT | TAT_PRINTF,
-                   "%g%%",
-                   (result->metrics[v].n - n) * 100.0 / result->metrics[v].n
-                   );
+         tab_text_format (tbl, heading_columns + 3,
+                           heading_rows + j + v * ll_count (&fctr->result_list),
+                           TAB_RIGHT,
+                           "%g%%",
+                           (result->metrics[v].n - n) * 100.0 / result->metrics[v].n
+                           );
 
          /* Total Valid + Missing */
          tab_double (tbl, heading_columns + 4,
@@ -1431,12 +1431,12 @@ show_summary (const struct variable **dependent_var, int n_dep_var,
                     result->metrics[v].n,
                     wfmt);
 
-         tab_text (tbl, heading_columns + 5,
-                   heading_rows + j + v * ll_count (&fctr->result_list),
-                   TAB_RIGHT | TAT_PRINTF,
-                   "%g%%",
-                   (result->metrics[v].n) * 100.0 / result->metrics[v].n
-                   );
+         tab_text_format (tbl, heading_columns + 5,
+                           heading_rows + j + v * ll_count (&fctr->result_list),
+                           TAB_RIGHT,
+                           "%g%%",
+                           ((result->metrics[v].n) * 100.0
+                            / result->metrics[v].n));
 
          ++j;
        }
@@ -1558,11 +1558,11 @@ show_descriptives (const struct variable **dependent_var,
                    TAB_LEFT,
                    _("Mean"));
 
-         tab_text (tbl, n_cols - 4,
-                   heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
-                   TAB_LEFT | TAT_PRINTF,
-                   _("%g%% Confidence Interval for Mean"),
-                   cmd.n_cinterval[0]);
+         tab_text_format (tbl, n_cols - 4,
+                           heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
+                           TAB_LEFT,
+                           _("%g%% Confidence Interval for Mean"),
+                           cmd.n_cinterval[0]);
 
          tab_text (tbl, n_cols - 3,
                    heading_rows + row_var_start + 1 + i * DESCRIPTIVE_ROWS,
@@ -1575,9 +1575,8 @@ show_descriptives (const struct variable **dependent_var,
                    _("Upper Bound"));
 
          tab_text (tbl, n_cols - 4,
-                   heading_rows + row_var_start + 3 + i * DESCRIPTIVE_ROWS,
-                   TAB_LEFT | TAT_PRINTF,
-                   _("5%% Trimmed Mean"));
+                    heading_rows + row_var_start + 3 + i * DESCRIPTIVE_ROWS,
+                    TAB_LEFT, _("5% Trimmed Mean"));
 
          tab_text (tbl, n_cols - 4,
                    heading_rows + row_var_start + 4 + i * DESCRIPTIVE_ROWS,
@@ -1848,15 +1847,15 @@ show_extremes (const struct variable **dependent_var,
 
          for ( e = 1; e <= cmd.st_n; ++e )
            {
-             tab_text (tbl, n_cols - 3,
-                       heading_rows + row_var_start + row_result_start + e - 1,
-                       TAB_RIGHT | TAT_PRINTF,
-                       _("%d"), e);
-
-             tab_text (tbl, n_cols - 3,
-                       heading_rows + row_var_start + row_result_start + cmd.st_n + e - 1,
-                       TAB_RIGHT | TAT_PRINTF,
-                       _("%d"), e);
+             tab_text_format (tbl, n_cols - 3,
+                               heading_rows + row_var_start + row_result_start + e - 1,
+                               TAB_RIGHT,
+                               "%d", e);
+
+             tab_text_format (tbl, n_cols - 3,
+                               heading_rows + row_var_start + row_result_start + cmd.st_n + e - 1,
+                               TAB_RIGHT,
+                               "%d", e);
            }
 
 
@@ -2120,11 +2119,10 @@ show_percentiles (const struct variable **dependent_var,
 
   for (i = 0 ; i < n_percentiles; ++i )
     {
-      tab_text (tbl, n_cols - n_percentiles + i, 1,
-               TAB_CENTER | TAT_TITLE | TAT_PRINTF,
-               _("%g"),
-               subc_list_double_at (&percentile_list, i)
-               );
+      tab_text_format (tbl, n_cols - n_percentiles + i, 1,
+                       TAB_CENTER | TAT_TITLE,
+                       _("%g"),
+                       subc_list_double_at (&percentile_list, i));
 
 
     }
index 2c1c19e8d8d77a19b8c1827143207053b90ca069..0f6b20a1db04cdf9503e4a21cd67cb2f22ecf6bf 100644 (file)
@@ -394,8 +394,9 @@ show_descriptives (const struct dictionary *dict)
 
   tab_vline (t, TAL_0, 7, 0, 0);
   tab_hline (t, TAL_1, 6, 7, 1);
-  tab_joint_text (t, 6, 0, 7, 0, TAB_CENTER | TAT_TITLE | TAT_PRINTF,
-                 _("%g%% Confidence Interval for Mean"), confidence*100.0);
+  tab_joint_text_format (t, 6, 0, 7, 0, TAB_CENTER | TAT_TITLE,
+                         _("%g%% Confidence Interval for Mean"),
+                         confidence*100.0);
 
   tab_text (t, 6, 1, TAB_CENTER | TAT_TITLE, _("Lower Bound"));
   tab_text (t, 7, 1, TAB_CENTER | TAT_TITLE, _("Upper Bound"));
@@ -636,14 +637,13 @@ show_contrast_coeffs (short *bad_contrast)
 
       for (i = 0; i < cmd.sbc_contrast; ++i )
        {
-         tab_text (t, 1, i + 2, TAB_CENTER | TAT_PRINTF, "%d", i + 1);
+         tab_text_format (t, 1, i + 2, TAB_CENTER, "%d", i + 1);
 
          if ( bad_contrast[i] )
            tab_text (t, count + 2, i + 2, TAB_RIGHT, "?" );
          else
-           tab_text (t, count + 2, i + 2, TAB_RIGHT | TAT_PRINTF, "%g",
-                     subc_list_double_at (&cmd.dl_contrast[i], count)
-                     );
+           tab_text_format (t, count + 2, i + 2, TAB_RIGHT, "%g",
+                             subc_list_double_at (&cmd.dl_contrast[i], count));
        }
     }
 
@@ -740,12 +740,13 @@ show_contrast_tests (short *bad_contrast)
                        _("Does not assume equal"));
            }
 
-         tab_text (t,  2, (v * lines_per_variable) + i + 1,
-                   TAB_CENTER | TAT_TITLE | TAT_PRINTF, "%d", i + 1);
+         tab_text_format (t,  2, (v * lines_per_variable) + i + 1,
+                           TAB_CENTER | TAT_TITLE, "%d", i + 1);
 
 
-         tab_text (t,  2, (v * lines_per_variable) + i + 1 + cmd.sbc_contrast,
-                   TAB_CENTER | TAT_TITLE | TAT_PRINTF, "%d", i + 1);
+         tab_text_format (t,  2,
+                           (v * lines_per_variable) + i + 1 + cmd.sbc_contrast,
+                           TAB_CENTER | TAT_TITLE, "%d", i + 1);
 
 
          if ( bad_contrast[i])
index 8ae4076d60ba06d5364ed58cbea4955737fe1df0..c225370e459269cc572430f87e533f7a591662c4 100644 (file)
@@ -714,48 +714,44 @@ cmd_rank (struct lexer *lexer, struct dataset *ds)
 
                  if ( rank_specs[i].rfunc == NORMAL ||
                       rank_specs[i].rfunc == PROPORTION )
-                   tab_output_text (TAT_PRINTF,
-                                    _("%s into %s(%s of %s using %s BY %s)"),
-                                    var_get_name (src_vars[v]),
-                                    var_get_name (rank_specs[i].destvars[v]),
-                                    function_name[rank_specs[i].rfunc],
-                                    var_get_name (src_vars[v]),
-                                    fraction_name(),
-                                    ds_cstr (&varlist)
-                                    );
+                   tab_output_text_format (0,
+                                            _("%s into %s(%s of %s using %s BY %s)"),
+                                            var_get_name (src_vars[v]),
+                                            var_get_name (rank_specs[i].destvars[v]),
+                                            function_name[rank_specs[i].rfunc],
+                                            var_get_name (src_vars[v]),
+                                            fraction_name(),
+                                            ds_cstr (&varlist));
 
                  else
-                   tab_output_text (TAT_PRINTF,
-                                    _("%s into %s(%s of %s BY %s)"),
-                                    var_get_name (src_vars[v]),
-                                    var_get_name (rank_specs[i].destvars[v]),
-                                    function_name[rank_specs[i].rfunc],
-                                    var_get_name (src_vars[v]),
-                                    ds_cstr (&varlist)
-                                    );
+                   tab_output_text_format (0,
+                                            _("%s into %s(%s of %s BY %s)"),
+                                            var_get_name (src_vars[v]),
+                                            var_get_name (rank_specs[i].destvars[v]),
+                                            function_name[rank_specs[i].rfunc],
+                                            var_get_name (src_vars[v]),
+                                            ds_cstr (&varlist));
                  ds_destroy (&varlist);
                }
              else
                {
                  if ( rank_specs[i].rfunc == NORMAL ||
                       rank_specs[i].rfunc == PROPORTION )
-                   tab_output_text (TAT_PRINTF,
-                                    _("%s into %s(%s of %s using %s)"),
-                                    var_get_name (src_vars[v]),
-                                    var_get_name (rank_specs[i].destvars[v]),
-                                    function_name[rank_specs[i].rfunc],
-                                    var_get_name (src_vars[v]),
-                                    fraction_name()
-                                    );
+                   tab_output_text_format (0,
+                                            _("%s into %s(%s of %s using %s)"),
+                                            var_get_name (src_vars[v]),
+                                            var_get_name (rank_specs[i].destvars[v]),
+                                            function_name[rank_specs[i].rfunc],
+                                            var_get_name (src_vars[v]),
+                                            fraction_name());
 
                  else
-                   tab_output_text (TAT_PRINTF,
-                                    _("%s into %s(%s of %s)"),
-                                    var_get_name (src_vars[v]),
-                                    var_get_name (rank_specs[i].destvars[v]),
-                                    function_name[rank_specs[i].rfunc],
-                                    var_get_name (src_vars[v])
-                                    );
+                   tab_output_text_format (0,
+                                            _("%s into %s(%s of %s)"),
+                                            var_get_name (src_vars[v]),
+                                            var_get_name (rank_specs[i].destvars[v]),
+                                            function_name[rank_specs[i].rfunc],
+                                            var_get_name (src_vars[v]));
                }
            }
        }
index 14d4b841a478614b4d72d92481ade1d16be02be4..2c259d0f904c1834c7d7e1614fe4f47084bab5ee 100644 (file)
@@ -315,9 +315,9 @@ reg_stats_anova (pspp_linreg_cache * c)
 
 
   /* Degrees of freedom */
-  tab_text (t, 3, 1, TAB_RIGHT | TAT_PRINTF, "%g", c->dfm);
-  tab_text (t, 3, 2, TAB_RIGHT | TAT_PRINTF, "%g", c->dfe);
-  tab_text (t, 3, 3, TAB_RIGHT | TAT_PRINTF, "%g", c->dft);
+  tab_text_format (t, 3, 1, TAB_RIGHT, "%g", c->dfm);
+  tab_text_format (t, 3, 2, TAB_RIGHT, "%g", c->dfe);
+  tab_text_format (t, 3, 3, TAB_RIGHT, "%g", c->dft);
 
   /* Mean Squares */
   tab_double (t, 4, 1, TAB_RIGHT, msm, NULL);
index 166a4dfae129fd2b59f3bb31b494be5a47d31882..681669d18999fdac3c5516c9815b9079aae99dfb 100644 (file)
@@ -386,7 +386,7 @@ run_reliability (struct casereader *input, struct dataset *ds,
     tab_dim (tab, tab_natural_dimensions, NULL);
     tab_flags (tab, SOMF_NO_TITLE );
 
-    tab_text(tab, 0, 0, TAT_PRINTF, "Scale: %s", ds_cstr (&rel->scale_name));
+    tab_text_format (tab, 0, 0, 0, "Scale: %s", ds_cstr (&rel->scale_name));
 
     tab_submit(tab);
   }
@@ -720,8 +720,7 @@ case_processing_summary (casenumber n_valid, casenumber n_missing,
   tab_text (tbl, heading_columns, 0, TAB_CENTER | TAT_TITLE,
                _("N"));
 
-  tab_text (tbl, heading_columns + 1, 0, TAB_CENTER | TAT_TITLE | TAT_PRINTF,
-               _("%%"));
+  tab_text (tbl, heading_columns + 1, 0, TAB_CENTER | TAT_TITLE, _("%"));
 
   total = n_missing + n_valid;
 
index c0a6f47715acf6d6b69aba0a820f37905572f376..09a96cfc194930b3cc063c77056622c91455237b 100644 (file)
@@ -577,10 +577,10 @@ ssbox_independent_samples_populate (struct ssbox *ssb,
 
       tab_text (ssb->t, 0, i * 2 + 1, TAB_LEFT,
                 var_get_name (proc->vars[i]));
-      tab_text (ssb->t, 1, i * 2 + 1, TAB_LEFT | TAT_PRINTF,
-                "%s%s", prefix[0], val_lab[0]);
-      tab_text (ssb->t, 1, i * 2 + 1+ 1, TAB_LEFT | TAT_PRINTF,
-                "%s%s", prefix[1], val_lab[1]);
+      tab_text_format (ssb->t, 1, i * 2 + 1, TAB_LEFT,
+                       "%s%s", prefix[0], val_lab[0]);
+      tab_text_format (ssb->t, 1, i * 2 + 1+ 1, TAB_LEFT,
+                       "%s%s", prefix[1], val_lab[1]);
 
       /* Fill in the group statistics */
       for (count = 0; count < 2; count++)
@@ -639,7 +639,7 @@ ssbox_paired_populate (struct ssbox *ssb, struct t_test_proc *proc)
       struct pair *p = &proc->pairs[i];
       int j;
 
-      tab_text (ssb->t, 0, i * 2 + 1, TAB_LEFT | TAT_PRINTF, _("Pair %d"), i);
+      tab_text_format (ssb->t, 0, i * 2 + 1, TAB_LEFT, _("Pair %d"), i);
       for (j=0; j < 2; j++)
        {
          /* Titles */
@@ -757,9 +757,9 @@ trbox_independent_samples_init (struct trbox *self,
   tab_text (self->t, 9, 2, TAB_CENTER | TAT_TITLE, _("Lower"));
   tab_text (self->t, 10, 2, TAB_CENTER | TAT_TITLE, _("Upper"));
 
-  tab_joint_text (self->t, 9, 1, 10, 1, TAB_CENTER | TAT_PRINTF,
-                  _("%g%% Confidence Interval of the Difference"),
-                  proc->criteria * 100.0);
+  tab_joint_text_format (self->t, 9, 1, 10, 1, TAB_CENTER,
+                         _("%g%% Confidence Interval of the Difference"),
+                         proc->criteria * 100.0);
 }
 
 /* Populate the independent samples trbox */
@@ -911,9 +911,9 @@ trbox_paired_init (struct trbox *self, struct t_test_proc *proc)
   tab_hline (self->t, TAL_1, 5, 6, 2);
   tab_vline (self->t, TAL_GAP, 6, 0, 1);
 
-  tab_joint_text (self->t, 5, 1, 6, 1, TAB_CENTER | TAT_PRINTF,
-                  _("%g%% Confidence Interval of the Difference"),
-                  proc->criteria*100.0);
+  tab_joint_text_format (self->t, 5, 1, 6, 1, TAB_CENTER,
+                         _("%g%% Confidence Interval of the Difference"),
+                         proc->criteria*100.0);
 
   tab_text (self->t, 2, 2, TAB_CENTER | TAT_TITLE, _("Mean"));
   tab_text (self->t, 3, 2, TAB_CENTER | TAT_TITLE, _("Std. Deviation"));
@@ -942,10 +942,10 @@ trbox_paired_populate (struct trbox *trb,
       double t;
       double df = n - 1;
 
-      tab_text (trb->t, 0, i + 3, TAB_LEFT | TAT_PRINTF, _("Pair %d"), i);
-      tab_text (trb->t, 1, i + 3, TAB_LEFT | TAT_PRINTF, "%s - %s",
-               var_get_name (pair->v[0]),
-                var_get_name (pair->v[1]));
+      tab_text_format (trb->t, 0, i + 3, TAB_LEFT, _("Pair %d"), i);
+      tab_text_format (trb->t, 1, i + 3, TAB_LEFT, "%s - %s",
+                       var_get_name (pair->v[0]),
+                       var_get_name (pair->v[1]));
       tab_double (trb->t, 2, i + 3, TAB_RIGHT, pair->mean_diff, NULL);
       tab_double (trb->t, 3, i + 3, TAB_RIGHT, pair->std_dev_diff, NULL);
 
@@ -995,15 +995,15 @@ trbox_one_sample_init (struct trbox *self, struct t_test_proc *proc)
   tab_hline (self->t, TAL_1, 1, hsize - 1, 1);
   tab_vline (self->t, TAL_2, 1, 0, vsize - 1);
 
-  tab_joint_text (self->t, 1, 0, hsize - 1, 0, TAB_CENTER | TAT_PRINTF,
-                  _("Test Value = %f"), proc->testval);
+  tab_joint_text_format (self->t, 1, 0, hsize - 1, 0, TAB_CENTER,
+                         _("Test Value = %f"), proc->testval);
 
   tab_box (self->t, -1, -1, -1, TAL_1, 1, 1, hsize - 1, vsize - 1);
 
 
-  tab_joint_text (self->t, 5, 1, 6, 1, TAB_CENTER  | TAT_PRINTF,
-                  _("%g%% Confidence Interval of the Difference"),
-                  proc->criteria * 100.0);
+  tab_joint_text_format (self->t, 5, 1, 6, 1, TAB_CENTER,
+                         _("%g%% Confidence Interval of the Difference"),
+                         proc->criteria * 100.0);
 
   tab_vline (self->t, TAL_GAP, 6, 1, 1);
   tab_hline (self->t, TAL_1, 5, 6, 2);
@@ -1115,12 +1115,12 @@ pscbox (struct t_test_proc *proc)
                               sqrt (1 - pow2 (pair->correlation)));
 
       /* row headings */
-      tab_text (table, 0, i + 1, TAB_LEFT | TAT_TITLE | TAT_PRINTF,
-                _("Pair %d"), i);
-      tab_text (table, 1, i + 1, TAB_LEFT | TAT_TITLE | TAT_PRINTF,
-                _("%s & %s"),
-                var_get_name (pair->v[0]),
-                var_get_name (pair->v[1]));
+      tab_text_format (table, 0, i + 1, TAB_LEFT | TAT_TITLE,
+                       _("Pair %d"), i);
+      tab_text_format (table, 1, i + 1, TAB_LEFT | TAT_TITLE,
+                       _("%s & %s"),
+                       var_get_name (pair->v[0]),
+                       var_get_name (pair->v[1]));
 
       /* row data */
       tab_double (table, 2, i + 1, TAB_RIGHT, pair->n, &proc->weight_format);
index 03a307f3b8c304394bb71c380b02d39aec7cb327..310206c0e7bf88961e820c05f97831f8568da5a6 100644 (file)
@@ -324,12 +324,12 @@ show_tests_box (const struct wilcoxon_state *ws,
 
 
   tab_text (table,  0, 1,  TAB_LEFT, _("Z"));
-  tab_text (table,  0, 2,  TAB_LEFT, _("Asymp. Sig (2-tailed)"));
+  tab_text (table,  0, 2,  TAB_LEFT, _("Asymp. Sig. (2-tailed)"));
 
   if ( exact )
     {
-      tab_text (table,  0, 3,  TAB_LEFT, _("Exact Sig (2-tailed)"));
-      tab_text (table,  0, 4,  TAB_LEFT, _("Exact Sig (1-tailed)"));
+      tab_text (table,  0, 3,  TAB_LEFT, _("Exact Sig. (2-tailed)"));
+      tab_text (table,  0, 4,  TAB_LEFT, _("Exact Sig. (1-tailed)"));
 
 #if 0
       tab_text (table,  0, 5,  TAB_LEFT, _("Point Probability"));
index d264a00ef95880dc4a16155eb1305f6836f77e64..fd4e1a93839e27b453abdc9298a559f3b1b8ce6d 100644 (file)
@@ -515,189 +515,183 @@ stc_custom_disk (struct lexer *lexer, struct dataset *ds, struct cmd_set *cmd UN
   return stc_custom_listing (lexer, ds, cmd, aux);
 }
 \f
-static void
+static char *
 show_blanks (const struct dataset *ds UNUSED)
 {
-  if (settings_get_blanks () == SYSMIS)
-    msg (SN, _("BLANKS is SYSMIS."));
-  else
-    msg (SN, _("BLANKS is %g."), settings_get_blanks ());
-
+  return (settings_get_blanks () == SYSMIS
+          ? xstrdup ("SYSMIS")
+          : xasprintf ("%g", settings_get_blanks ()));
 }
 
-static char *
-format_cc (struct substring in, char grouping, char *out)
+static void
+format_cc (struct string *out, struct substring in, char grouping)
 {
   while (!ss_is_empty (in))
     {
       char c = ss_get_char (&in);
       if (c == grouping || c == '\'')
-        *out++ = '\'';
+        ds_put_char (out, '\'');
       else if (c == '"')
-        *out++ = '"';
-      *out++ = c;
+        ds_put_char (out, '"');
+      ds_put_char (out, c);
     }
-  return out;
 }
 
-static void
+static char *
 show_cc (enum fmt_type type)
 {
   const struct fmt_number_style *cc = settings_get_style (type);
-  char cc_string[FMT_STYLE_AFFIX_MAX * 4 * 2 + 3 + 1];
-  char *out;
+  struct string out;
 
-  out = format_cc (cc->neg_prefix, cc->grouping, cc_string);
-  *out++ = cc->grouping;
-  out = format_cc (cc->prefix, cc->grouping, out);
-  *out++ = cc->grouping;
-  out = format_cc (cc->suffix, cc->grouping, out);
-  *out++ = cc->grouping;
-  out = format_cc (cc->neg_suffix, cc->grouping, out);
-  *out = '\0';
+  ds_init_empty (&out);
+  format_cc (&out, cc->neg_prefix, cc->grouping);
+  ds_put_char (&out, cc->grouping);
+  format_cc (&out, cc->prefix, cc->grouping);
+  ds_put_char (&out, cc->grouping);
+  format_cc (&out, cc->suffix, cc->grouping);
+  ds_put_char (&out, cc->grouping);
+  format_cc (&out, cc->neg_suffix, cc->grouping);
 
-  msg (SN, _("%s is \"%s\"."), fmt_name (type), cc_string);
+  return ds_cstr (&out);
 }
 
-static void
+static char *
 show_cca (const struct dataset *ds UNUSED)
 {
-  show_cc (FMT_CCA);
+  return show_cc (FMT_CCA);
 }
 
-static void
+static char *
 show_ccb (const struct dataset *ds UNUSED)
 {
-  show_cc (FMT_CCB);
+  return show_cc (FMT_CCB);
 }
 
-static void
+static char *
 show_ccc (const struct dataset *ds UNUSED)
 {
-  show_cc (FMT_CCC);
+  return show_cc (FMT_CCC);
 }
 
-static void
+static char *
 show_ccd (const struct dataset *ds UNUSED)
 {
-  show_cc (FMT_CCD);
+  return show_cc (FMT_CCD);
 }
 
-static void
+static char *
 show_cce (const struct dataset *ds UNUSED)
 {
-  show_cc (FMT_CCE);
+  return show_cc (FMT_CCE);
 }
 
-static void
+static char *
 show_decimals (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("DECIMAL is \"%c\"."), settings_get_decimal_char (FMT_F));
+  return xasprintf ("\"%c\"", settings_get_decimal_char (FMT_F));
 }
 
-static void
+static char *
 show_endcmd (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("ENDCMD is \"%c\"."), settings_get_endcmd ());
+  return xasprintf ("\"%c\"", settings_get_endcmd ());
 }
 
-static void
+static char *
 show_errors (const struct dataset *ds UNUSED)
 {
   bool terminal = settings_get_error_routing_to_terminal ();
   bool listing = settings_get_error_routing_to_listing ();
-  msg (SN, _("ERRORS is \"%s\"."),
-       terminal && listing ? "BOTH"
-       : terminal ? "TERMINAL"
-       : listing ? "LISTING"
-       : "NONE");
+  return xstrdup (terminal && listing ? "BOTH"
+                  : terminal ? "TERMINAL"
+                  : listing ? "LISTING"
+                  : "NONE");
 }
 
-static void
+static char *
 show_format (const struct dataset *ds UNUSED)
 {
   char str[FMT_STRING_LEN_MAX + 1];
-  msg (SN, _("FORMAT is %s."), fmt_to_string (settings_get_format (), str));
+  return xstrdup (fmt_to_string (settings_get_format (), str));
 }
 
-static void
+static char *
 show_length (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("LENGTH is %d."), settings_get_viewlength ());
+  return xasprintf ("%d", settings_get_viewlength ());
 }
 
-static void
+static char *
 show_locale (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("LOCALE is %s"), get_default_encoding ());
+  return xstrdup (get_default_encoding ());
 }
 
-static void
+static char *
 show_mxerrs (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("MXERRS is %d."), settings_get_mxerrs ());
+  return xasprintf ("%d", settings_get_mxerrs ());
 }
 
-static void
+static char *
 show_mxloops (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("MXLOOPS is %d."), settings_get_mxloops ());
+  return xasprintf ("%d", settings_get_mxloops ());
 }
 
-static void
+static char *
 show_mxwarns (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("MXWARNS is %d."), settings_get_mxwarns ());
+  return xasprintf ("%d", settings_get_mxwarns ());
 }
 
-/* Outputs that SETTING has the given INTEGER_FORMAT value. */
-static void
-show_integer_format (const char *setting, enum integer_format integer_format)
+/* Returns a name for the given INTEGER_FORMAT value. */
+static char *
+show_integer_format (enum integer_format integer_format)
 {
-  msg (SN, _("%s is %s (%s)."),
-       setting,
-       (integer_format == INTEGER_MSB_FIRST ? "MSBFIRST"
-        : integer_format == INTEGER_LSB_FIRST ? "LSBFIRST"
-        : "VAX"),
-       integer_format == INTEGER_NATIVE ? "NATIVE" : "nonnative");
+  return xasprintf ("%s (%s)",
+                    (integer_format == INTEGER_MSB_FIRST ? "MSBFIRST"
+                     : integer_format == INTEGER_LSB_FIRST ? "LSBFIRST"
+                     : "VAX"),
+                    integer_format == INTEGER_NATIVE ? "NATIVE" : "nonnative");
 }
 
-/* Outputs that SETTING has the given FLOAT_FORMAT value. */
-static void
-show_float_format (const char *setting, enum float_format float_format)
+/* Returns a name for the given FLOAT_FORMAT value. */
+static char *
+show_float_format (enum float_format float_format)
 {
   const char *format_name = "";
 
   switch (float_format)
     {
     case FLOAT_IEEE_SINGLE_LE:
-      format_name = "ISL (32-bit IEEE 754 single, little-endian)";
+      format_name = _("ISL (32-bit IEEE 754 single, little-endian)");
       break;
     case FLOAT_IEEE_SINGLE_BE:
-      format_name = "ISB (32-bit IEEE 754 single, big-endian)";
+      format_name = _("ISB (32-bit IEEE 754 single, big-endian)");
       break;
     case FLOAT_IEEE_DOUBLE_LE:
-      format_name = "IDL (64-bit IEEE 754 double, little-endian)";
+      format_name = _("IDL (64-bit IEEE 754 double, little-endian)");
       break;
     case FLOAT_IEEE_DOUBLE_BE:
-      format_name = "IDB (64-bit IEEE 754 double, big-endian)";
+      format_name = _("IDB (64-bit IEEE 754 double, big-endian)");
       break;
 
     case FLOAT_VAX_F:
-      format_name = "VF (32-bit VAX F, VAX-endian)";
+      format_name = _("VF (32-bit VAX F, VAX-endian)");
       break;
     case FLOAT_VAX_D:
-      format_name = "VD (64-bit VAX D, VAX-endian)";
+      format_name = _("VD (64-bit VAX D, VAX-endian)");
       break;
     case FLOAT_VAX_G:
-      format_name = "VG (64-bit VAX G, VAX-endian)";
+      format_name = _("VG (64-bit VAX G, VAX-endian)");
       break;
 
     case FLOAT_Z_SHORT:
-      format_name = "ZS (32-bit IBM Z hexadecimal short, big-endian)";
+      format_name = _("ZS (32-bit IBM Z hexadecimal short, big-endian)");
       break;
     case FLOAT_Z_LONG:
-      format_name = "ZL (64-bit IBM Z hexadecimal long, big-endian)";
+      format_name = _("ZL (64-bit IBM Z hexadecimal long, big-endian)");
       break;
 
     case FLOAT_FP:
@@ -705,73 +699,64 @@ show_float_format (const char *setting, enum float_format float_format)
       NOT_REACHED ();
     }
 
-  msg (SN, _("%s is %s (%s)."),
-       setting, format_name,
-       float_format == FLOAT_NATIVE_DOUBLE ? "NATIVE" : "nonnative");
+  return xasprintf ("%s (%s)", format_name,
+                    (float_format == FLOAT_NATIVE_DOUBLE
+                     ? "NATIVE" : "nonnative"));
 }
 
-static void
+static char *
 show_rib (const struct dataset *ds UNUSED)
 {
-  show_integer_format ("RIB", settings_get_input_integer_format ());
+  return show_integer_format (settings_get_input_integer_format ());
 }
 
-static void
+static char *
 show_rrb (const struct dataset *ds UNUSED)
 {
-  show_float_format ("RRB", settings_get_input_float_format ());
+  return show_float_format (settings_get_input_float_format ());
 }
 
-static void
+static char *
 show_scompression (const struct dataset *ds UNUSED)
 {
-  if (settings_get_scompression ())
-    msg (SN, _("SCOMPRESSION is ON."));
-  else
-    msg (SN, _("SCOMPRESSION is OFF."));
+  return xstrdup (settings_get_scompression () ? "ON" : "OFF");
 }
 
-static void
+static char *
 show_undefined (const struct dataset *ds UNUSED)
 {
-  if (settings_get_undefined ())
-    msg (SN, _("UNDEFINED is WARN."));
-  else
-    msg (SN, _("UNDEFINED is NOWARN."));
+  return xstrdup (settings_get_undefined () ? "WARN" : "NOWARN");
 }
 
-static void
+static char *
 show_weight (const struct dataset *ds)
 {
   const struct variable *var = dict_get_weight (dataset_dict (ds));
-  if (var == NULL)
-    msg (SN, _("WEIGHT is off."));
-  else
-    msg (SN, _("WEIGHT is variable %s."), var_get_name (var));
+  return xstrdup (var != NULL ? var_get_name (var) : "OFF");
 }
 
-static void
+static char *
 show_wib (const struct dataset *ds UNUSED)
 {
-  show_integer_format ("WIB", settings_get_output_integer_format ());
+  return show_integer_format (settings_get_output_integer_format ());
 }
 
-static void
+static char *
 show_wrb (const struct dataset *ds UNUSED)
 {
-  show_float_format ("WRB", settings_get_output_float_format ());
+  return show_float_format (settings_get_output_float_format ());
 }
 
-static void
+static char *
 show_width (const struct dataset *ds UNUSED)
 {
-  msg (SN, _("WIDTH is %d."), settings_get_viewwidth ());
+  return xasprintf ("%d", settings_get_viewwidth ());
 }
 
 struct show_sbc
   {
     const char *name;
-    void (*function) (const struct dataset *);
+    char *(*function) (const struct dataset *);
   };
 
 const struct show_sbc show_table[] =
@@ -801,22 +786,34 @@ const struct show_sbc show_table[] =
     {"WIDTH", show_width},
   };
 
+static void
+do_show (const struct dataset *ds, const struct show_sbc *sbc)
+{
+  char *value = sbc->function (ds);
+  msg (SN, _("%s is %s."), sbc->name, value);
+  free (value);
+}
+
 static void
 show_all (const struct dataset *ds)
 {
   size_t i;
 
   for (i = 0; i < sizeof show_table / sizeof *show_table; i++)
-    show_table[i].function (ds);
+    do_show (ds, &show_table[i]);
 }
 
 static void
-show_all_cc (void)
+show_all_cc (const struct dataset *ds)
 {
   int i;
 
-  for (i = 0; i < 5; i++)
-    show_cc (i);
+  for (i = 0; i < sizeof show_table / sizeof *show_table; i++)
+    {
+      const struct show_sbc *sbc = &show_table[i];
+      if (!strncmp (sbc->name, "CC", 2))
+        do_show (ds, sbc);
+    }
 }
 
 static void
@@ -845,7 +842,7 @@ cmd_show (struct lexer *lexer, struct dataset *ds)
       if (lex_match (lexer, T_ALL))
         show_all (ds);
       else if (lex_match_id (lexer, "CC"))
-        show_all_cc ();
+        show_all_cc (ds);
       else if (lex_match_id (lexer, "WARRANTY"))
         show_warranty (ds);
       else if (lex_match_id (lexer, "COPYING"))
@@ -855,10 +852,13 @@ cmd_show (struct lexer *lexer, struct dataset *ds)
           int i;
 
           for (i = 0; i < sizeof show_table / sizeof *show_table; i++)
-            if (lex_match_id (lexer, show_table[i].name))
-              {
-                show_table[i].function (ds);
-                goto found;
+            {
+              const struct show_sbc *sbc = &show_table[i];
+              if (lex_match_id (lexer, sbc->name))
+                {
+                  do_show (ds, sbc);
+                  goto found;
+                }
               }
           lex_error (lexer, NULL);
           return CMD_FAILURE;
index cd151097d6242408c93a31dc877e4f6faffc8345..7911c8e74d3166bb48e3f0ab4dde771fbd16652f 100644 (file)
@@ -246,12 +246,10 @@ interaction_case_data (const struct ccase *ccase, const struct interaction_varia
 {
   size_t i;
   size_t n_vars;
-  const struct variable *intr;
   const struct variable *member;
   const union value **vals = NULL;
 
   n_vars = interaction_get_n_vars (iv);
-  intr = interaction_get_variable (iv);
   vals = xnmalloc (n_vars, sizeof (*vals));
 
   for (i = 0; i < n_vars; i++)
index 8028697c6b7f3410b12927a0fe7ae1d82c5a6b4b..c03af4672955f4dd20514291faf8cf06bebb49e5 100644 (file)
@@ -383,8 +383,8 @@ pspp_linreg (const gsl_vector * Y, const struct design_matrix *dm,
              gsl_matrix_set (design, j, i, tmp);
            }
        }
-      sw = gsl_matrix_calloc (cache->n_indeps + 1, cache->n_indeps + 1);
-      xtx = gsl_matrix_submatrix (sw, 0, 0, cache->n_indeps, cache->n_indeps);
+      sw = gsl_matrix_calloc (cache->n_coeffs + 1, cache->n_coeffs + 1);
+      xtx = gsl_matrix_submatrix (sw, 0, 0, cache->n_coeffs, cache->n_coeffs);
 
       for (i = 0; i < xtx.matrix.size1; i++)
        {
@@ -399,8 +399,8 @@ pspp_linreg (const gsl_vector * Y, const struct design_matrix *dm,
            }
        }
 
-      gsl_matrix_set (sw, cache->n_indeps, cache->n_indeps, cache->sst);
-      xty = gsl_matrix_column (sw, cache->n_indeps);
+      gsl_matrix_set (sw, cache->n_coeffs, cache->n_coeffs, cache->sst);
+      xty = gsl_matrix_column (sw, cache->n_coeffs);
       /*
          This loop starts at 1, with i=0 outside the loop, so we can get
          the model sum of squares due to the first independent variable.
@@ -410,7 +410,7 @@ pspp_linreg (const gsl_vector * Y, const struct design_matrix *dm,
       gsl_vector_set (&(xty.vector), 0, tmp);
       tmp *= tmp / gsl_vector_get (cache->ssx, 0);
       gsl_vector_set (cache->ss_indeps, 0, tmp);
-      for (i = 1; i < cache->n_indeps; i++)
+      for (i = 1; i < cache->n_coeffs; i++)
        {
          xi = gsl_matrix_column (design, i);
          gsl_blas_ddot (&(xi.vector), Y, &tmp);
@@ -641,7 +641,7 @@ double pspp_linreg_get_indep_variable_mean (pspp_linreg_cache *c, const struct v
       coef = pspp_linreg_get_coeff (c, v, NULL);
       return pspp_coeff_get_mean (coef);
     }
-  return GSL_NAN;
+  return 0.0;
 }
 
 void pspp_linreg_set_indep_variable_mean (pspp_linreg_cache *c, const struct variable *v, 
index 04181e44f709b9ca1d2fcb9cab3abcce207b9595..72edf17f08b7f6e9e0dec91ad8b56f5b9e87b88b 100644 (file)
@@ -373,18 +373,6 @@ tab_box (struct tab_table *t, int f_h, int f_v, int i_h, int i_v,
     }
 }
 
-/* Formats text TEXT and arguments ARGS as indicated in OPT in
-   TABLE's pool and returns the resultant string. */
-static struct substring
-text_format (struct tab_table *table, int opt, const char *text, va_list args)
-{
-  assert (table != NULL && text != NULL);
-
-  return ss_cstr (opt & TAT_PRINTF
-                  ? pool_vasprintf (table->container, text, args)
-                  : pool_strdup (table->container, text));
-}
-
 /* Set the title of table T to TITLE, which is formatted as if
    passed to printf(). */
 void
@@ -638,21 +626,14 @@ tab_double (struct tab_table *table, int c, int r, unsigned char opt,
 }
 
 
-/* Sets cell (C,R) in TABLE, with options OPT, to have text value
-   TEXT. */
-void
-tab_text (struct tab_table *table, int c, int r, unsigned opt, const char *text, ...)
+static void
+do_tab_text (struct tab_table *table, int c, int r, unsigned opt, char *text)
 {
-  va_list args;
-
-  assert (table != NULL && text != NULL);
-
-  assert (c >= 0 );
-  assert (r >= 0 );
+  assert (c >= 0);
+  assert (r >= 0);
   assert (c < table->nc);
   assert (r < table->nr);
 
-
 #if DEBUGGING
   if (c + table->col_ofs < 0 || r + table->row_ofs < 0
       || c + table->col_ofs >= table->nc
@@ -667,21 +648,38 @@ tab_text (struct tab_table *table, int c, int r, unsigned opt, const char *text,
     }
 #endif
 
-  va_start (args, text);
-  table->cc[c + r * table->cf] = text_format (table, opt, text, args);
+  table->cc[c + r * table->cf] = ss_cstr (text);
   table->ct[c + r * table->cf] = opt;
-  va_end (args);
 }
 
-/* Joins cells (X1,X2)-(Y1,Y2) inclusive in TABLE, and sets them with
-   options OPT to have text value TEXT. */
+/* Sets cell (C,R) in TABLE, with options OPT, to have text value
+   TEXT. */
 void
-tab_joint_text (struct tab_table *table, int x1, int y1, int x2, int y2,
-               unsigned opt, const char *text, ...)
+tab_text (struct tab_table *table, int c, int r, unsigned opt,
+          const char *text)
 {
-  struct tab_joined_cell *j;
+  do_tab_text (table, c, r, opt, pool_strdup (table->container, text));
+}
 
-  assert (table != NULL && text != NULL);
+/* Sets cell (C,R) in TABLE, with options OPT, to have text value
+   FORMAT, which is formatted as if passed to printf. */
+void
+tab_text_format (struct tab_table *table, int c, int r, unsigned opt,
+                 const char *format, ...)
+{
+  va_list args;
+
+  va_start (args, format);
+  do_tab_text (table, c, r, opt,
+               pool_vasprintf (table->container, format, args));
+  va_end (args);
+}
+
+static void
+do_tab_joint_text (struct tab_table *table, int x1, int y1, int x2, int y2,
+                   unsigned opt, char *text)
+{
+  struct tab_joined_cell *j;
 
   assert (x1 + table->col_ofs >= 0);
   assert (y1 + table->row_ofs >= 0);
@@ -715,14 +713,7 @@ tab_joint_text (struct tab_table *table, int x1, int y1, int x2, int y2,
   j->y1 = y1 + table->row_ofs;
   j->x2 = ++x2 + table->col_ofs;
   j->y2 = ++y2 + table->row_ofs;
-
-  {
-    va_list args;
-
-    va_start (args, text);
-    j->contents = text_format (table, opt, text, args);
-    va_end (args);
-  }
+  j->contents = ss_cstr (text);
 
   opt |= TAB_JOIN;
 
@@ -749,6 +740,31 @@ tab_joint_text (struct tab_table *table, int x1, int y1, int x2, int y2,
   }
 }
 
+/* Joins cells (X1,X2)-(Y1,Y2) inclusive in TABLE, and sets them with
+   options OPT to have text value TEXT. */
+void
+tab_joint_text (struct tab_table *table, int x1, int y1, int x2, int y2,
+                unsigned opt, const char *text)
+{
+  do_tab_joint_text (table, x1, y1, x2, y2, opt,
+                     pool_strdup (table->container, text));
+}
+
+/* Joins cells (X1,X2)-(Y1,Y2) inclusive in TABLE, and sets them
+   with options OPT to have text value FORMAT, which is formatted
+   as if passed to printf. */
+void
+tab_joint_text_format (struct tab_table *table, int x1, int y1, int x2, int y2,
+                       unsigned opt, const char *format, ...)
+{
+  va_list args;
+
+  va_start (args, format);
+  do_tab_joint_text (table, x1, y1, x2, y2, opt,
+                     pool_vasprintf (table->container, format, args));
+  va_end (args);
+}
+
 /* Sets cell (C,R) in TABLE, with options OPT, to contents STRING. */
 void
 tab_raw (struct tab_table *table, int c, int r, unsigned opt,
@@ -794,30 +810,41 @@ wrap_dim (struct tab_table *t, struct outp_driver *d, void *aux UNUSED)
   t->h[0] = tab_natural_height (t, d, 0);
 }
 
-/* Outputs text BUF as a table with a single cell having cell options
+static void
+do_tab_output_text (struct tab_table *t, int options, char *text)
+{
+  do_tab_text (t, 0, 0, options, text);
+  tab_flags (t, SOMF_NO_TITLE | SOMF_NO_SPACING);
+  tab_dim (t, options & TAT_NOWRAP ? nowrap_dim : wrap_dim, NULL);
+  tab_submit (t);
+}
+
+/* Outputs TEXT as a table with a single cell having cell options
    OPTIONS, which is a combination of the TAB_* and TAT_*
-   constants. */
+   constants.  */
 void
-tab_output_text (int options, const char *buf, ...)
+tab_output_text (int options, const char *text)
 {
-  struct tab_table *t = tab_create (1, 1, 0);
-  char *tmp_buf = NULL;
-
-  if (options & TAT_PRINTF)
-    {
-      va_list args;
+  struct tab_table *table = tab_create (1, 1, 0);
+  do_tab_output_text (table, options, pool_strdup (table->container, text));
+}
 
-      va_start (args, buf);
-      buf = tmp_buf = xvasprintf (buf, args);
-      va_end (args);
-    }
+/* Outputs FORMAT as a table with a single cell having cell
+   options OPTIONS, which is a combination of the TAB_* and TAT_*
+   constants.  FORMAT is formatted as if it was passed through
+   printf. */
+void
+tab_output_text_format (int options, const char *format, ...)
+{
+  struct tab_table *table;
+  va_list args;
 
-  tab_text (t, 0, 0, options & ~TAT_PRINTF, buf);
-  tab_flags (t, SOMF_NO_TITLE | SOMF_NO_SPACING);
-  tab_dim (t, options & TAT_NOWRAP ? nowrap_dim : wrap_dim, NULL);
-  tab_submit (t);
+  table = tab_create (1, 1, 0);
 
-  free (tmp_buf);
+  va_start (args, format);
+  do_tab_output_text (table, options,
+                      pool_vasprintf (table->container, format, args));
+  va_end (args);
 }
 
 /* Set table flags to FLAGS. */
index e138361343ba3846fe6de8ad1b63de59d3f85bc0..1748c24c855e71ec8c0212dac76d00662db76f67 100644 (file)
@@ -147,7 +147,6 @@ void tab_box (struct tab_table *, int f_h, int f_v, int i_h, int i_v,
 enum
   {
     TAT_NONE = 0,              /* No options. */
-    TAT_PRINTF = 0x0100,       /* Format the text string with sprintf. */
     TAT_TITLE = 0x0200 | TAB_EMPH, /* Title attributes. */
     TAT_NOWRAP = 0x0800         /* No text wrap (tab_output_text() only). */
   };
@@ -166,11 +165,15 @@ void tab_fixed (struct tab_table *, int c, int r, unsigned char opt,
 void tab_double (struct tab_table *, int c, int r, unsigned char opt,
                double v, const struct fmt_spec *);
 
-void tab_text (struct tab_table *, int c, int r, unsigned opt,
-              const char *, ...)
+void tab_text (struct tab_table *, int c, int r, unsigned opt, const char *);
+void tab_text_format (struct tab_table *, int c, int r, unsigned opt,
+                      const char *, ...)
      PRINTF_FORMAT (5, 6);
+
 void tab_joint_text (struct tab_table *, int x1, int y1, int x2, int y2,
-                    unsigned opt, const char *, ...)
+                    unsigned opt, const char *);
+void tab_joint_text_format (struct tab_table *, int x1, int y1, int x2, int y2,
+                            unsigned opt, const char *, ...)
      PRINTF_FORMAT (7, 8);
 
 /* Cell low-level access. */
@@ -187,7 +190,8 @@ void tab_next_row (struct tab_table *);
 #define tab_col(TABLE) ((TABLE)->col_ofs)
 
 /* Simple output. */
-void tab_output_text (int options, const char *string, ...)
+void tab_output_text (int options, const char *string);
+void tab_output_text_format (int options, const char *, ...)
      PRINTF_FORMAT (2, 3);
 
 /* Embedding the command name in the output. */
index c217833cbea5bf140f99c36cc2aa75106a8401b5..d9bc2803321e0ad2efe5411dd728b840047b5b34 100644 (file)
 #include "about.h"
 #include "helper.h"
 
+#include <gettext.h>
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
 
 static const gchar *artists[] = { "Patrick Brunier", "Dondi Bogusky", NULL};
 
 void
 about_new (GtkMenuItem *m, GtkWindow *parent)
 {
-  GtkBuilder *xml = builder_new ("psppire.ui");
-
-  GtkWidget *about =  get_widget_assert (xml, "aboutdialog1");
+  GtkWidget *about =  gtk_about_dialog_new ();
 
   GdkPixbuf *pb =
     gdk_pixbuf_new_from_file_at_size (relocate (PKGDATADIR "/pspplogo.png"),
@@ -58,6 +60,17 @@ about_new (GtkMenuItem *m, GtkWindow *parent)
   gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (about),
                                copyleft);
 
+  gtk_about_dialog_set_comments (GTK_ABOUT_DIALOG (about),
+                                _("A program for the analysis of sampled data"));
+
+  gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (about),
+                                 "Free Software Foundation");
+
+
+  /* TRANSLATORS: Use this string to list the people who have helped with
+     translation to your language. */
+  gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about),
+                                          _("translator-credits"));
 
   gtk_window_set_transient_for (GTK_WINDOW (about), parent);
 
index a6f4bb223f35612ce9a399c647444556c85c5bda..a096752897ccecf703757980637c43c786230e9c 100644 (file)
@@ -3,31 +3,6 @@
 <!--*- mode: xml -*-->
 <glade-interface>
   <requires lib="psppire"/>
-  <widget class="GtkAboutDialog" id="aboutdialog1">
-    <property name="modal">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-    <property name="copyright">Free Software Foundation</property>
-    <property name="comments" translatable="yes">This is beta status software.  Please report bugs to bug-gnu-pspp@gnu.org</property>
-    <property name="authors"></property>
-    <property name="logo">pspplogo.png</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <child>
-          <placeholder/>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
   <widget class="PsppireDialog" id="weight-cases-dialog">
     <property name="title">Weight Cases</property>
     <property name="modal">True</property>
index 746f1a670911e629e2121bf8187cb06e00f7bef4..c28c8dd478c9f6dc4dd04ea8ddd5dbb2ac27a069 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# This program tests that pspp can read gnumeric files
+# This program tests that pspp can read Gnumeric files
 
 TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/`basename $0`.sps
index ae0d39fcba50afedfa9c7f66db21af4310387d96..4242b55b6581dcd82e551392856857c7fc3919e0 100755 (executable)
@@ -107,14 +107,14 @@ cat > $TEMPDIR/results.txt <<EOF
 #============================#==#=========#============#
 
 1.2 NPAR TESTS.  Test Statistics
-#=====================#==============#
-#                     #second - first#
-#=====================#==============#
-#Z                    #          -.18#
-#Asymp. Sig (2-tailed)#           .86#
-#Exact Sig (2-tailed) #           .89#
-#Exact Sig (1-tailed) #           .45#
-#=====================#==============#
+#======================#==============#
+#                      #second - first#
+#======================#==============#
+#Z                     #          -.18#
+#Asymp. Sig. (2-tailed)#           .86#
+#Exact Sig. (2-tailed) #           .89#
+#Exact Sig. (1-tailed) #           .45#
+#======================#==============#
 
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
index 897d48ffb59bf26d832c1d069f4173ed1c0ee9b5..85f3644211d3171423239c59b14ab7136f28b36a 100644 (file)
@@ -583,13 +583,18 @@ read_machine_float_info (struct sfm_reader *r, size_t size, size_t count)
 
   printf ("\tsysmis: %g\n", sysmis);
   if (sysmis != SYSMIS)
-    sys_warn (r, _("File specifies unexpected value %g as SYSMIS."), sysmis);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              sysmis, "SYSMIS");
+
   printf ("\thighest: %g\n", highest);
   if (highest != HIGHEST)
-    sys_warn (r, _("File specifies unexpected value %g as HIGHEST."), highest);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              highest, "HIGHEST");
+
   printf ("\tlowest: %g\n", lowest);
   if (lowest != LOWEST)
-    sys_warn (r, _("File specifies unexpected value %g as LOWEST."), lowest);
+    sys_warn (r, _("File specifies unexpected value %g as %s."),
+              lowest, "LOWEST");
 }
 
 /* Read record type 7, subtype 11. */